wallet-core/emscripten/taler-emscripten-lib.js
2018-09-20 21:11:09 +02:00

121329 lines
3.7 MiB

// The Module object: Our interface to the outside world. We import
// and export values on it. There are various ways Module can be used:
// 1. Not defined. We create it here
// 2. A function parameter, function(Module) { ..generated code.. }
// 3. pre-run appended it, var Module = {}; ..generated code..
// 4. External script tag defines var Module.
// We need to check if Module already exists (e.g. case 3 above).
// Substitution will be replaced with actual code on later stage of the build,
// this way Closure Compiler will not mangle it (e.g. case 4. above).
// Note that if you want to run closure, and also to use Module
// after the generated code, you will need to define var Module = {};
// before the code. Then that object will be used in the code, and you
// can continue to use Module afterwards as well.
var Module = typeof TalerEmscriptenLib !== 'undefined' ? TalerEmscriptenLib : {};
// --pre-jses are emitted after the Module integration code, so that they can
// refer to Module (if they choose; they can also define Module)
// {{PRE_JSES}}
// Sometimes an existing Module object exists with properties
// meant to overwrite the default module functionality. Here
// we collect those properties and reapply _after_ we configure
// the current environment's defaults to avoid having to be so
// defensive during initialization.
var moduleOverrides = {};
var key;
for (key in Module) {
if (Module.hasOwnProperty(key)) {
moduleOverrides[key] = Module[key];
}
}
Module['arguments'] = [];
Module['thisProgram'] = './this.program';
Module['quit'] = function(status, toThrow) {
throw toThrow;
};
Module['preRun'] = [];
Module['postRun'] = [];
// Determine the runtime environment we are in. You can customize this by
// setting the ENVIRONMENT setting at compile time (see settings.js).
var ENVIRONMENT_IS_WEB = false;
var ENVIRONMENT_IS_WORKER = false;
var ENVIRONMENT_IS_NODE = false;
var ENVIRONMENT_IS_SHELL = false;
ENVIRONMENT_IS_WEB = typeof window === 'object';
ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
if (Module['ENVIRONMENT']) {
throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)');
}
// Three configurations we can be running in:
// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false)
// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false)
// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true)
assert(typeof Module['memoryInitializerPrefixURL'] === 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead');
assert(typeof Module['pthreadMainPrefixURL'] === 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead');
assert(typeof Module['cdInitializerPrefixURL'] === 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead');
assert(typeof Module['filePackagePrefixURL'] === 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead');
// `/` should be present at the end if `scriptDirectory` is not empty
var scriptDirectory = '';
function locateFile(path) {
if (Module['locateFile']) {
return Module['locateFile'](path, scriptDirectory);
} else {
return scriptDirectory + path;
}
}
if (ENVIRONMENT_IS_NODE) {
scriptDirectory = __dirname + '/';
// Expose functionality in the same simple way that the shells work
// Note that we pollute the global namespace here, otherwise we break in node
var nodeFS;
var nodePath;
Module['read'] = function shell_read(filename, binary) {
var ret;
ret = tryParseAsDataURI(filename);
if (!ret) {
if (!nodeFS) nodeFS = require('fs');
if (!nodePath) nodePath = require('path');
filename = nodePath['normalize'](filename);
ret = nodeFS['readFileSync'](filename);
}
return binary ? ret : ret.toString();
};
Module['readBinary'] = function readBinary(filename) {
var ret = Module['read'](filename, true);
if (!ret.buffer) {
ret = new Uint8Array(ret);
}
assert(ret.buffer);
return ret;
};
if (process['argv'].length > 1) {
Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/');
}
Module['arguments'] = process['argv'].slice(2);
if (typeof module !== 'undefined') {
module['exports'] = Module;
}
process['on']('uncaughtException', function(ex) {
// suppress ExitStatus exceptions from showing an error
if (!(ex instanceof ExitStatus)) {
throw ex;
}
});
// Currently node will swallow unhandled rejections, but this behavior is
// deprecated, and in the future it will exit with error status.
process['on']('unhandledRejection', function(reason, p) {
err('node.js exiting due to unhandled promise rejection');
process['exit'](1);
});
Module['quit'] = function(status) {
process['exit'](status);
};
Module['inspect'] = function () { return '[Emscripten Module object]'; };
} else
if (ENVIRONMENT_IS_SHELL) {
if (typeof read != 'undefined') {
Module['read'] = function shell_read(f) {
var data = tryParseAsDataURI(f);
if (data) {
return intArrayToString(data);
}
return read(f);
};
}
Module['readBinary'] = function readBinary(f) {
var data;
data = tryParseAsDataURI(f);
if (data) {
return data;
}
if (typeof readbuffer === 'function') {
return new Uint8Array(readbuffer(f));
}
data = read(f, 'binary');
assert(typeof data === 'object');
return data;
};
if (typeof scriptArgs != 'undefined') {
Module['arguments'] = scriptArgs;
} else if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
if (typeof quit === 'function') {
Module['quit'] = function(status) {
quit(status);
}
}
} else
if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
if (ENVIRONMENT_IS_WEB) {
if (document.currentScript) {
scriptDirectory = document.currentScript.src;
}
} else { // worker
scriptDirectory = self.location.href;
}
// blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
// otherwise, slice off the final part of the url to find the script directory.
// if scriptDirectory does not contain a slash, lastIndexOf will return -1,
// and scriptDirectory will correctly be replaced with an empty string.
if (scriptDirectory.indexOf('blob:') !== 0) {
scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1);
} else {
scriptDirectory = '';
}
Module['read'] = function shell_read(url) {
try {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
xhr.send(null);
return xhr.responseText;
} catch (err) {
var data = tryParseAsDataURI(url);
if (data) {
return intArrayToString(data);
}
throw err;
}
};
if (ENVIRONMENT_IS_WORKER) {
Module['readBinary'] = function readBinary(url) {
try {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
xhr.responseType = 'arraybuffer';
xhr.send(null);
return new Uint8Array(xhr.response);
} catch (err) {
var data = tryParseAsDataURI(url);
if (data) {
return data;
}
throw err;
}
};
}
Module['readAsync'] = function readAsync(url, onload, onerror) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function xhr_onload() {
if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
onload(xhr.response);
return;
}
var data = tryParseAsDataURI(url);
if (data) {
onload(data.buffer);
return;
}
onerror();
};
xhr.onerror = onerror;
xhr.send(null);
};
Module['setWindowTitle'] = function(title) { document.title = title };
} else
{
throw new Error('environment detection error');
}
// Set up the out() and err() hooks, which are how we can print to stdout or
// stderr, respectively.
// If the user provided Module.print or printErr, use that. Otherwise,
// console.log is checked first, as 'print' on the web will open a print dialogue
// printErr is preferable to console.warn (works better in shells)
// bind(console) is necessary to fix IE/Edge closed dev tools panel behavior.
var out = Module['print'] || (typeof console !== 'undefined' ? console.log.bind(console) : (typeof print !== 'undefined' ? print : null));
var err = Module['printErr'] || (typeof printErr !== 'undefined' ? printErr : ((typeof console !== 'undefined' && console.warn.bind(console)) || out));
// Merge back in the overrides
for (key in moduleOverrides) {
if (moduleOverrides.hasOwnProperty(key)) {
Module[key] = moduleOverrides[key];
}
}
// Free the object hierarchy contained in the overrides, this lets the GC
// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.
moduleOverrides = undefined;
// {{PREAMBLE_ADDITIONS}}
var STACK_ALIGN = 16;
// stack management, and other functionality that is provided by the compiled code,
// should not be used before it is ready
stackSave = stackRestore = stackAlloc = setTempRet0 = getTempRet0 = function() {
abort('cannot use the stack before compiled code is ready to run, and has provided stack access');
};
function staticAlloc(size) {
assert(!staticSealed);
var ret = STATICTOP;
STATICTOP = (STATICTOP + size + 15) & -16;
assert(STATICTOP < TOTAL_MEMORY, 'not enough memory for static allocation - increase TOTAL_MEMORY');
return ret;
}
function dynamicAlloc(size) {
assert(DYNAMICTOP_PTR);
var ret = HEAP32[DYNAMICTOP_PTR>>2];
var end = (ret + size + 15) & -16;
HEAP32[DYNAMICTOP_PTR>>2] = end;
if (end >= TOTAL_MEMORY) {
var success = enlargeMemory();
if (!success) {
HEAP32[DYNAMICTOP_PTR>>2] = ret;
return 0;
}
}
return ret;
}
function alignMemory(size, factor) {
if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default
var ret = size = Math.ceil(size / factor) * factor;
return ret;
}
function getNativeTypeSize(type) {
switch (type) {
case 'i1': case 'i8': return 1;
case 'i16': return 2;
case 'i32': return 4;
case 'i64': return 8;
case 'float': return 4;
case 'double': return 8;
default: {
if (type[type.length-1] === '*') {
return 4; // A pointer
} else if (type[0] === 'i') {
var bits = parseInt(type.substr(1));
assert(bits % 8 === 0);
return bits / 8;
} else {
return 0;
}
}
}
}
function warnOnce(text) {
if (!warnOnce.shown) warnOnce.shown = {};
if (!warnOnce.shown[text]) {
warnOnce.shown[text] = 1;
err(text);
}
}
var asm2wasmImports = { // special asm2wasm imports
"f64-rem": function(x, y) {
return x % y;
},
"debugger": function() {
debugger;
}
};
var jsCallStartIndex = 1;
var functionPointers = new Array(0);
// 'sig' parameter is only used on LLVM wasm backend
function addFunction(func, sig) {
if (typeof sig === 'undefined') {
err('warning: addFunction(): You should provide a wasm function signature string as a second argument. This is not necessary for asm.js and asm2wasm, but is required for the LLVM wasm backend, so it is recommended for full portability.');
}
var base = 0;
for (var i = base; i < base + 0; i++) {
if (!functionPointers[i]) {
functionPointers[i] = func;
return jsCallStartIndex + i;
}
}
throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.';
}
function removeFunction(index) {
functionPointers[index-jsCallStartIndex] = null;
}
var funcWrappers = {};
function getFuncWrapper(func, sig) {
if (!func) return; // on null pointer, return undefined
assert(sig);
if (!funcWrappers[sig]) {
funcWrappers[sig] = {};
}
var sigCache = funcWrappers[sig];
if (!sigCache[func]) {
// optimize away arguments usage in common cases
if (sig.length === 1) {
sigCache[func] = function dynCall_wrapper() {
return dynCall(sig, func);
};
} else if (sig.length === 2) {
sigCache[func] = function dynCall_wrapper(arg) {
return dynCall(sig, func, [arg]);
};
} else {
// general case
sigCache[func] = function dynCall_wrapper() {
return dynCall(sig, func, Array.prototype.slice.call(arguments));
};
}
}
return sigCache[func];
}
function makeBigInt(low, high, unsigned) {
return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0));
}
function dynCall(sig, ptr, args) {
if (args && args.length) {
assert(args.length == sig.length-1);
assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
return Module['dynCall_' + sig].apply(null, [ptr].concat(args));
} else {
assert(sig.length == 1);
assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
return Module['dynCall_' + sig].call(null, ptr);
}
}
function getCompilerSetting(name) {
throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for getCompilerSetting or emscripten_get_compiler_setting to work';
}
var Runtime = {
// FIXME backwards compatibility layer for ports. Support some Runtime.*
// for now, fix it there, then remove it from here. That way we
// can minimize any period of breakage.
dynCall: dynCall, // for SDL2 port
// helpful errors
getTempRet0: function() { abort('getTempRet0() is now a top-level function, after removing the Runtime object. Remove "Runtime."') },
staticAlloc: function() { abort('staticAlloc() is now a top-level function, after removing the Runtime object. Remove "Runtime."') },
stackAlloc: function() { abort('stackAlloc() is now a top-level function, after removing the Runtime object. Remove "Runtime."') },
};
// The address globals begin at. Very low in memory, for code size and optimization opportunities.
// Above 0 is static memory, starting with globals.
// Then the stack.
// Then 'dynamic' memory for sbrk.
var GLOBAL_BASE = 8;
// === Preamble library stuff ===
// Documentation for the public APIs defined in this file must be updated in:
// site/source/docs/api_reference/preamble.js.rst
// A prebuilt local version of the documentation is available at:
// site/build/text/docs/api_reference/preamble.js.txt
// You can also build docs locally as HTML or other formats in site/
// An online HTML version (which may be of a different version of Emscripten)
// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
//========================================
// Runtime essentials
//========================================
// whether we are quitting the application. no code should run after this.
// set in exit() and abort()
var ABORT = false;
// set by exit() and abort(). Passed to 'onExit' handler.
// NOTE: This is also used as the process return code code in shell environments
// but only when noExitRuntime is false.
var EXITSTATUS = 0;
/** @type {function(*, string=)} */
function assert(condition, text) {
if (!condition) {
abort('Assertion failed: ' + text);
}
}
var globalScope = this;
// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
function getCFunc(ident) {
var func = Module['_' + ident]; // closure exported function
assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported');
return func;
}
var JSfuncs = {
// Helpers for cwrap -- it can't refer to Runtime directly because it might
// be renamed by closure, instead it calls JSfuncs['stackSave'].body to find
// out what the minified function name is.
'stackSave': function() {
stackSave()
},
'stackRestore': function() {
stackRestore()
},
// type conversion from js to c
'arrayToC' : function(arr) {
var ret = stackAlloc(arr.length);
writeArrayToMemory(arr, ret);
return ret;
},
'stringToC' : function(str) {
var ret = 0;
if (str !== null && str !== undefined && str !== 0) { // null string
// at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
var len = (str.length << 2) + 1;
ret = stackAlloc(len);
stringToUTF8(str, ret, len);
}
return ret;
}
};
// For fast lookup of conversion functions
var toC = {
'string': JSfuncs['stringToC'], 'array': JSfuncs['arrayToC']
};
// C calling interface.
function ccall(ident, returnType, argTypes, args, opts) {
function convertReturnValue(ret) {
if (returnType === 'string') return Pointer_stringify(ret);
if (returnType === 'boolean') return Boolean(ret);
return ret;
}
var func = getCFunc(ident);
var cArgs = [];
var stack = 0;
assert(returnType !== 'array', 'Return type should not be "array".');
if (args) {
for (var i = 0; i < args.length; i++) {
var converter = toC[argTypes[i]];
if (converter) {
if (stack === 0) stack = stackSave();
cArgs[i] = converter(args[i]);
} else {
cArgs[i] = args[i];
}
}
}
var ret = func.apply(null, cArgs);
ret = convertReturnValue(ret);
if (stack !== 0) stackRestore(stack);
return ret;
}
function cwrap(ident, returnType, argTypes, opts) {
return function() {
return ccall(ident, returnType, argTypes, arguments, opts);
}
}
/** @type {function(number, number, string, boolean=)} */
function setValue(ptr, value, type, noSafe) {
type = type || 'i8';
if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
switch(type) {
case 'i1': HEAP8[((ptr)>>0)]=value; break;
case 'i8': HEAP8[((ptr)>>0)]=value; break;
case 'i16': HEAP16[((ptr)>>1)]=value; break;
case 'i32': HEAP32[((ptr)>>2)]=value; break;
case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break;
case 'float': HEAPF32[((ptr)>>2)]=value; break;
case 'double': HEAPF64[((ptr)>>3)]=value; break;
default: abort('invalid type for setValue: ' + type);
}
}
/** @type {function(number, string, boolean=)} */
function getValue(ptr, type, noSafe) {
type = type || 'i8';
if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
switch(type) {
case 'i1': return HEAP8[((ptr)>>0)];
case 'i8': return HEAP8[((ptr)>>0)];
case 'i16': return HEAP16[((ptr)>>1)];
case 'i32': return HEAP32[((ptr)>>2)];
case 'i64': return HEAP32[((ptr)>>2)];
case 'float': return HEAPF32[((ptr)>>2)];
case 'double': return HEAPF64[((ptr)>>3)];
default: abort('invalid type for getValue: ' + type);
}
return null;
}
var ALLOC_NORMAL = 0; // Tries to use _malloc()
var ALLOC_STACK = 1; // Lives for the duration of the current function call
var ALLOC_STATIC = 2; // Cannot be freed
var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk
var ALLOC_NONE = 4; // Do not allocate
// allocate(): This is for internal use. You can use it yourself as well, but the interface
// is a little tricky (see docs right below). The reason is that it is optimized
// for multiple syntaxes to save space in generated code. So you should
// normally not use allocate(), and instead allocate memory using _malloc(),
// initialize it with setValue(), and so forth.
// @slab: An array of data, or a number. If a number, then the size of the block to allocate,
// in *bytes* (note that this is sometimes confusing: the next parameter does not
// affect this!)
// @types: Either an array of types, one for each byte (or 0 if no type at that position),
// or a single type which is used for the entire block. This only matters if there
// is initial data - if @slab is a number, then this does not matter at all and is
// ignored.
// @allocator: How to allocate memory, see ALLOC_*
/** @type {function((TypedArray|Array<number>|number), string, number, number=)} */
function allocate(slab, types, allocator, ptr) {
var zeroinit, size;
if (typeof slab === 'number') {
zeroinit = true;
size = slab;
} else {
zeroinit = false;
size = slab.length;
}
var singleType = typeof types === 'string' ? types : null;
var ret;
if (allocator == ALLOC_NONE) {
ret = ptr;
} else {
ret = [typeof _malloc === 'function' ? _malloc : staticAlloc, stackAlloc, staticAlloc, dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
}
if (zeroinit) {
var stop;
ptr = ret;
assert((ret & 3) == 0);
stop = ret + (size & ~3);
for (; ptr < stop; ptr += 4) {
HEAP32[((ptr)>>2)]=0;
}
stop = ret + size;
while (ptr < stop) {
HEAP8[((ptr++)>>0)]=0;
}
return ret;
}
if (singleType === 'i8') {
if (slab.subarray || slab.slice) {
HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret);
} else {
HEAPU8.set(new Uint8Array(slab), ret);
}
return ret;
}
var i = 0, type, typeSize, previousType;
while (i < size) {
var curr = slab[i];
type = singleType || types[i];
if (type === 0) {
i++;
continue;
}
assert(type, 'Must know what type to store in allocate!');
if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later
setValue(ret+i, curr, type);
// no need to look up size unless type changes, so cache it
if (previousType !== type) {
typeSize = getNativeTypeSize(type);
previousType = type;
}
i += typeSize;
}
return ret;
}
// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready
function getMemory(size) {
if (!staticSealed) return staticAlloc(size);
if (!runtimeInitialized) return dynamicAlloc(size);
return _malloc(size);
}
/** @type {function(number, number=)} */
function Pointer_stringify(ptr, length) {
if (length === 0 || !ptr) return '';
// Find the length, and check for UTF while doing so
var hasUtf = 0;
var t;
var i = 0;
while (1) {
assert(ptr + i < TOTAL_MEMORY);
t = HEAPU8[(((ptr)+(i))>>0)];
hasUtf |= t;
if (t == 0 && !length) break;
i++;
if (length && i == length) break;
}
if (!length) length = i;
var ret = '';
if (hasUtf < 128) {
var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack
var curr;
while (length > 0) {
curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));
ret = ret ? ret + curr : curr;
ptr += MAX_CHUNK;
length -= MAX_CHUNK;
}
return ret;
}
return UTF8ToString(ptr);
}
// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns
// a copy of that string as a Javascript String object.
function AsciiToString(ptr) {
var str = '';
while (1) {
var ch = HEAP8[((ptr++)>>0)];
if (!ch) return str;
str += String.fromCharCode(ch);
}
}
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP.
function stringToAscii(str, outPtr) {
return writeAsciiToMemory(str, outPtr, false);
}
// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns
// a copy of that string as a Javascript String object.
var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined;
function UTF8ArrayToString(u8Array, idx) {
var endPtr = idx;
// TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
// Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
while (u8Array[endPtr]) ++endPtr;
if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
} else {
var u0, u1, u2, u3, u4, u5;
var str = '';
while (1) {
// For UTF8 byte structure, see:
// http://en.wikipedia.org/wiki/UTF-8#Description
// https://www.ietf.org/rfc/rfc2279.txt
// https://tools.ietf.org/html/rfc3629
u0 = u8Array[idx++];
if (!u0) return str;
if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }
u1 = u8Array[idx++] & 63;
if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }
u2 = u8Array[idx++] & 63;
if ((u0 & 0xF0) == 0xE0) {
u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
} else {
u3 = u8Array[idx++] & 63;
if ((u0 & 0xF8) == 0xF0) {
u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;
} else {
u4 = u8Array[idx++] & 63;
if ((u0 & 0xFC) == 0xF8) {
u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4;
} else {
u5 = u8Array[idx++] & 63;
u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5;
}
}
}
if (u0 < 0x10000) {
str += String.fromCharCode(u0);
} else {
var ch = u0 - 0x10000;
str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
}
}
}
}
// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns
// a copy of that string as a Javascript String object.
function UTF8ToString(ptr) {
return UTF8ArrayToString(HEAPU8,ptr);
}
// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx',
// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP.
// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write.
// Parameters:
// str: the Javascript string to copy.
// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element.
// outIdx: The starting offset in the array to begin the copying.
// maxBytesToWrite: The maximum number of bytes this function can write to the array.
// This count should include the null terminator,
// i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.
// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator.
// Returns the number of bytes written, EXCLUDING the null terminator.
function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes.
return 0;
var startIdx = outIdx;
var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator.
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
// See http://unicode.org/faq/utf_bom.html#utf16-3
// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
var u = str.charCodeAt(i); // possibly a lead surrogate
if (u >= 0xD800 && u <= 0xDFFF) {
var u1 = str.charCodeAt(++i);
u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);
}
if (u <= 0x7F) {
if (outIdx >= endIdx) break;
outU8Array[outIdx++] = u;
} else if (u <= 0x7FF) {
if (outIdx + 1 >= endIdx) break;
outU8Array[outIdx++] = 0xC0 | (u >> 6);
outU8Array[outIdx++] = 0x80 | (u & 63);
} else if (u <= 0xFFFF) {
if (outIdx + 2 >= endIdx) break;
outU8Array[outIdx++] = 0xE0 | (u >> 12);
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
outU8Array[outIdx++] = 0x80 | (u & 63);
} else if (u <= 0x1FFFFF) {
if (outIdx + 3 >= endIdx) break;
outU8Array[outIdx++] = 0xF0 | (u >> 18);
outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
outU8Array[outIdx++] = 0x80 | (u & 63);
} else if (u <= 0x3FFFFFF) {
if (outIdx + 4 >= endIdx) break;
outU8Array[outIdx++] = 0xF8 | (u >> 24);
outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
outU8Array[outIdx++] = 0x80 | (u & 63);
} else {
if (outIdx + 5 >= endIdx) break;
outU8Array[outIdx++] = 0xFC | (u >> 30);
outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
outU8Array[outIdx++] = 0x80 | (u & 63);
}
}
// Null-terminate the pointer to the buffer.
outU8Array[outIdx] = 0;
return outIdx - startIdx;
}
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP.
// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write.
// Returns the number of bytes written, EXCLUDING the null terminator.
function stringToUTF8(str, outPtr, maxBytesToWrite) {
assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite);
}
// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte.
function lengthBytesUTF8(str) {
var len = 0;
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
// See http://unicode.org/faq/utf_bom.html#utf16-3
var u = str.charCodeAt(i); // possibly a lead surrogate
if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
if (u <= 0x7F) {
++len;
} else if (u <= 0x7FF) {
len += 2;
} else if (u <= 0xFFFF) {
len += 3;
} else if (u <= 0x1FFFFF) {
len += 4;
} else if (u <= 0x3FFFFFF) {
len += 5;
} else {
len += 6;
}
}
return len;
}
// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns
// a copy of that string as a Javascript String object.
var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined;
function UTF16ToString(ptr) {
assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!');
var endPtr = ptr;
// TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
// Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
var idx = endPtr >> 1;
while (HEAP16[idx]) ++idx;
endPtr = idx << 1;
if (endPtr - ptr > 32 && UTF16Decoder) {
return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr));
} else {
var i = 0;
var str = '';
while (1) {
var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
if (codeUnit == 0) return str;
++i;
// fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.
str += String.fromCharCode(codeUnit);
}
}
}
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP.
// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write.
// Parameters:
// str: the Javascript string to copy.
// outPtr: Byte address in Emscripten HEAP where to write the string to.
// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else.
// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator.
// Returns the number of bytes written, EXCLUDING the null terminator.
function stringToUTF16(str, outPtr, maxBytesToWrite) {
assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!');
assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
// Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
if (maxBytesToWrite === undefined) {
maxBytesToWrite = 0x7FFFFFFF;
}
if (maxBytesToWrite < 2) return 0;
maxBytesToWrite -= 2; // Null terminator.
var startPtr = outPtr;
var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length;
for (var i = 0; i < numCharsToWrite; ++i) {
// charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
HEAP16[((outPtr)>>1)]=codeUnit;
outPtr += 2;
}
// Null-terminate the pointer to the HEAP.
HEAP16[((outPtr)>>1)]=0;
return outPtr - startPtr;
}
// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
function lengthBytesUTF16(str) {
return str.length*2;
}
function UTF32ToString(ptr) {
assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!');
var i = 0;
var str = '';
while (1) {
var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
if (utf32 == 0)
return str;
++i;
// Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
// See http://unicode.org/faq/utf_bom.html#utf16-3
if (utf32 >= 0x10000) {
var ch = utf32 - 0x10000;
str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
} else {
str += String.fromCharCode(utf32);
}
}
}
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP.
// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write.
// Parameters:
// str: the Javascript string to copy.
// outPtr: Byte address in Emscripten HEAP where to write the string to.
// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else.
// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator.
// Returns the number of bytes written, EXCLUDING the null terminator.
function stringToUTF32(str, outPtr, maxBytesToWrite) {
assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!');
assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
// Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
if (maxBytesToWrite === undefined) {
maxBytesToWrite = 0x7FFFFFFF;
}
if (maxBytesToWrite < 4) return 0;
var startPtr = outPtr;
var endPtr = startPtr + maxBytesToWrite - 4;
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
// See http://unicode.org/faq/utf_bom.html#utf16-3
var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) {
var trailSurrogate = str.charCodeAt(++i);
codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF);
}
HEAP32[((outPtr)>>2)]=codeUnit;
outPtr += 4;
if (outPtr + 4 > endPtr) break;
}
// Null-terminate the pointer to the HEAP.
HEAP32[((outPtr)>>2)]=0;
return outPtr - startPtr;
}
// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
function lengthBytesUTF32(str) {
var len = 0;
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
// See http://unicode.org/faq/utf_bom.html#utf16-3
var codeUnit = str.charCodeAt(i);
if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate.
len += 4;
}
return len;
}
// Allocate heap space for a JS string, and write it there.
// It is the responsibility of the caller to free() that memory.
function allocateUTF8(str) {
var size = lengthBytesUTF8(str) + 1;
var ret = _malloc(size);
if (ret) stringToUTF8Array(str, HEAP8, ret, size);
return ret;
}
// Allocate stack space for a JS string, and write it there.
function allocateUTF8OnStack(str) {
var size = lengthBytesUTF8(str) + 1;
var ret = stackAlloc(size);
stringToUTF8Array(str, HEAP8, ret, size);
return ret;
}
function demangle(func) {
warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling');
return func;
}
function demangleAll(text) {
var regex =
/__Z[\w\d_]+/g;
return text.replace(regex,
function(x) {
var y = demangle(x);
return x === y ? x : (x + ' [' + y + ']');
});
}
function jsStackTrace() {
var err = new Error();
if (!err.stack) {
// IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,
// so try that as a special-case.
try {
throw new Error(0);
} catch(e) {
err = e;
}
if (!err.stack) {
return '(no stack trace available)';
}
}
return err.stack.toString();
}
function stackTrace() {
var js = jsStackTrace();
if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']();
return demangleAll(js);
}
// Memory management
var PAGE_SIZE = 16384;
var WASM_PAGE_SIZE = 65536;
var ASMJS_PAGE_SIZE = 16777216;
var MIN_TOTAL_MEMORY = 16777216;
function alignUp(x, multiple) {
if (x % multiple > 0) {
x += multiple - (x % multiple);
}
return x;
}
var HEAP,
/** @type {ArrayBuffer} */
buffer,
/** @type {Int8Array} */
HEAP8,
/** @type {Uint8Array} */
HEAPU8,
/** @type {Int16Array} */
HEAP16,
/** @type {Uint16Array} */
HEAPU16,
/** @type {Int32Array} */
HEAP32,
/** @type {Uint32Array} */
HEAPU32,
/** @type {Float32Array} */
HEAPF32,
/** @type {Float64Array} */
HEAPF64;
function updateGlobalBuffer(buf) {
Module['buffer'] = buffer = buf;
}
function updateGlobalBufferViews() {
Module['HEAP8'] = HEAP8 = new Int8Array(buffer);
Module['HEAP16'] = HEAP16 = new Int16Array(buffer);
Module['HEAP32'] = HEAP32 = new Int32Array(buffer);
Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer);
Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer);
Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer);
Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer);
Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer);
}
var STATIC_BASE, STATICTOP, staticSealed; // static area
var STACK_BASE, STACKTOP, STACK_MAX; // stack area
var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk
STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0;
staticSealed = false;
// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode.
function writeStackCookie() {
assert((STACK_MAX & 3) == 0);
HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467;
HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE;
}
function checkStackCookie() {
if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) {
abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16));
}
// Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own.
if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!';
}
function abortStackOverflow(allocSize) {
abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - stackSave() + allocSize) + ' bytes available!');
}
function abortOnCannotGrowMemory() {
abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ');
}
function enlargeMemory() {
abortOnCannotGrowMemory();
}
var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
if (TOTAL_MEMORY < TOTAL_STACK) err('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')');
// Initialize the runtime's memory
// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined,
'JS engine does not provide full typed array support');
// Use a provided buffer, if there is one, or else allocate a new one
if (Module['buffer']) {
buffer = Module['buffer'];
assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength);
} else {
// Use a WebAssembly memory where available
{
buffer = new ArrayBuffer(TOTAL_MEMORY);
}
assert(buffer.byteLength === TOTAL_MEMORY);
Module['buffer'] = buffer;
}
updateGlobalBufferViews();
function getTotalMemory() {
return TOTAL_MEMORY;
}
// Endianness check (note: assumes compiler arch was little-endian)
HEAP32[0] = 0x63736d65; /* 'emsc' */
HEAP16[1] = 0x6373;
if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!';
function callRuntimeCallbacks(callbacks) {
while(callbacks.length > 0) {
var callback = callbacks.shift();
if (typeof callback == 'function') {
callback();
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__ = []; // functions called before the runtime is initialized
var __ATINIT__ = []; // functions called during startup
var __ATMAIN__ = []; // functions called when main() is to be run
var __ATEXIT__ = []; // functions called during shutdown
var __ATPOSTRUN__ = []; // functions called after the main() is called
var runtimeInitialized = false;
var runtimeExited = false;
function preRun() {
// compatibility - merge in anything from Module['preRun'] at this time
if (Module['preRun']) {
if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
while (Module['preRun'].length) {
addOnPreRun(Module['preRun'].shift());
}
}
callRuntimeCallbacks(__ATPRERUN__);
}
function ensureInitRuntime() {
checkStackCookie();
if (runtimeInitialized) return;
runtimeInitialized = true;
callRuntimeCallbacks(__ATINIT__);
}
function preMain() {
checkStackCookie();
callRuntimeCallbacks(__ATMAIN__);
}
function exitRuntime() {
checkStackCookie();
callRuntimeCallbacks(__ATEXIT__);
runtimeExited = true;
}
function postRun() {
checkStackCookie();
// compatibility - merge in anything from Module['postRun'] at this time
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 addOnInit(cb) {
__ATINIT__.unshift(cb);
}
function addOnPreMain(cb) {
__ATMAIN__.unshift(cb);
}
function addOnExit(cb) {
__ATEXIT__.unshift(cb);
}
function addOnPostRun(cb) {
__ATPOSTRUN__.unshift(cb);
}
// Deprecated: This function should not be called because it is unsafe and does not provide
// a maximum length limit of how many bytes it is allowed to write. Prefer calling the
// function stringToUTF8Array() instead, which takes in a maximum length that can be used
// to be secure from out of bounds writes.
/** @deprecated */
function writeStringToMemory(string, buffer, dontAddNull) {
warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!');
var /** @type {number} */ lastChar, /** @type {number} */ end;
if (dontAddNull) {
// stringToUTF8Array always appends null. If we don't want to do that, remember the
// character that existed at the location where the null will be placed, and restore
// that after the write (below).
end = buffer + lengthBytesUTF8(string);
lastChar = HEAP8[end];
}
stringToUTF8(string, buffer, Infinity);
if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character.
}
function writeArrayToMemory(array, buffer) {
assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)')
HEAP8.set(array, buffer);
}
function writeAsciiToMemory(str, buffer, dontAddNull) {
for (var i = 0; i < str.length; ++i) {
assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff);
HEAP8[((buffer++)>>0)]=str.charCodeAt(i);
}
// Null-terminate the pointer to the HEAP.
if (!dontAddNull) HEAP8[((buffer)>>0)]=0;
}
function unSign(value, bits, ignore) {
if (value >= 0) {
return value;
}
return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts
: Math.pow(2, bits) + value;
}
function reSign(value, bits, ignore) {
if (value <= 0) {
return value;
}
var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32
: Math.pow(2, bits-1);
if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that
// but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors
// TODO: In i64 mode 1, resign the two parts separately and safely
value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts
}
return value;
}
assert(Math['imul'] && Math['fround'] && Math['clz32'] && Math['trunc'], 'this is a legacy browser, build with LEGACY_VM_SUPPORT');
var Math_abs = Math.abs;
var Math_cos = Math.cos;
var Math_sin = Math.sin;
var Math_tan = Math.tan;
var Math_acos = Math.acos;
var Math_asin = Math.asin;
var Math_atan = Math.atan;
var Math_atan2 = Math.atan2;
var Math_exp = Math.exp;
var Math_log = Math.log;
var Math_sqrt = Math.sqrt;
var Math_ceil = Math.ceil;
var Math_floor = Math.floor;
var Math_pow = Math.pow;
var Math_imul = Math.imul;
var Math_fround = Math.fround;
var Math_round = Math.round;
var Math_min = Math.min;
var Math_max = Math.max;
var Math_clz32 = Math.clz32;
var Math_trunc = Math.trunc;
// A counter of dependencies for calling run(). If we need to
// do asynchronous work before running, increment this and
// decrement it. Incrementing must happen in a place like
// Module.preRun (used by emcc to add file preloading).
// Note that you can add dependencies in preRun, even though
// it happens right before run - run will be postponed until
// the dependencies are met.
var runDependencies = 0;
var runDependencyWatcher = null;
var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
var runDependencyTracking = {};
function getUniqueRunDependency(id) {
var orig = id;
while (1) {
if (!runDependencyTracking[id]) return id;
id = orig + Math.random();
}
return id;
}
function addRunDependency(id) {
runDependencies++;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
if (id) {
assert(!runDependencyTracking[id]);
runDependencyTracking[id] = 1;
if (runDependencyWatcher === null && typeof setInterval !== 'undefined') {
// Check for missing dependencies every few seconds
runDependencyWatcher = setInterval(function() {
if (ABORT) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
return;
}
var shown = false;
for (var dep in runDependencyTracking) {
if (!shown) {
shown = true;
err('still waiting on run dependencies:');
}
err('dependency: ' + dep);
}
if (shown) {
err('(end of list)');
}
}, 10000);
}
} else {
err('warning: run dependency added without ID');
}
}
function removeRunDependency(id) {
runDependencies--;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
if (id) {
assert(runDependencyTracking[id]);
delete runDependencyTracking[id];
} else {
err('warning: run dependency removed without ID');
}
if (runDependencies == 0) {
if (runDependencyWatcher !== null) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
}
if (dependenciesFulfilled) {
var callback = dependenciesFulfilled;
dependenciesFulfilled = null;
callback(); // can add another dependenciesFulfilled
}
}
}
Module["preloadedImages"] = {}; // maps url to image data
Module["preloadedAudios"] = {}; // maps url to audio data
var memoryInitializer = null;
// Prefix of data URIs emitted by SINGLE_FILE and related options.
var dataURIPrefix = 'data:application/octet-stream;base64,';
// Indicates whether filename is a base64 data URI.
function isDataURI(filename) {
return String.prototype.startsWith ?
filename.startsWith(dataURIPrefix) :
filename.indexOf(dataURIPrefix) === 0;
}
// === Body ===
var ASM_CONSTS = [];
STATIC_BASE = GLOBAL_BASE;
STATICTOP = STATIC_BASE + 73360;
/* global initializers */ __ATINIT__.push({ func: function() { _GNUNET_util_cl_init() } }, { func: function() { _GNUNET_CRYPTO_random_init() } }, { func: function() { _gpg_err_init() } }, { func: function() { _TALER_gcrypt_init() } }, { func: function() { ___emscripten_environ_constructor() } });
memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAABhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OS0uL186Kis9AAAAAAAAAAAAAAEAAADrrgAAAgAAAPeuAAAEAAAAA68AAAgAAAAPrwAAEAAAAByvAAAgAAAAJq8AAEAAAAAxrwAAgAAAAD2vAAAAAQAASq8AAAACAABWrwAAAAQAAGOvAAAACAAAba8AAAAQAAB4rwAAAAAAAAAAAAAvcHJvYy9zeXMvY3J5cHRvL2ZpcHNfZW5hYmxlZAAAABviAAAAAQAAAAAAAAIAAAABAAAAuLUAAPu1AAABtgAARbYAAIi2AADLtgAADrcAABO3AADAAAAAAQAAAAAAAAAAAAAAHrcAAFG3AACEtwAAt7cAAOq3AAAduAAAULgAAFW4AADgAAAAAQAAAAAAAAAAAAAAYLgAAJu4AADWuAAAEbkAAEy5AACHuQAAULgAAMK5AAAAAQAAAQAAAAAAAAAAAAAAzbkAABC6AABTugAAlroAANm6AAAcuwAAULgAAF+7AACAAQAAAQAAAAAAAAAAAAAAarsAAM27AAAwvAAAk7wAAPa8AABZvQAAULgAALy9AAAJAgAAAQAAAAAAAAAAAAAAx70AAE6+AADVvgAAW78AAOG/AABowAAAULgAAO/AAACgAAAAAAAAAAAAAAAAAAAA/8AAACrBAABVwQAAgMEAAKvBAADWwQAAULgAAAHCAADAAAAAAAAAAAAAAAAAAAAAEcIAAETCAAB3wgAAqsIAAN3CAAAQwwAAULgAAEPDAADgAAAAAAAAAAAAAAAAAAAAU8MAAI7DAADJwwAABMQAAD/EAAB6xAAAULgAALXEAAAAAQAAAAAAAAAAAAAAAAAAxcQAAAjFAABLxQAAjsUAANHFAAAUxgAAULgAAFfGAABAAQAAAAAAAAAAAAAAAAAAZ8YAALrGAAANxwAAYMcAALPHAAAGyAAAULgAAFnIAACAAQAAAAAAAAAAAAAAAAAAacgAAMzIAAAvyQAAkskAAPXJAABYygAAULgAALvKAAAAAgAAAAAAAAAAAAAAAAAAy8oAAE7LAADRywAAVMwAANfMAABazQAAULgAAN3NAAAAAQAAAAAAAAAAAAAAAAAA680AAC7OAABxzgAAtM4AAPfOAAA6zwAAULgAAH3PAAAAAQAAAAAAAAAAAAAAAAAAks8AANXPAAAY0AAAW9AAAJ7QAADh0AAAULgAACTRAAAAAQAAAAAAAAAAAAAAAAAAOdEAAHzRAAC/0QAAAtIAAJ7QAABF0gAAULgAAIjSAAAAAQAAAAAAAAAAAAAAAAAAndIAAODSAAAj0wAAZtMAAKnTAADs0wAAULgAAC/UAAD/AQAAAAAAAAAAAAAAAAAAPdQAAC7OAADA1AAAQ9UAAMbVAABJ1gAAULgAAMzWAAAAAgAAAAAAAAAAAAAAAAAA3NYAAF/XAADi1wAAZdgAAOjYAABr2QAAULgAAO7ZAAAAAgAAAAAAAAAAAAAAAAAA/tkAAIHaAAAE2wAAh9sAAArcAACN3AAAULgAABDdAAAAAQAAAAAAAAAAAAAAAAAAGt0AAKnTAAAuzgAAXd0AAKDdAADj3QAAULgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABviAAAm3gAAE7cAAD3eAAATtwAAUd4AABO3AABc3gAAE7cAAGbeAABVuAAAb94AAFW4AAB53gAAVbgAAIbeAADCuQAAj94AAMK5AACj3gAAwrkAAK7eAADCuQAAuN4AAF+7AADB3gAAX7sAAMveAABfuwAA2N4AALy9AADh3gAAvL0AAOveAAC8vQAA+N4AAO/AAAAB3wAAAcIAABbfAABDwwAAK98AALXEAABA3wAAV8YAAFXfAABZyAAAat8AALvKAACA3wAA3c0AAJbfAAB9zwAAp98AACTRAAC43wAAiNIAAMnfAAB9zwAA2t8AAIjSAADy3wAAfc8AAArgAACI0gAAG+AAAMzWAAAs4AAA7tkAAEDgAAAQ3QAAVOAAAAAAAAAAAAAAAAAAAAAAAACL4wAAmeMAALbjAACjDgEJi8bbv0VpDzp+nm0Pi76io55hSACP0F5Eu+MAAMnjAADS4wAAiW+xEoq73xloMhB81J3zP0e0sRaZErpPU2hLIufjAAD24wAAKeQAAH+zyzWIxsH2/6lpTX1q0mSTZbDB9l1p0eyDM+o+5AAATeQAAIDkAABsEVBodAE8rGoqvBuzgmJ87GqQ2G78AS3nr+xamuQAAKrkAADh5AAAlemg25Ygla2uvpstbw284tSZ8RLy0rcnP6aHDmXlAAB25QAA4eQAADqFQWasXZ8CP1TVF9Cznb2UZ3DbnCuVyfb1ZdEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACL4wAAmeMAALbjAABb3MFGv2B1TmoEJCYIlXXHWgA/CJ0nOYOd7Fi5ZOw4Q7vjAADJ4wAA0uMAALA0TGHY2zhTXKivzq8L8SuIHcIAyYM9pybpN2wuMs/35+MAAPbjAAAp5AAAdz6pHjaADkaFTbjr0JGBpylZCYs++MEi2WNVFM7VZf4+5AAATeQAAIDkAACCVYo4mkQ8DqTMgZiZ8gg6hfD6o+V4+Ad6Lj/0ZylmW5rkAACq5AAA4eQAAGDkMVke4LZ/DYomqsv1t3+OC8YhNyjFFAVGBA8O439UZeUAAHblAADh5AAAmwn/pxuUL8snY1+81bDpRL/cY2RPBxOTin9RU1w6NeIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIvjAACZ4wAAtuMAAK9F0uN2SEAxYX940rWKaxucfvRk9aAbR+Quw3NjIkRejiJAyl5p4seLMjns+rIWSbvjAADJ4wAA0uMAAK/QOUTYSJViawgl9KtGkH8V+drb5BAexoKqA0x868Wc+uqeqQdu3n9K8VLosvqctufjAAD24wAAKeQAAIgGJgjT5q2KCqKs4BTIqG8KpjXZR6yf6+g+9OVZZhRLKlqzncE4FLlOOrbhAaNPJz7kAABN5AAAgOQAAD6Kabd4PCWFGTOrYpCvbKd6mYFICFAAnMVXfG4fVztOaAHdI8Sn1nnM+KOGxnTP+5rkAACq5AAA4eQAAE7OCESFgT6QiNLGOgQbxbRPnvEBKitYjzzRHwUDOsTGDC72q0Aw/oKWJI3xY/RJUmXlAAB25QAA4eQAAGYXF46UHwINNR4vJU6P0yxgJCD+sLj7mtzOu4JGHpnFpnjMMeeZF204YOYRDEZSPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIvjAACZ4wAAtuMAABZLenv8+Bni45X75ztW4KOHvWQiLoMf1hAnDNfqJQVUl1i/dcBamUptA09l+PDm/crqsaNNSmtLY24HCji85ze74wAAyeMAANLjAACHqnzepe9hnU/wtCQaHWywI3n04s5Ownh60LMFReF83tqoM7fWuKcCA4snTq6j9OS+nZFO62HxcC5pbCA6EmhU5+MAAPbjAAAp5AAA+nOwCJ1WooTvsPB1bIkL6bG1292O6Bo2Vfg+M7InnTm/PoSCeaciyAa0haR+Z8gHuUajN77olCZ0J4hZ4TKS+z7kAABN5AAAgOQAALC6RlY3RYxpkOWoxfYdSvfldtl/+UuHLedvgFA2HuPbqRylwRqiXrTWeSdcxXiAY6Xxl0ESDE8t4q3r6xCimN2a5AAAquQAAOHkAACAskJjx8Gj67cUk8Hde+i0m0bR9BtK7sESGwE3g/jzUmtW0DfgXyWYvQ/SIV1qHlKV5k9z9j8K7IuRWphdeGWYZeUAAHblAADh5AAA43tqd13Ifbqk36n5bl4//d69cfiGcomGXfWjLSDNyUS2AiysPEmCsQ1e61XD5N4VE0Z2+23gRGBlyXRA+oxqWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAUABwALAA0AEQATABcAHQAfACUAKQArAC8ANQA7AD0AQwBHAEkATwBTAFkAYQBlAGcAawBtAHEAfwCDAIkAiwCVAJcAnQCjAKcArQCzALUAvwDBAMUAxwDTAN8A4wDlAOkA7wDxAPsAAQEHAQ0BDwEVARkBGwElATMBNwE5AT0BSwFRAVsBXQFhAWcBbwF1AXsBfwGFAY0BkQGZAaMBpQGvAbEBtwG7AcEByQHNAc8B0wHfAecB6wHzAfcB/QEJAgsCHQIjAi0CMwI5AjsCQQJLAlECVwJZAl8CZQJpAmsCdwKBAoMChwKNApMClQKhAqUCqwKzAr0CxQLPAtcC3QLjAucC7wL1AvkCAQMFAxMDHQMpAysDNQM3AzsDPQNHA1UDWQNbA18DbQNxA3MDdwOLA48DlwOhA6kDrQOzA7kDxwPLA9ED1wPfA+UD8QP1A/sD/QMHBAkEDwQZBBsEJQQnBC0EPwRDBEUESQRPBFUEXQRjBGkEfwSBBIsEkwSdBKMEqQSxBL0EwQTHBM0EzwTVBOEE6wT9BP8EAwUJBQsFEQUVBRcFGwUnBSkFLwVRBVcFXQVlBXcFgQWPBZMFlQWZBZ8FpwWrBa0FswW/BckFywXPBdEF1QXbBecF8wX7BQcGDQYRBhcGHwYjBisGLwY9BkEGRwZJBk0GUwZVBlsGZQZ5Bn8GgwaFBp0GoQajBq0GuQa7BsUGzQbTBtkG3wbxBvcG+wb9BgkHEwcfBycHNwdFB0sHTwdRB1UHVwdhB20Hcwd5B4sHjQedB58HtQe7B8MHyQfNB88H0wfbB+EH6wftB/cHBQgPCBUIIQgjCCcIKQgzCD8IQQhRCFMIWQhdCF8IaQhxCIMImwifCKUIrQi9CL8IwwjLCNsI3QjhCOkI7wj1CPkIBQkHCR0JIwklCSsJLwk1CUMJSQlNCU8JVQlZCV8JawlxCXcJhQmJCY8JmwmjCakJrQnHCdkJ4wnrCe8J9Qn3Cf0JEwofCiEKMQo5Cj0KSQpXCmEKYwpnCm8KdQp7Cn8KgQqFCosKkwqXCpkKnwqpCqsKtQq9CsEKzwrZCuUK5wrtCvEK8woDCxELFQsbCyMLKQstCz8LRwtRC1cLXQtlC28LewuJC40LkwuZC5sLtwu5C8MLywvPC90L4QvpC/UL+wsHDAsMEQwlDC8MMQxBDFsMXwxhDG0Mcwx3DIMMiQyRDJUMnQyzDLUMuQy7DMcM4wzlDOsM8Qz3DPsMAQ0DDQ8NEw0fDSENKw0tDT0NPw1PDVUNaQ15DYENhQ2HDYsNjQ2jDasNtw29DccNyQ3NDdMN1Q3bDeUN5w3zDf0N/w0JDhcOHQ4hDicOLw41DjsOSw5XDlkOXQ5rDnEOdQ59DocOjw6VDpsOsQ63DrkOww7RDtUO2w7tDu8O+Q4HDwsPDQ8XDyUPKQ8xD0MPRw9ND08PUw9ZD1sPZw9rD38PlQ+hD6MPpw+tD7MPtQ+7D9EP0w/ZD+kP7w/7D/0PAxAPEB8QIRAlECsQORA9ED8QURBpEHMQeRB7EIUQhxCREJMQnRCjEKUQrxCxELsQwRDJEOcQ8RDzEP0QBRELERURJxEtETkRRRFHEVkRXxFjEWkRbxGBEYMRjRGbEaERpRGnEasRwxHFEdER1xHnEe8R9RH7EQ0SHRIfEiMSKRIrEjESNxJBEkcSUxJfEnEScxJ5En0SjxKXEq8SsxK1ErkSvxLBEs0S0RLfEv0SBxMNExkTJxMtEzcTQxNFE0kTTxNXE10TZxNpE20TexOBE4cTAAAAAAAAAAD96AAAAgAAAALpAAABAAAABukAAAgAAAAN6QAAAwAAABfpAAADAAAAHukAAAkAAAAl6QAACgAAACzpAAALAAAAM+kAAAUAAAA36QAALQEAADvpAAAGAAAAQekAAAcAAAAAAAAAAAAAAAAAAAAAAAAAa+sAAHTrAAB76wAAAAAAAA/rAAABAAAAJusAAAMAAAA96wAABQAAAFTrAAACAAAAAAAAAAAAAAAAAAAAAAAAAOjp6uvt7u/w8vP09ff4+foBS68ieKadMx1RgBA2Q+maZ0PD0VGatPLNmnirCaURvQQFBgcJCgsMDg8QERMUFRYYGRobHR4fIAAAAAAAAAAAdnd0dfHy8/T4+ebnd3Bxcl0e8g3O1ry8EhMax8VHiKoICQoLDQ4PEBITFBUXGBkaHB0eHyEiIyQmJygpKywtLgaaAH/HakWfmLr5F/7flSEIDpUX6xZ3cZrPcoCGBArjAgAAACt+FRYortKmq/cViAnPTzwAAQIDBAUGBwgJCgsMDQ4Pa8G+4i5An5bpPX4Rc5MXKjs/2S63La0gMzRJ+Og8+0quLYpXHgOsnJ63b6xFr45RyKZFN6CzqT/N482tnxzlizDIHEajXOQR5fvBGRoKUu8mdR9no8uxQLGAjPGHpPTf9p8kRd9PmxetK0F75mw3EMBLBTV8XRwO6sTGb5/38uYFAAAAK34VFiiu0qar9xWICc9PPAABAgMEBQYHCAkKCwwNDg9rwb7iLkCfluk9fhFzkxcqOz/ZLrctrSAzNEn46Dz7Sq4tilceA6ycnrdvrEWvjlF3iVCNFpGPA/U8UtrFTtglMMgcRqNc5BHl+8EZGgpS75dABR6cX+z2Q0T3qCJg7cz2nyRF30+bF60rQXvmbDcQMExlKPZZx3hmpRDZwdauXgAAAAAAAAAAxmNjpfh8fITud3eZ9nt7jf/y8g3Wa2u93m9vsZHFxVRgMDBQAgEBA85nZ6lWKyt95/7+GbXX12JNq6vm7HZ2mo/KykUfgoKdicnJQPp9fYfv+voVsllZ645HR8n78PALQa2t7LPU1GdfoqL9Ra+v6iOcnL9TpKT35HJylpvAwFt1t7fC4f39HD2Tk65MJiZqbDY2Wn4/P0H19/cCg8zMT2g0NFxRpaX00eXlNPnx8QjicXGTq9jYc2IxMVMqFRU/CAQEDJXHx1JGIyNlncPDXjAYGCg3lpahCgUFDy+amrUOBwcJJBISNhuAgJvf4uI9zevrJk4nJ2l/srLN6nV1nxIJCRsdg4OeWCwsdDQaGi42Gxst3G5usrRaWu5boKD7pFJS9nY7O0231tZhfbOzzlIpKXvd4+M+Xi8vcROEhJemU1P1udHRaAAAAADB7e0sQCAgYOP8/B95sbHItltb7dRqar6Ny8tGZ76+2XI5OUuUSkremExM1LBYWOiFz89Ku9DQa8Xv7ypPqqrl7fv7FoZDQ8WaTU3XZjMzVRGFhZSKRUXP6fn5EAQCAgb+f3+BoFBQ8Hg8PEQln5+6S6io46JRUfNdo6P+gEBAwAWPj4o/kpKtIZ2dvHA4OEjx9fUEY7y833e2tsGv2tp1QiEhYyAQEDDl//8a/fPzDr/S0m2Bzc1MGAwMFCYTEzXD7Owvvl9f4TWXl6KIRETMLhcXOZPExFdVp6fy/H5+gno9PUfIZGSsul1d5zIZGSvmc3OVwGBgoBmBgZieT0/Ro9zcf0QiImZUKip+O5CQqwuIiIOMRkbKx+7uKWu4uNMoFBQ8p97eebxeXuIWCwsdrdvbdtvg4DtkMjJWdDo6ThQKCh6SSUnbDAYGCkgkJGy4XFzkn8LCXb3T025DrKzvxGJipjmRkagxlZWk0+TkN/J5eYvV5+cyi8jIQ243N1nabW23AY2NjLHV1WScTk7SSamp4NhsbLSsVlb68/T0B8/q6iXKZWWv9Hp6jkeurukQCAgYb7q61fB4eIhKJSVvXC4ucjgcHCRXpqbxc7S0x5fGxlHL6Ogjod3dfOh0dJw+Hx8hlktL3WG9vdwNi4uGD4qKheBwcJB8Pj5CcbW1xMxmZqqQSEjYBgMDBff29gEcDg4SwmFho2o1NV+uV1f5abm50BeGhpGZwcFYOh0dJyeenrnZ4eE46/j4EyuYmLMiEREz0mlpu6nZ2XAHjo6JM5SUpy2bm7Y8Hh4iFYeHksnp6SCHzs5JqlVV/1AoKHil3996A4yMj1mhofgJiYmAGg0NF2W/v9rX5uYxhEJCxtBoaLiCQUHDKZmZsFotLXceDw8Re7Cwy6hUVPxtu7vWLBYWOgEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAGwAAADYAAABsAAAA2AAAAKsAAABNAAAAmgAAAC8AAABeAAAAvAAAAGMAAADGAAAAlwAAADUAAABqAAAA1AAAALMAAAB9AAAA+gAAAO8AAADFAAAAkQAAAAAAAAAAAAAAiusAAAEAAACi6wAAAwAAALrrAAAFAAAA0usAAAIAAAAAAAAAAAAAAAAAAAAAAAAABewAAAEAAAAd7AAAAwAAADXsAAAFAAAATewAAAIAAAAAAAAAAAAAAAAAAAAAAAAAru4AAK/zAAC78wAAAAAAAChwcml2YXRlLWtleSAocnNhICAobiAjMDBlMGNlOTZmOTBiNmM5ZTAyZjM5MjJiZWFkYTkzZmU1MGE4NzVlYWM2YmNjMThiYjlhOWNmMmU4NDk2NWNhYSAgICAgIDJkMWZmOTVhN2Y1NDI0NjVjNmMwYzE5ZDI3NmU0NTI2Y2UwNDg4NjhhN2E5MTRmZDM0M2NjM2E4N2RkNzQyOTEgICAgICBmZmM1NjU1MDZkNWJiYjI1Y2JhYzZhMGUyZGQxZjhiY2FhYjBkNGEyOWMyZjM3Yzk1MGYzNjM0ODRiZjI2OWY3ICAgICAgODkxNDQwNDY0YmFmNzk4MjdlMDNhMzZlNzBiODE0OTM4ZWViZGM2M2U5NjQyNDdiZTc1ZGM1OGIwMTRiN2VhMjUxIykgIChlICMwMTAwMDEjKSAgKGQgIzA0NjEyOWYyNDg5ZDcxNTc5YmUwYTc1ZmUwMjliZDZjZGI1NzRlYmY1N2VhOGE1YjBmZGE5NDJjYWI5NDNiMTEgICAgICA3ZDdiYjk1ZTVkMjg4NzVlMGY5ZmM1ZmNjMDZhNzJmNmQ1MDI0NjRkYWJkZWQ3OGVmNmI3MTYxNzdiODNkNWJkICAgICAgYzU0M2RjNWQzZmVkOTMyZTU5ZjU4OTdlOTJlNmY1OGEwZjMzNDI0MTA2YTNiNmZhMmNiZjg3NzUxMGU0YWMyMSAgICAgIGMzZWU0Nzg1MWU5N2QxMjk5NjIyMmFjMzU2NmQ0Y2NiMGI4M2QxNjQwNzRhYmY3ZGU2NTVmYzI0NDZkYTE3ODEjKSAgKHAgIzAwZTg2MWI3MDBlMTdlOGFmZTY4MzdlNzUxMmUzNWI2Y2ExMWQwYWU0N2Q4Yjg1MTYxYzY3YmFmNjQzNzcyMTMgICAgICBmZTUyZDc3MmYyMDM1YjNjYTgzMGFmNDFkOGE0MTIwZTFjMWM3MGQxMmNjMjJmMDBkMjhkMzFkZDQ4YThkNDI0ZjEjKSAgKHEgIzAwZjdhN2NhNTM2N2M2NjFmOGU2MmRmMzRmMGQwNWMxMGM4OGU1NDkyMzQ4ZGQ3YmRkYzk0MmM5YThmMzY5ZjkgICAgICAzNWEwNzc4NWQyZGI4MDUyMTVlZDc4NmU0Mjg1ZGYxNjU4ZWVkM2NlODRmNDY5YjgxYjUwZDM1ODQwN2I0YWQzNjEjKSAgKHUgIzMwNDU1OWE5ZWFkNTZkMjMwOWQyMDM4MTFhNjQxYmIxYTA5NjI2YmM4ZWIzNmZmZmEyM2M5NjhlYzViZDg5MWUgICAgICBlYmJhZmM3M2FlNjY2ZTAxYmE3Yzg5OTBiYWUwNmNjMmJiZTEwYjc1ZTY5ZmNhY2IzNTNhNjQ3MzA3OWQ4ZTliIykpKQAAAAAAAAAAAAAAKHB1YmxpYy1rZXkgKHJzYSAgKG4gIzAwZTBjZTk2ZjkwYjZjOWUwMmYzOTIyYmVhZGE5M2ZlNTBhODc1ZWFjNmJjYzE4YmI5YTljZjJlODQ5NjVjYWEgICAgICAyZDFmZjk1YTdmNTQyNDY1YzZjMGMxOWQyNzZlNDUyNmNlMDQ4ODY4YTdhOTE0ZmQzNDNjYzNhODdkZDc0MjkxICAgICAgZmZjNTY1NTA2ZDViYmIyNWNiYWM2YTBlMmRkMWY4YmNhYWIwZDRhMjljMmYzN2M5NTBmMzYzNDg0YmYyNjlmNyAgICAgIDg5MTQ0MDQ2NGJhZjc5ODI3ZTAzYTM2ZTcwYjgxNDkzOGVlYmRjNjNlOTY0MjQ3YmU3NWRjNThiMDE0YjdlYTI1MSMpICAoZSAjMDEwMDAxIykpKQAAAAAoZGF0YSAoZmxhZ3MgcGtjczEpIChoYXNoIHNoYTEgIzExMjIzMzQ0NTU2Njc3ODg5OTAwYWFiYmNjZGRlZWZmMTAyMDMwNDAjKSkAAAAAAChkYXRhIChmbGFncyBwa2NzMSkgKGhhc2ggc2hhMSAjMTEyMjMzNDQ1NTY2Nzc4ODk5MDBhYWJiY2NkZGVlZmY4MDIwMzA0MCMpKQAAAAAAJ/QAADz0AABO9AAAXPQAAGr0AAAAAAAAAAAAAAAAAAAwLTANBglghkgBZQMEAgQFAAQcAAAAAAAAAAAAAAAAADAxMA0GCWCGSAFlAwQCAQUABCAAAAAAAAAAAAAAAAAAMFEwDQYJYIZIAWUDBAIDBQAEQAAAAAAAAAAAAAAAAAAirijXmC+KQs1l7yORRDdxLztN7M/7wLW824mBpdu16Ti1SPNbwlY5GdAFtvER8VmbTxmvpII/khiBbdrVXhyrQgIDo5iqB9i+b3BFAVuDEoyy5E6+hTEk4rT/1cN9DFVviXvydF2+crGWFjv+sd6ANRLHJacG3JuUJmnPdPGbwdJK8Z7BaZvk4yVPOIZHvu+11YyLxp3BD2WcrHfMoQwkdQIrWW8s6S2D5KZuqoR0StT7Qb3cqbBctVMRg9qI+Xar32buUlE+mBAytC1txjGoPyH7mMgnA7DkDu++x39Zv8KPqD3zC+DGJacKk0eRp9VvggPgUWPKBnBuDgpnKSkU/C/SRoUKtycmySZcOCEbLu0qxFr8bSxN37OVnRMNOFPeY6+LVHMKZaiydzy7Cmp25q7tRy7JwoE7NYIUhSxykmQD8Uyh6L+iATBCvEtmGqiRl/jQcItLwjC+VAajUWzHGFLv1hnoktEQqWVVJAaZ1iogcVeFNQ70uNG7MnCgahDI0NK4FsGkGVOrQVEIbDcemeuO30x3SCeoSJvhtbywNGNaycWzDBw5y4pB40qq2E5z42N3T8qcW6O4stbzby5o/LLvXe6Cj3RgLxdDb2OleHKr8KEUeMiE7DlkGggCx4woHmMj+v++kOm9gt7rbFCkFXnGsvej+b4rU3Lj8nhxxpxhJurOPifKB8LAIce4htEe6+DN1n3a6njRbu5/T331um8Xcqpn8AammMiixX1jCq4N+b4EmD8RG0ccEzULcRuEfQQj9XfbKJMkx0B7q8oyvL7JFQq+njxMDRCcxGcdQ7ZCPsu+1MVMKn5l/Jwpf1ns+tY6q2/LXxdYR0qMGURsMEEwDQYJYIZIAWUDBAICBQAEMAAAAAAAAAAAAAAAAACfWJ9c9hIsMra/7C8q6MNa1JHbFuexw56GywhreJ9UGQGfmAneFxGFj6rDo7og+8PUO7dVbqMuRvKigrfUW04NV/9znU3JLBvX/AFwDMghb5Cv6RuyiFRPLDLcI5smNeZstFYcQL8KlwWTHLbUCOf6AAEXAi4YUwNqL5MZNFRFBFxrtjCmlEsajDWBVapGDQUkXYdsm7fBMSuno5WYTMob5o1zNs2CElZiq/BHTw69BtQl0l4niGZt1px5uAjC3zJoLP2oiqRalimZIk1gy+Qce+c7jp509DfYzvmDbxOyV+Fj3KzE8a9IClBCD7q+xwfe1XgmZdPRX+MoIYlZZ/xusdf4nfN6OrnGCUHDruDbM0Rpki1S/hapDIuApUpbtZfJKqKawCOGTrxh78wR5XIdPXzr6Ok86o99n+x1HvU+OPbZP892+h+EoHDtFJCzflj74iBk0N13rdrFQPI5sPdJtAt/URVDkRBxu+6/hcihAAECBAgQIECATZp58qkfPnz4vTdu3PWnAwYMGDBgwM3X44tbtiFChEWKWbIpUqQFChQoUKANGjRo0O2XY8bBz9Prm3v2oQ8ePHjwrRcuXLg9evSlBw4cOHDgjVeuESJEiF26OXLkhUeOUaIJEiRIkG3a+b8zZszV54NLlmHCyd/zqxs2bNj9tyNGjFWqGTJkyN33owsWLFiwLVq0JUqUZcrZ/7MrVqwVKlSoHTp06J137pFv3vGvEyZMmH36uT9+/LUnTpx16pl//rEvXrw1atTlh0OGQYJJkmnS6Z9z5oFPnnHiiV++MWLExcfDy9v7uzt27JVnztHvk2vW4Y9TpgECBAgQIECATZp58qkfPnz4vTdu3PWnAwYMGDBgwM3X44tbtiFChEWKWbIpUqQFChQoUKANGjRo0O2XY8bBz9Prm3v2oQ8ePHjwrRcuXLg9evSlBw4cOHDgjVeuESJEiF26OXLkhUeOUaIJEiRIkG3a+b8zZszV54NLlmHCyd/zqxs2bNj9tyNGjFWqGTJkyN33owsWLFiwLVq0JUqUZcrZ/7MrVqwVKlSoHTp06J137pFv3vGvEyZMmH36uT9+/LUnTpx16pl//rEvXrw1atTlh0OGQYJJkmnS6Z9z5oFPnnHiiV++MWLExcfDywAAAACpdWfzs8bo9ATb/Xuj+3bImkqS04DmeGvkRd190eg4Sw3WxjI12Jj9GDf3cezxbOFDMHUPN/gmG/qHE/qUBkg/8l7QuouuMFuEilQA37wjnRltW8E9sVkO84CuXaLSgtVjoAGEgwcuFNm1UZCbLHyjprLrc6VMvlQWkgx04zZhUcA4jLA6vfVac/wsYCViC5a7bE5CifdrEFN8aii0J/GM4RPmlb2cRcfiJPRGtjtmcMzKleMDhVbL1BEc0B6T17j7psODjiC1/+mfz3e/w7rM6gN3bzkIr78zQMnnYitx4oF5eQwJqq2CJEHNOvnq2Lnl5MWauaRNl0R+CNqGeucXoWYdlKqh7R0GPXDwst7Ss0ELe3KgpxEcMe/C0SdTkD4gj/YzYCb/X5bsXHaxKqtJnoGciFLuGyFfxJMaCuvv2ZHFhTlJme7NLa1PMY+LOwFHGIcjbd1GH9ZOPi1p+WRIKk/O8stlL478eJdcBVh6GayNf+XVmBpXS2cOf6cFWmQorxRjP7Yp/oj1PLdMPAKluM7a6bBoF0RV4B9NikN9aVcpxy6NrHQVt1nEqJ8Kcp5+bhVHIt8SNFg1B2qZzzTcbiJQyd7AaJtlibzU2+34q8gSqKIrDUBS3Lv+AjIvpKnK1xBhIR7wtNNQXQQP9gDCbxadJTaGQlZKVV4Jwb7gkXXzxvTbe/vIStPma0V96EvWMtj9N3Hx4TAP+BuH+gY/XrquW4oAvJ1twbEOgF3S1aCEBxS1kCyjsnNMVJJ0NlE4sL1a/GBilmxC9xB8KCeME5WcxyRGO3DK44XLEdCTuKaDIP+fd8PMA28Iv0DnK+J5DKqCQTrqueSapJd+2noXZpShHT3w3rMLcqcc79FTPo8zJl/sdipJgYjuIcQa69nFOZnNrTGLARgj3R9OLflIT/JljnhcWBmN5ZhXZ38FZK9jtv71tzylzuloROBNQ2kpLqwVWagKnm5H3zQ1as/cIsnAm4nU7asSog1SuwIvqddhHrRQBPbCFiWGVlUJvpGpZ7PoBP2jdpqSgHjk3dE4DcY1mBj37GxDdTcm+hOUSPLQizCEVN8jGVs9WfOuooJjAYMu2VGbfKbrpb4WDONhwIw69XMsJQu7TolrU2q08eHmvUXi9LZmzJUDVtQcHtf7w4616c+/uup3Oa8zyWJxgXkJrSTN+djlxblNRAiG56Edqu0GcLLSQXugETHCJ5Ag9mD/llyxq56cUhtfkwrvkYVJ7i1PjztHh21G1j5pZCrOyy/8lwV6rH/VGksOp1ooFD8piDxMArjasBdVH4p9V8eNdLfEn3J+FSISWAeZNG5Q3mhlvNv4yKgrQNz+MqTKECHw010PAG+dNkJKXsHgdTK8vPMh7OzGQyAg9Mmzs9sD2tp7iwIC+yvi4sj6np5K7MnJ0wnU1OZrGBhrnx4eRQ6YmH04srLo0qamS7cmJtZXPDwyipOT2O6Cgv2YUlI31Ht7cTe7u/GXW1vhg0dHMDwkJA/iUVH4xrq6G/NKSodIv7/6cA0NBrOwsD/edXVe/dLSuiB9fa4xZmZbozo6ihxZWQAAAAC8k83NneAaGm0srq7Bq39/sccrKw65vr6AoODgXRCKitJSOzvVumRkoIjY2ISl5+cH6F9fFBEbG7XCLCyQtPz8LCcxMaNlgICyKnNzc4EMDExfeXlUQWtrkgJLS3RpU1M2j5SUUR+Dgzg2KiqwnMTEvcgiIlr41dX8w729YHhISGLO//+WB0xMbHdBQULmx8f3JOvrEBQcHHxjXV0oIjY2J8BnZ4yv6ekT+UREleoUFJy79fXHGM/PJC0/P0bjwMA723JycGxUVMpMKSnjNfDwhf4ICMsXxsYRT/Pz0OSMjJNZpKS4lsrKpjtoaINNuLggKDg4/y7l5Z9Wra13hAsLwx3IyMz/mZkD7VhYb5oZGQgKDg6/fpWVQFBwcOcw9/crz25u4m4fH3k9tbUMDwkJqjRhYYIWV1dBC5+fOoCdnepkERG5zSUl5N2vr5oIRUWkjd/fl1yjo37V6uraWDU1etDt7Rf8Q0Nmy/j4lLH7+6HTNzcdQPr6PWjCwvDMtLTeXTIys3GcnAvnVlZy2uPjp2CHhxwbFRXvOvn50b9jY1OpNDQ+hZqaj0KxsTPRfHwmm4iIX6Y9PezXoaF23+TkKpSBgUkBkZGB+w8PiKru7u5hFhYhc9fXxPWXlxqopaXrP/7+2bVtbcWueHg5bcXFmeUdHc2kdnat3D4+MWfLy4tHtrYBW+/vGB4SEiPFYGDdsGpqH/ZNTU7pzs4tfN7e+Z1VVUhafn5PsiEh8noDA2UmoKCOGV5eeGZaWlxLZWVYTmJiGUX9/Y30BgblhkBAmL7y8lesMzNnkBcXf44FBQVe6OhkfU9Pr2qJiWOVEBC2L3R0/nUKCvWSXFy3dJubPDMtLaXWMDDOSS4u6YlJSWhyRkZEVXd34NioqE0ElpZDvSgoaSmpqSl52dkukYaGrIfR0RVK9PRZFY2NqILW1gq8ubmeDUJCbsH29ke4Ly/fBt3dNDkjIzVizMxqxPHxzxLBwdzrhYUino+PyaFxccDwkJCbU6qqifEBAdThi4vtjE5Oq2+OjhKiq6uiPm9vDVTm5lLy29u7e5KSAra3ty/KaWmp2Tk51wzT02Ejp6ceraKitJnDw1BEbGwEBQcH9n8EBMJGJycWp6ysJXbQ0IYTUFBW99zcVRqEhAlR4eG+JXp6ke8TEzk52akXF5BnnJxxs6am0ugHBwUEUlKY/YCAZaPk5N92RUUImktLApLg4KCAWlpmeK+v3eRqarDdY2O/0SoqNjjm5lQNICBDxszMYjXy8r6YEhIeGOvrJPehodfsQUF3bCgovUO8vDJ1e3vUN4iImyYNDXD6RET5E/v7sZR+flpIAwN68oyM5NC2tkeLJCQ8MOfnpYRra0FU3d0G32BgxSP9/UUZOjqjW8LCaD2NjRVZ7Owh82ZmMa5vbz6iV1cWghAQlWPv71sBuLhNg4aGkS5tbbXZg4MfUaqqU5tdXWN8aGg7pv7+P+swMNalenolvqyspxYJCQ8M8PA146enI2GQkPDA6emvjJ2dgDpcXJL1DAyBczExJyzQ0HYlVlbnC5KSe7vOzulOAQHxiR4en2s0NKlT8fHEasPDmbRbW5fxR0eD4RgYa+YiIsi9mJgORR8fbuKzs8n0dHQvtvj4y2aZmf/MFBTqlVhY7QPc3PdWi4vh1BUVGxyioq0e09MM1+LiK/vIyB3DXl4ZjiwswrVJSYnpwcESz5WVfr99fSC6ERFk6gsLhHfFxW05iYlqr3x80TNxcaHJ///OYru7N3EPD/uBtbU9eeHhUQk+PtytPz8tJHZ2pM1VVZ35goLu2EBAhuV4eK7FJSXNuZaWBE13d1VEDg4KCFBQE4b39zDnNzfTofr6QB1hYTSqTk6M7bCwswZUVGxwc3Mqsjs7UtKfnwtBAgKLe9jYiKDz808Ry8tnMScnRsJnZ8An/Py0kDg4KCAEBH/2SEh4YOXlLv9MTAeWZWVLXCsrx7GOjm+rQkINnvX1u5zb2/JSSkrzGz09pl+kpFmTubm8Cvn5Ou8TE++RCAj+hZGRAUkWFmHu3t58LSEhsk+xsUKPcnLbOy8vuEe/v0iHrq4sbcDA40Y8PFfWmpqFPqmpKWlPT31kgYGUKi4uSc7GxhfLaWnKL729w/yjo1yX6OheBe3t0HrR0YesBQWOf2RkutWlpagaJia3S76+uQ6Hh2Cn1dX4WjY2IigbGxEUdXXeP9nZeSnu7qqILS0zPHl5X0y3t7YCysqWuDU1WNrExJywQ0P8F4SEGlVNTfYfWVkcirKyOH0zM6xXz88YxwYG9I1TU2l0m5t0t5eX9cStrVaf4+Pacurq1X709EoVj4+eIqurohJiYk5YX1/oBx0d5ZkjIzk09vbBbmxsRFAyMl3eRkZyaKCgJmXNzZO82toD27q6xvienvrI1taCqG5uzytwcFBAhYXr3AoKdf6Tk4oy39+NpCkpTMocHBQQ19dzIbS0zPDU1AnTiooQXVFR4g8AAAAAGRmabxoa4J2UlI82x8fmQsnJ7ErS0v1ef3+rwaio2OAyvHW8Iezz7EMgxiDJs/SzA9rb2osCewIr4vvi+p7InuzJSskJ1NPUaxjmGJ8eax4OmEWYOLJ9stKm6Ka3JksmVzzWPIqTMpPugtiCmFL9UtR7N3s3u3G7l1vxW4NH4Uc8JDAk4lEPUca6+LrzShtKSL+Hv3AN+g2zsAaw3nU/df3SXtIgfbp9MWauZqM6WzocWYpZAAAAAJPNvM3gGp0aLK5trqt/wX/HK7Erub4OvqDggOAQil2KUjvSO7pk1WSI2KDYpeeE5+hfB18RGxQbwiy1LLT8kPwnMSwxZYCjgCpzsnOBDHMMX3lMeUFrVGsCS5JLaVN0U4+UNpQfg1GDNio4KpzEsMTIIr0i+NVa1cO9/L14SGBIzv9i/wdMlkx3QWxB5sdCxyTr9+sUHBAcY118XSI2KDbAZydnr+mM6flEE0TqFJUUu/Wc9RjPx88tPyQ/48BGwNtyO3JsVHBUTCnKKTXw4/D+CIUIF8bLxk/zEfPkjNCMWaSTpJbKuMo7aKZoTbiDuCg4IDgu5f/lVq2frYQLdwsdyMPI/5nMme1YA1iaGW8ZCg4IDn6Vv5VQcEBwMPfn989uK25uH+IfPbV5tQ8JDAk0YaphFleCVwufQZ+AnTqdZBHqEc0luSXdr+SvCEWaRY3fpN9co5ej1ep+6lg12jXQ7Xrt/EMXQ8v4Zvix+5T70zehN0D6Hfpowj3CzLTwtF0y3jJxnLOc51YLVtrjcuNgh6eHGxUcFTr57/m/Y9FjqTRTNIWaPppCsY+x0XwzfJuIJoimPV8916Hsod/kduSUgSqBAZFJkfsPgQ+q7ojuYRbuFnPXIdf1l8SXqKUapT/+6/61bdltrnjFeG3FOcXlHZkdpHbNdtw+rT5nyzHLR7aLtlvvAe8eEhgSxWAjYLBq3Wr2TR9N6c5OznzeLd6dVflVWn5IfrIhTyF6A/IDJqBloBlejl5mWnhaS2VcZU5iWGJF/Rn99AaNBoZA5UC+8pjyrDNXM5AXZxeOBX8FXugF6H1PZE9qia+JlRBjEC90tnR1Cv4Kklz1XHSbt5szLTwt1jClMEkuzi6JSelJckZoRlV3RHfYqOCoBJZNlr0oQygpqWmpedkp2ZGGLoaH0azRSvQV9BWNWY2C1qjWvLkKuQ1CnkLB9m72uC9HLwbd3905IzQjYsw1zMTxavESwc/B64XchZ6PIo+hcclx8JDAkFOqm6rxAYkB4YvUi4xO7U5vjquOoqsSqz5vom9U5g3m8ttS23uSu5K2twK3ymkvadk5qTkM09fTI6dhp62iHqKZw7TDRGxQbAUHBAd/BPYERifCJ6esFqx20CXQE1CGUPfcVtwahFWEUeEJ4SV6vnrvE5ET2ak52ZBnF5Bxs5xx0uim0gUEBwWY/VKYZaOAZd925N8ImkUIApJLAqCA4KBmeFpm3eSv3bDdarC/0WO/NjgqNlQN5lRDxiBDYjXMYr6Y8r4eGBIeJPfrJNfsodd3bEF3vUMovTJ1vDLUN3vUmyaIm3D6DXD5E0T5sZT7sVpIflp68gN65NCM5EeLtkc8MCQ8pYTnpUFUa0EG390GxSNgxUUZ/UWjWzqjaD3CaBVZjRUh8+whMa5mMT6ibz4WglcWlWMQlVsB71tNg7hNkS6GkbXZbbUfUYMfU5uqU2N8XWM7pmg7P+v+P9alMNYlvnolpxaspw8MCQ814/A1I2GnI/DAkPCvjOmvgDqdgJL1XJKBcwyBJywxJ3Yl0HbnC1bne7uSe+lOzunxiQHxn2sen6lTNKnEavHEmbTDmZfxW5eD4UeDa+YYa8i9IsgORZgObuIfbsn0s8kvtnQvy2b4y//Mmf/qlRTq7QNY7fdW3Pfh1IvhGxwVG60eoq0M19MMK/viKx3DyB0Zjl4ZwrUswonpSYkSz8ESfr+VfiC6fSBk6hFkhHcLhG05xW1qr4lq0TN80aHJcaHOYv/ON3G7N/uBD/s9ebU9UQnhUdytPtwtJD8tpM12pJ35VZ3u2ILuhuVAhq7FeK7NuSXNBE2WBFVEd1UKCA4KE4ZQEzDn9zDToTfTQB36QDSqYTSM7U6Mswaws2xwVGwqsnMqUtI7UgtBnwuLewKLiKDYiE8R809nMctnRsInRsAnZ8C0kPy0KCA4KH/2BH94YEh4Lv/lLgeWTAdLXGVLx7Erx2+rjm8NnkINu5z1u/JS2/LzG0rzpl89plmTpFm8Crm8Ou/5Ou+RE+/+hQj+AUmRAWHuFmF8Ld58sk8hskKPsULbO3LbuEcvuEiHv0gsba4s40bA41fWPFeFPpqFKWmpKX1kT32UKoGUSc4uSRfLxhfKL2nKw/y9w1yXo1xeBehe0Hrt0Ies0YeOfwWOutVkuqgapai3Sya3uQ6+uWCnh2D4WtX4Iig2IhEUGxHeP3XeeSnZeaqI7qozPC0zX0x5X7YCt7aWuMqWWNo1WJywxJz8F0P8GlWEGvYfTfYcilkcOH2yOKxXM6wYx88Y9I0G9Gl0U2l0t5t09cSX9VafrVbacuPa1X7q1UoV9EqeIo+eohKrok5YYk7oB1/o5Zkd5Tk0IznBbvbBRFBsRF3eMl1yaEZyJmWgJpO8zZMD29oDxvi6xvrInvqCqNaCzytuz1BAcFDr3IXrdf4KdYoyk4qNpN+NTMopTBQQHBRzIddzzPC0zAnT1AkQXYoQ4g9R4gAAAACabxma4J0a4I82lI/mQsfm7ErJ7P1e0v2rwX+r2OCo2AABAgIDAwMDBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg6Z2VuZXJpYy9tcGloLWFkZDEuYzpnZW5lcmljL21waWgtc3ViMS5jOmdlbmVyaWMvbXBpaC1tdWwxLmM6Z2VuZXJpYy9tcGloLW11bDIuYzpnZW5lcmljL21waWgtbXVsMy5jOmdlbmVyaWMvbXBpaC1sc2hpZnQuYzpnZW5lcmljL21waWgtcnNoaWZ0LmMAAAAAAAAAAAAAAAAAAAAACgpUaGlzIGlzIExpYmdjcnlwdCAxLjcuMC1iZXRhMjMwIC0gVGhlIEdOVSBDcnlwdG8gTGlicmFyeQpDb3B5cmlnaHQgKEMpIDIwMDAtMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQ29weXJpZ2h0IChDKSAyMDEyLTIwMTQgZzEwIENvZGUgR21iSApDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNCBKdXNzaSBLaXZpbGlubmEKCihhMzZlZTc1MCAyMDE4LTA5LTIwVDEwOjUxKzAwMDApCgoKAAAAAAAAAAAAAAAAmC+KQpFEN3HP+8C1pdu16VvCVjnxEfFZpII/ktVeHKuYqgfYAVuDEr6FMSTDfQxVdF2+cv6x3oCnBtybdPGbwcFpm+SGR77vxp3BD8yhDCRvLOktqoR0StypsFzaiPl2UlE+mG3GMajIJwOwx39Zv/ML4MZHkafVUWPKBmcpKRSFCrcnOCEbLvxtLE0TDThTVHMKZbsKanYuycKBhSxykqHov6JLZhqocItLwqNRbMcZ6JLRJAaZ1oU1DvRwoGoQFsGkGQhsNx5Md0gntbywNLMMHDlKqthOT8qcW/NvLmjugo90b2OleBR4yIQIAseM+v++kOtsUKT3o/m+8nhxxgAAwgGEA0YCCAfKBowETgUQDtIPlA1WDBgJ2gicCl4LIBziHaQfZh4oG+oarBhuGTAS8hO0EXYQOBX6FLwWfhdAOII5xDsGOkg/ij7MPA49UDaSN9Q1FjRYMZow3DIeM2AkoiXkJyYmaCOqIuwgLiFwKrIr9Ck2KHgtuiz8Lj4vgHBCcQRzxnKId0p2DHTOdZB+Un8UfdZ8mHlaeBx63nugbGJtJG/mbqhramosaO5psGJyYzRh9mC4ZXpkPGb+Z8BIAklES4ZKyE8KTkxMjk3QRhJHVEWWRNhBGkBcQp5D4FQiVWRXplboUypSbFCuUfBaMlt0WbZY+F06XHxevl8A4cLghOJG4wjmyueM5U7kEO/S7pTsVu0Y6NrpnOte6iD94vyk/mb/KPrq+6z5bvgw8/LytPB28Tj0+vW89372QNmC2MTaBttI3orfzN0O3FDXktbU1BbVWNCa0dzTHtJgxaLE5MYmx2jCqsPswS7AcMuyyvTINsl4zLrN/M8+zoCRQpAEksaTiJZKlwyVzpSQn1KeFJzWnZiYWpkcm96aoI1ijCSO5o+oimqLLInuiLCDcoI0gPaBuIR6hTyH/obAqQKoRKqGq8iuCq9MrY6s0KcSplSklqXYoBqhXKOeouC1IrRktqa36LIqs2yxrrDwuzK6dLi2ufi8Or18v76+ZpoAf8dqRZ+YuvkX/t+VIhGaAH/HakWfmLr5F/7flTMGmgB/x2pFn5i6+Rf+35UhWwcBAF8HAQBlBwEAagcBAHAHAQAAAAAAAAAAAAAAAACOmTufSGgSc8KWULoy/HbOSDMupxZNlqRHb7jFMaEYasDfwXyY3Oh7TafwEexIyXJx0sIPm5KP4icNb7hj1Rc4tI7u4xSnzIq5MhZFSOUmrpAiQ2hRes/qvWuzcyvA6dqZgythygG23lYkSp6I1fmzeXP2IqQ9FKZZmx9lTLRadONVpQAAAAAAAAAAAAAAAADupqclHB5ykW0RwsshTTwlJTkSHY4jTmUtZR+kyM/4gPP/x3A/lADlKn37Sz0zBdn/////////////////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAQIDBAUGB//+/fz7+vn//////////////////wAAAABkr+Lo1q17vdKH+XxEYj05ucp/1qD100IZbYSRdhw7vkiygphowoAAAAAoGAAAJQBSF40potWEEp2JmkWCAvd3QpwIPYL0ikBmtUknq0LHww63YTz+sL5z925tbx2jFPq7S8EOxfvNRr4oYecDKzd9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA95W9SlLintcT0xP6IOmNvMjR5RFZUvf6Nzi0xc6ysJoNnMUNFuG87c9gYgmdIIN+AAECAwQFBgcICQoLDA0OD4AAgQGCAoMDoCChIaIioyP/////////////////////lu3Mw90Ef3VjGTdvFSJXVnoUdneVF37IkujdFcsfvLElPi6iQRvd9SFIQXGzjS9MAAAAAAgAAAAWAAAAJQAAAD8AAABcAAAAdQAAAIQAAACTAAAAoQAAAK8AAAC+AAAAzQAAAOYAAADzAAAAAgEAABABAAAbAQAAKQEAAD8BAABPAQAAbQEAAIEBAACZAQAAswEAAMwBAADeAQAA5wEAAPEBAAABAgAADgIAABwCAAAvAgAARwIAAFsCAABrAgAAegIAAIoCAACaAgAAqwIAALkCAADJAgAA5AIAAPUCAAAJAwAAHAMAAC0DAABBAwAATQMAAFsDAABoAwAAeAMAAIsDAACeAwAAsgMAAMYDAADUAwAA6gMAAP4DAAAGBAAACgQAABgEAAAvBAAANwQAAEYEAABTBAAAYgQAAH8EAACcBAAAswQAAMMEAADTBAAA5wQAAPQEAAADBQAAFAUAACQFAAA1BQAARgUAAFIFAABfBQAAfgUAAJMFAACnBQAAvAUAANIFAADeBQAA7QUAAPUFAAACBgAACwYAAB0GAAAoBgAAMwYAAEEGAABVBgAAYgYAAG4GAAB8BgAAiAYAAJwGAACvBgAAwwYAANkGAADxBgAABgcAAB0HAAAyBwAAQQcAAEwHAABgBwAAbQcAAHoHAACLBwAAoQcAAK8HAADDBwAA0wcAAOEHAADsBwAAAAgAABcIAAAsCAAAOwgAAFAIAABmCAAAdggAAIQIAACUCAAAoggAALMIAAC/CAAA3wgAAPMIAAD/CAAACQkAABUJAAAnCQAAPAkAAEgJAABXCQAAaAkAAHcJAACHCQAAlQkAAKgJAAC7CQAA0gkAAOcJAAD/CQAAEQoAACcKAAA+CgAAUAoAAFwKAABuCgAAfwoAAI0KAACeCgAArQoAAMQKAADXCgAA5AoAAPcKAAAPCwAAKgsAADcLAABQCwAAWwsAAG4LAAB6CwAAigsAAJwLAAC3CwAAvgsAAM0LAADdCwAA7QsAAAEMAAAODAAAGgwAACsMAAA3DAAASAwAAFYMAABmDAAAgQwAAJgMAACvDAAAxgwAANUMAADmDAAA+AwAAA0NAAAgDQAAPw0AAFENAABjDQAAeQ0AAJMNAACuDQAAvw0AAOgNAAAIDgAALg4AAEkOAABnDgAAhQ4AAKEOAADGDgAA3g4AAA4PAAA4DwAAYA8AAIQPAACPDwAAoQ8AALIPAADRDwAA5g8AAP8PAAAOEAAAJhAAADkQAABdEAAAchAAAI8QAACjEAAAvhAAANoQAADpEAAA9BAAAAURAAAqEQAAVxEAAIMRAACrEQAA0REAAPcRAAAhEgAAQxIAAHASAACdEgAAqhIAALQSAADBEgAA5BIAAPgSAAAKEwAAIRMAADkTAABOEwAAahMAAIgTAACkEwAAuBMAANATAADrEwAA/RMAAA8UAAArFAAAOhQAAEoUAABmFAAAfRQAAJEUAACiFAAAvhQAANYUAADvFAAAAxUAABcVAAAqFQAARxUAAF8VAAB7FQAAlhUAALAVAADNFQAA5RUAAP4VAAAZFgAANhYAAEcWAABgFgAAdxYAAI0WAACgFgAAthYAANcWAAD1FgAADBcAAC8XAAA/FwAAUxcAAGcXAAB4FwAAkxcAAKAXAAC2FwAAyhcAAOYXAAACGAAAFRgAACcYAABQGAAAeBgAAJ8YAACtGAAA0BgAAPcYAAAYGQAAMxkAAEoZAABoGQAAhxkAAKQZAAC+GQAA1RkAAOkZAAD8GQAAFhoAACsaAABMGgAAcRoAAJMaAACsGgAAyRoAAN0aAAD4GgAAHBsAADIbAABIGwAAZBsAAIsbAACtGwAAwxsAAOMbAAD6GwAAHxwAADwcAABNHAAAaRwAAIQcAACZHAAAtBwAAMwcAADbHAAA9xwAAA8dAAAiHQAAOB0AAF0dAAB3HQAAkR0AAKsdAADFHQAA3x0AAPkdAAATHgAALR4AAEceAABiHgAAfR4AAJgeAACzHgAAzh4AAOkeAAAEHwAAGx8AADAfAAA8HwAAU3VjY2VzcwBHZW5lcmFsIGVycm9yAFVua25vd24gcGFja2V0AFVua25vd24gdmVyc2lvbiBpbiBwYWNrZXQASW52YWxpZCBwdWJsaWMga2V5IGFsZ29yaXRobQBJbnZhbGlkIGRpZ2VzdCBhbGdvcml0aG0AQmFkIHB1YmxpYyBrZXkAQmFkIHNlY3JldCBrZXkAQmFkIHNpZ25hdHVyZQBObyBwdWJsaWMga2V5AENoZWNrc3VtIGVycm9yAEJhZCBwYXNzcGhyYXNlAEludmFsaWQgY2lwaGVyIGFsZ29yaXRobQBLZXlyaW5nIG9wZW4ASW52YWxpZCBwYWNrZXQASW52YWxpZCBhcm1vcgBObyB1c2VyIElEAE5vIHNlY3JldCBrZXkAV3Jvbmcgc2VjcmV0IGtleSB1c2VkAEJhZCBzZXNzaW9uIGtleQBVbmtub3duIGNvbXByZXNzaW9uIGFsZ29yaXRobQBOdW1iZXIgaXMgbm90IHByaW1lAEludmFsaWQgZW5jb2RpbmcgbWV0aG9kAEludmFsaWQgZW5jcnlwdGlvbiBzY2hlbWUASW52YWxpZCBzaWduYXR1cmUgc2NoZW1lAEludmFsaWQgYXR0cmlidXRlAE5vIHZhbHVlAE5vdCBmb3VuZABWYWx1ZSBub3QgZm91bmQAU3ludGF4IGVycm9yAEJhZCBNUEkgdmFsdWUASW52YWxpZCBwYXNzcGhyYXNlAEludmFsaWQgc2lnbmF0dXJlIGNsYXNzAFJlc291cmNlcyBleGhhdXN0ZWQASW52YWxpZCBrZXlyaW5nAFRydXN0IERCIGVycm9yAEJhZCBjZXJ0aWZpY2F0ZQBJbnZhbGlkIHVzZXIgSUQAVW5leHBlY3RlZCBlcnJvcgBUaW1lIGNvbmZsaWN0AEtleXNlcnZlciBlcnJvcgBXcm9uZyBwdWJsaWMga2V5IGFsZ29yaXRobQBUcmlidXRlIHRvIEQuIEEuAFdlYWsgZW5jcnlwdGlvbiBrZXkASW52YWxpZCBrZXkgbGVuZ3RoAEludmFsaWQgYXJndW1lbnQAU3ludGF4IGVycm9yIGluIFVSSQBJbnZhbGlkIFVSSQBOZXR3b3JrIGVycm9yAFVua25vd24gaG9zdABTZWxmdGVzdCBmYWlsZWQARGF0YSBub3QgZW5jcnlwdGVkAERhdGEgbm90IHByb2Nlc3NlZABVbnVzYWJsZSBwdWJsaWMga2V5AFVudXNhYmxlIHNlY3JldCBrZXkASW52YWxpZCB2YWx1ZQBCYWQgY2VydGlmaWNhdGUgY2hhaW4ATWlzc2luZyBjZXJ0aWZpY2F0ZQBObyBkYXRhAEJ1ZwBOb3Qgc3VwcG9ydGVkAEludmFsaWQgb3BlcmF0aW9uIGNvZGUAVGltZW91dABJbnRlcm5hbCBlcnJvcgBFT0YgKGdjcnlwdCkASW52YWxpZCBvYmplY3QAUHJvdmlkZWQgb2JqZWN0IGlzIHRvbyBzaG9ydABQcm92aWRlZCBvYmplY3QgaXMgdG9vIGxhcmdlAE1pc3NpbmcgaXRlbSBpbiBvYmplY3QATm90IGltcGxlbWVudGVkAENvbmZsaWN0aW5nIHVzZQBJbnZhbGlkIGNpcGhlciBtb2RlAEludmFsaWQgZmxhZwBJbnZhbGlkIGhhbmRsZQBSZXN1bHQgdHJ1bmNhdGVkAEluY29tcGxldGUgbGluZQBJbnZhbGlkIHJlc3BvbnNlAE5vIGFnZW50IHJ1bm5pbmcAQWdlbnQgZXJyb3IASW52YWxpZCBkYXRhAFVuc3BlY2lmaWMgQXNzdWFuIHNlcnZlciBmYXVsdABHZW5lcmFsIEFzc3VhbiBlcnJvcgBJbnZhbGlkIHNlc3Npb24ga2V5AEludmFsaWQgUy1leHByZXNzaW9uAFVuc3VwcG9ydGVkIGFsZ29yaXRobQBObyBwaW5lbnRyeQBwaW5lbnRyeSBlcnJvcgBCYWQgUElOAEludmFsaWQgbmFtZQBCYWQgZGF0YQBJbnZhbGlkIHBhcmFtZXRlcgBXcm9uZyBjYXJkAE5vIGRpcm1uZ3IAZGlybW5nciBlcnJvcgBDZXJ0aWZpY2F0ZSByZXZva2VkAE5vIENSTCBrbm93bgBDUkwgdG9vIG9sZABMaW5lIHRvbyBsb25nAE5vdCB0cnVzdGVkAE9wZXJhdGlvbiBjYW5jZWxsZWQAQmFkIENBIGNlcnRpZmljYXRlAENlcnRpZmljYXRlIGV4cGlyZWQAQ2VydGlmaWNhdGUgdG9vIHlvdW5nAFVuc3VwcG9ydGVkIGNlcnRpZmljYXRlAFVua25vd24gUy1leHByZXNzaW9uAFVuc3VwcG9ydGVkIHByb3RlY3Rpb24AQ29ycnVwdGVkIHByb3RlY3Rpb24AQW1iaWd1b3VzIG5hbWUAQ2FyZCBlcnJvcgBDYXJkIHJlc2V0IHJlcXVpcmVkAENhcmQgcmVtb3ZlZABJbnZhbGlkIGNhcmQAQ2FyZCBub3QgcHJlc2VudABObyBQS0NTMTUgYXBwbGljYXRpb24ATm90IGNvbmZpcm1lZABDb25maWd1cmF0aW9uIGVycm9yAE5vIHBvbGljeSBtYXRjaABJbnZhbGlkIGluZGV4AEludmFsaWQgSUQATm8gU21hcnRDYXJkIGRhZW1vbgBTbWFydENhcmQgZGFlbW9uIGVycm9yAFVuc3VwcG9ydGVkIHByb3RvY29sAEJhZCBQSU4gbWV0aG9kAENhcmQgbm90IGluaXRpYWxpemVkAFVuc3VwcG9ydGVkIG9wZXJhdGlvbgBXcm9uZyBrZXkgdXNhZ2UATm90aGluZyBmb3VuZABXcm9uZyBibG9iIHR5cGUATWlzc2luZyB2YWx1ZQBIYXJkd2FyZSBwcm9ibGVtAFBJTiBibG9ja2VkAENvbmRpdGlvbnMgb2YgdXNlIG5vdCBzYXRpc2ZpZWQAUElOcyBhcmUgbm90IHN5bmNlZABJbnZhbGlkIENSTABCRVIgZXJyb3IASW52YWxpZCBCRVIARWxlbWVudCBub3QgZm91bmQASWRlbnRpZmllciBub3QgZm91bmQASW52YWxpZCB0YWcASW52YWxpZCBsZW5ndGgASW52YWxpZCBrZXkgaW5mbwBVbmV4cGVjdGVkIHRhZwBOb3QgREVSIGVuY29kZWQATm8gQ01TIG9iamVjdABJbnZhbGlkIENNUyBvYmplY3QAVW5rbm93biBDTVMgb2JqZWN0AFVuc3VwcG9ydGVkIENNUyBvYmplY3QAVW5zdXBwb3J0ZWQgZW5jb2RpbmcAVW5zdXBwb3J0ZWQgQ01TIHZlcnNpb24AVW5rbm93biBhbGdvcml0aG0ASW52YWxpZCBjcnlwdG8gZW5naW5lAFB1YmxpYyBrZXkgbm90IHRydXN0ZWQARGVjcnlwdGlvbiBmYWlsZWQAS2V5IGV4cGlyZWQAU2lnbmF0dXJlIGV4cGlyZWQARW5jb2RpbmcgcHJvYmxlbQBJbnZhbGlkIHN0YXRlAER1cGxpY2F0ZWQgdmFsdWUATWlzc2luZyBhY3Rpb24AQVNOLjEgbW9kdWxlIG5vdCBmb3VuZABJbnZhbGlkIE9JRCBzdHJpbmcASW52YWxpZCB0aW1lAEludmFsaWQgQ1JMIG9iamVjdABVbnN1cHBvcnRlZCBDUkwgdmVyc2lvbgBJbnZhbGlkIGNlcnRpZmljYXRlIG9iamVjdABVbmtub3duIG5hbWUAQSBsb2NhbGUgZnVuY3Rpb24gZmFpbGVkAE5vdCBsb2NrZWQAUHJvdG9jb2wgdmlvbGF0aW9uAEludmFsaWQgTUFDAEludmFsaWQgcmVxdWVzdABVbmtub3duIGV4dGVuc2lvbgBVbmtub3duIGNyaXRpY2FsIGV4dGVuc2lvbgBMb2NrZWQAVW5rbm93biBvcHRpb24AVW5rbm93biBjb21tYW5kAE5vdCBvcGVyYXRpb25hbABObyBwYXNzcGhyYXNlIGdpdmVuAE5vIFBJTiBnaXZlbgBOb3QgZW5hYmxlZABObyBjcnlwdG8gZW5naW5lAE1pc3Npbmcga2V5AFRvbyBtYW55IG9iamVjdHMATGltaXQgcmVhY2hlZABOb3QgaW5pdGlhbGl6ZWQATWlzc2luZyBpc3N1ZXIgY2VydGlmaWNhdGUATm8ga2V5c2VydmVyIGF2YWlsYWJsZQBJbnZhbGlkIGVsbGlwdGljIGN1cnZlAFVua25vd24gZWxsaXB0aWMgY3VydmUARHVwbGljYXRlZCBrZXkAQW1iaWd1b3VzIHJlc3VsdABObyBjcnlwdG8gY29udGV4dABXcm9uZyBjcnlwdG8gY29udGV4dABCYWQgY3J5cHRvIGNvbnRleHQAQ29uZmxpY3QgaW4gdGhlIGNyeXB0byBjb250ZXh0AEJyb2tlbiBwdWJsaWMga2V5AEJyb2tlbiBzZWNyZXQga2V5AEludmFsaWQgTUFDIGFsZ29yaXRobQBPcGVyYXRpb24gZnVsbHkgY2FuY2VsbGVkAE9wZXJhdGlvbiBub3QgeWV0IGZpbmlzaGVkAEJ1ZmZlciB0b28gc2hvcnQASW52YWxpZCBsZW5ndGggc3BlY2lmaWVyIGluIFMtZXhwcmVzc2lvbgBTdHJpbmcgdG9vIGxvbmcgaW4gUy1leHByZXNzaW9uAFVubWF0Y2hlZCBwYXJlbnRoZXNlcyBpbiBTLWV4cHJlc3Npb24AUy1leHByZXNzaW9uIG5vdCBjYW5vbmljYWwAQmFkIGNoYXJhY3RlciBpbiBTLWV4cHJlc3Npb24AQmFkIHF1b3RhdGlvbiBpbiBTLWV4cHJlc3Npb24AWmVybyBwcmVmaXggaW4gUy1leHByZXNzaW9uAE5lc3RlZCBkaXNwbGF5IGhpbnRzIGluIFMtZXhwcmVzc2lvbgBVbm1hdGNoZWQgZGlzcGxheSBoaW50cwBVbmV4cGVjdGVkIHJlc2VydmVkIHB1bmN0dWF0aW9uIGluIFMtZXhwcmVzc2lvbgBCYWQgaGV4YWRlY2ltYWwgY2hhcmFjdGVyIGluIFMtZXhwcmVzc2lvbgBPZGQgaGV4YWRlY2ltYWwgbnVtYmVycyBpbiBTLWV4cHJlc3Npb24AQmFkIG9jdGFsIGNoYXJhY3RlciBpbiBTLWV4cHJlc3Npb24ATGVnYWN5IGtleQBSZXF1ZXN0IHRvbyBzaG9ydABSZXF1ZXN0IHRvbyBsb25nAE9iamVjdCBpcyBpbiB0ZXJtaW5hdGlvbiBzdGF0ZQBObyBjZXJ0aWZpY2F0ZSBjaGFpbgBDZXJ0aWZpY2F0ZSBpcyB0b28gbGFyZ2UASW52YWxpZCByZWNvcmQAVGhlIE1BQyBkb2VzIG5vdCB2ZXJpZnkAVW5leHBlY3RlZCBtZXNzYWdlAENvbXByZXNzaW9uIG9yIGRlY29tcHJlc3Npb24gZmFpbGVkAEEgY291bnRlciB3b3VsZCB3cmFwAEZhdGFsIGFsZXJ0IG1lc3NhZ2UgcmVjZWl2ZWQATm8gY2lwaGVyIGFsZ29yaXRobQBNaXNzaW5nIGNsaWVudCBjZXJ0aWZpY2F0ZQBDbG9zZSBub3RpZmljYXRpb24gcmVjZWl2ZWQAVGlja2V0IGV4cGlyZWQAQmFkIHRpY2tldABVbmtub3duIGlkZW50aXR5AEJhZCBjZXJ0aWZpY2F0ZSBtZXNzYWdlIGluIGhhbmRzaGFrZQBCYWQgY2VydGlmaWNhdGUgcmVxdWVzdCBtZXNzYWdlIGluIGhhbmRzaGFrZQBCYWQgY2VydGlmaWNhdGUgdmVyaWZ5IG1lc3NhZ2UgaW4gaGFuZHNoYWtlAEJhZCBjaGFuZ2UgY2lwaGVyIG1lc3NzYWdlIGluIGhhbmRzaGFrZQBCYWQgY2xpZW50IGhlbGxvIG1lc3NhZ2UgaW4gaGFuZHNoYWtlAEJhZCBzZXJ2ZXIgaGVsbG8gbWVzc2FnZSBpbiBoYW5kc2hha2UAQmFkIHNlcnZlciBoZWxsbyBkb25lIG1lc3NhZ2UgaW4gaGFuc2hha2UAQmFkIGZpbmlzaGVkIG1lc3NhZ2UgaW4gaGFuZHNoYWtlAEJhZCBzZXJ2ZXIga2V5IGV4Y2hhbmdlIG1lc3NhZ2UgaW4gaGFuZHNoYWtlAEJhZCBjbGllbnQga2V5IGV4Y2hhbmdlIG1lc3NhZ2UgaW4gaGFuZHNoYWtlAEJvZ3VzIHN0cmluZwBGb3JiaWRkZW4AS2V5IGRpc2FibGVkAE5vdCBwb3NzaWJsZSB3aXRoIGEgY2FyZCBiYXNlZCBrZXkASW52YWxpZCBsb2NrIG9iamVjdABHZW5lcmFsIElQQyBlcnJvcgBJUEMgYWNjZXB0IGNhbGwgZmFpbGVkAElQQyBjb25uZWN0IGNhbGwgZmFpbGVkAEludmFsaWQgSVBDIHJlc3BvbnNlAEludmFsaWQgdmFsdWUgcGFzc2VkIHRvIElQQwBJbmNvbXBsZXRlIGxpbmUgcGFzc2VkIHRvIElQQwBMaW5lIHBhc3NlZCB0byBJUEMgdG9vIGxvbmcATmVzdGVkIElQQyBjb21tYW5kcwBObyBkYXRhIGNhbGxiYWNrIGluIElQQwBObyBpbnF1aXJlIGNhbGxiYWNrIGluIElQQwBOb3QgYW4gSVBDIHNlcnZlcgBOb3QgYW4gSVBDIGNsaWVudABQcm9ibGVtIHN0YXJ0aW5nIElQQyBzZXJ2ZXIASVBDIHJlYWQgZXJyb3IASVBDIHdyaXRlIGVycm9yAFRvbyBtdWNoIGRhdGEgZm9yIElQQyBsYXllcgBVbmV4cGVjdGVkIElQQyBjb21tYW5kAFVua25vd24gSVBDIGNvbW1hbmQASVBDIHN5bnRheCBlcnJvcgBJUEMgY2FsbCBoYXMgYmVlbiBjYW5jZWxsZWQATm8gaW5wdXQgc291cmNlIGZvciBJUEMATm8gb3V0cHV0IHNvdXJjZSBmb3IgSVBDAElQQyBwYXJhbWV0ZXIgZXJyb3IAVW5rbm93biBJUEMgaW5xdWlyZQBHZW5lcmFsIExEQVAgZXJyb3IAR2VuZXJhbCBMREFQIGF0dHJpYnV0ZSBlcnJvcgBHZW5lcmFsIExEQVAgbmFtZSBlcnJvcgBHZW5lcmFsIExEQVAgc2VjdXJpdHkgZXJyb3IAR2VuZXJhbCBMREFQIHNlcnZpY2UgZXJyb3IAR2VuZXJhbCBMREFQIHVwZGF0ZSBlcnJvcgBFeHBlcmltZW50YWwgTERBUCBlcnJvciBjb2RlAFByaXZhdGUgTERBUCBlcnJvciBjb2RlAE90aGVyIGdlbmVyYWwgTERBUCBlcnJvcgBMREFQIGNvbm5lY3RpbmcgZmFpbGVkIChYKQBMREFQIHJlZmVycmFsIGxpbWl0IGV4Y2VlZGVkAExEQVAgY2xpZW50IGxvb3AATm8gTERBUCByZXN1bHRzIHJldHVybmVkAExEQVAgY29udHJvbCBub3QgZm91bmQATm90IHN1cHBvcnRlZCBieSBMREFQAExEQVAgY29ubmVjdCBlcnJvcgBPdXQgb2YgbWVtb3J5IGluIExEQVAAQmFkIHBhcmFtZXRlciB0byBhbiBMREFQIHJvdXRpbmUAVXNlciBjYW5jZWxsZWQgTERBUCBvcGVyYXRpb24AQmFkIExEQVAgc2VhcmNoIGZpbHRlcgBVbmtub3duIExEQVAgYXV0aGVudGljYXRpb24gbWV0aG9kAFRpbWVvdXQgaW4gTERBUABMREFQIGRlY29kaW5nIGVycm9yAExEQVAgZW5jb2RpbmcgZXJyb3IATERBUCBsb2NhbCBlcnJvcgBDYW5ub3QgY29udGFjdCBMREFQIHNlcnZlcgBMREFQIHN1Y2Nlc3MATERBUCBvcGVyYXRpb25zIGVycm9yAExEQVAgcHJvdG9jb2wgZXJyb3IAVGltZSBsaW1pdCBleGNlZWRlZCBpbiBMREFQAFNpemUgbGltaXQgZXhjZWVkZWQgaW4gTERBUABMREFQIGNvbXBhcmUgZmFsc2UATERBUCBjb21wYXJlIHRydWUATERBUCBhdXRoZW50aWNhdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABTdHJvbmcoZXIpIExEQVAgYXV0aGVudGljYXRpb24gcmVxdWlyZWQAUGFydGlhbCBMREFQIHJlc3VsdHMrcmVmZXJyYWwgcmVjZWl2ZWQATERBUCByZWZlcnJhbABBZG1pbmlzdHJhdGl2ZSBMREFQIGxpbWl0IGV4Y2VlZGVkAENyaXRpY2FsIExEQVAgZXh0ZW5zaW9uIGlzIHVuYXZhaWxhYmxlAENvbmZpZGVudGlhbGl0eSByZXF1aXJlZCBieSBMREFQAExEQVAgU0FTTCBiaW5kIGluIHByb2dyZXNzAE5vIHN1Y2ggTERBUCBhdHRyaWJ1dGUAVW5kZWZpbmVkIExEQVAgYXR0cmlidXRlIHR5cGUASW5hcHByb3ByaWF0ZSBtYXRjaGluZyBpbiBMREFQAENvbnN0cmFpbnQgdmlvbGF0aW9uIGluIExEQVAATERBUCB0eXBlIG9yIHZhbHVlIGV4aXN0cwBJbnZhbGlkIHN5bnRheCBpbiBMREFQAE5vIHN1Y2ggTERBUCBvYmplY3QATERBUCBhbGlhcyBwcm9ibGVtAEludmFsaWQgRE4gc3ludGF4IGluIExEQVAATERBUCBlbnRyeSBpcyBhIGxlYWYATERBUCBhbGlhcyBkZXJlZmVyZW5jaW5nIHByb2JsZW0ATERBUCBwcm94eSBhdXRob3JpemF0aW9uIGZhaWx1cmUgKFgpAEluYXBwcm9wcmlhdGUgTERBUCBhdXRoZW50aWNhdGlvbgBJbnZhbGlkIExEQVAgY3JlZGVudGlhbHMASW5zdWZmaWNpZW50IGFjY2VzcyBmb3IgTERBUABMREFQIHNlcnZlciBpcyBidXN5AExEQVAgc2VydmVyIGlzIHVuYXZhaWxhYmxlAExEQVAgc2VydmVyIGlzIHVud2lsbGluZyB0byBwZXJmb3JtAExvb3AgZGV0ZWN0ZWQgYnkgTERBUABMREFQIG5hbWluZyB2aW9sYXRpb24ATERBUCBvYmplY3QgY2xhc3MgdmlvbGF0aW9uAExEQVAgb3BlcmF0aW9uIG5vdCBhbGxvd2VkIG9uIG5vbi1sZWFmAExEQVAgb3BlcmF0aW9uIG5vdCBhbGxvd2VkIG9uIFJETgBBbHJlYWR5IGV4aXN0cyAoTERBUCkAQ2Fubm90IG1vZGlmeSBMREFQIG9iamVjdCBjbGFzcwBMREFQIHJlc3VsdHMgdG9vIGxhcmdlAExEQVAgb3BlcmF0aW9uIGFmZmVjdHMgbXVsdGlwbGUgRFNBcwBWaXJ0dWFsIExEQVAgbGlzdCB2aWV3IGVycm9yAE90aGVyIExEQVAgZXJyb3IAUmVzb3VyY2VzIGV4aGF1c3RlZCBpbiBMQ1VQAFNlY3VyaXR5IHZpb2xhdGlvbiBpbiBMQ1VQAEludmFsaWQgZGF0YSBpbiBMQ1VQAFVuc3VwcG9ydGVkIHNjaGVtZSBpbiBMQ1VQAFJlbG9hZCByZXF1aXJlZCBpbiBMQ1VQAExEQVAgY2FuY2VsbGVkAE5vIExEQVAgb3BlcmF0aW9uIHRvIGNhbmNlbABUb28gbGF0ZSB0byBjYW5jZWwgTERBUABDYW5ub3QgY2FuY2VsIExEQVAATERBUCBhc3NlcnRpb24gZmFpbGVkAFByb3hpZWQgYXV0aG9yaXphdGlvbiBkZW5pZWQgYnkgTERBUABVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxAFVzZXIgZGVmaW5lZCBlcnJvciBjb2RlIDIAVXNlciBkZWZpbmVkIGVycm9yIGNvZGUgMwBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSA0AFVzZXIgZGVmaW5lZCBlcnJvciBjb2RlIDUAVXNlciBkZWZpbmVkIGVycm9yIGNvZGUgNgBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSA3AFVzZXIgZGVmaW5lZCBlcnJvciBjb2RlIDgAVXNlciBkZWZpbmVkIGVycm9yIGNvZGUgOQBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxMABVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxMQBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxMgBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxMwBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxNABVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxNQBVc2VyIGRlZmluZWQgZXJyb3IgY29kZSAxNgBTeXN0ZW0gZXJyb3Igdy9vIGVycm5vAFVua25vd24gc3lzdGVtIGVycm9yAEVuZCBvZiBmaWxlAFVua25vd24gZXJyb3IgY29kZQAABwAAAA0AAABiAAAAYwAAAEQAAABhAAAACwAAAHIAAAAAAAAAAAAAADQAAAAJAAAATQAAAEoAAAA1AAAAAAAAADgAAAA5AAAAOwAAABAAAAB9AAAACgAAACwAAABGAAAAZwAAAG8AAABoAAAAAAAAACMAAAAjAAAAWQAAAAAAAAAhAAAASQAAAHoAAAARAAAADgAAABsAAAAAAAAAAAAAAAAAAABwAAAAcQAAACsAAAAAAAAAVAAAAHMAAAAEAAAAFgAAAAUAAABqAAAAFQAAAHgAAAAzAAAALQAAAC4AAAAvAAAATwAAAFAAAABTAAAAUgAAAFEAAAAwAAAAKAAAAHwAAAAYAAAAHwAAAFoAAABIAAAAJAAAAHcAAAAAAAAAZAAAAGYAAABlAAAAFwAAADcAAABpAAAAMgAAAD0AAAATAAAAAgAAAAgAAAAlAAAAQwAAAHsAAAAMAAAAKgAAAEAAAABBAAAAXAAAABwAAAA/AAAAPAAAACYAAAAPAAAAawAAABQAAAAnAAAAdgAAAFgAAABfAAAAGQAAAEwAAAAGAAAAXwAAAEsAAAABAAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAARwAAAF0AAABbAAAAIgAAAE4AAABCAAAAeQAAAFUAAAAeAAAAAAAAAGwAAABeAAAAHQAAAAMAAABFAAAAdAAAAFYAAAA+AAAAbgAAAG0AAAAaAAAAdQAAADEAAABXAAAACwAAABIAAAA2AAAAAAAAAAAAAAAAAAAAa4AAAFGAAAB/gAAAL4AAADGAAABogAAAAIAAAFKAAAALgAAAFYAAAAaAAACKgAAAVoAAAAGAAAAkgAAAX4AAABOAAAAjgAAAi4AAAFCAAABhgAAAM4AAADCAAABLgAAAQYAAAGaAAACGgAAAJYAAAFuAAAB+gAAAeoAAAEKAAABtgAAAIIAAAHWAAAAcgAAAHYAAAEWAAABTgAAAXoAAAGKAAAA/gAAAV4AAACuAAAAWgAAANoAAADeAAAA4gAAAPoAAAIiAAABOgAAANYAAAAqAAAAOgAAAjIAAAEyAAAAQgAAAEYAAABKAAABdgAAAT4AAAIOAAABcgAAAWIAAAFmAAAB3gAAAVIAAAASAAACAgAAAF4AAAHKAAABEgAAAIYAAAA2AAABqgAAAZ4AAAAyAAAB2gAAAOYAAADqAAAA9gAAAPIAAADuAAAAtgAAAeYAAAIKAAACJgAAAZIAAAB6AAABDgAAAdIAAAFqAAABzgAAAfYAAAGWAAABpgAAAbIAAAAWAAAACgAAAA4AAAEiAAABKgAAASYAAABiAAAAagAAATYAAADKAAABggAAAfIAAAIWAAACEgAAAGYAAACmAAAAqgAAAB4AAAC6AAACBgAAAh4AAAGOAAABGgAAANIAAAHiAAAAigAAAVYAAAECAAAAUgAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUZUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAACAAAAAJAAAACgAAAA0AAAALAAAADAAAAIUAAAAAIAAAASAAAAIgAAADIAAABCAAAAUgAAAGIAAACCAAAAkgAAAKIAAAKCAAACkgAABfIAAAADAAAAAAAAAAAAAAAAAAAEEAIBrAACAfAAEBLzIBAQU5AQEPSgEBLXkBAQVwAwEDkQMgEaMDIAkABFAQEAQgIGAEASGKBAE1wQQBDdAEAT8UBQETMQUwJqABAQWzAQEDzQEBD94BARH4AQEnIgIBEdgDARcAHgGVoB4BXwgf+AgYH/gGKB/4CDgf+AhIH/gGaB/4CIgf+AiYH/gIqB/4CLgf+AK6H7YCyB+qBNgf+ALaH5wC6B/4AuofkAL4H4AC+h+CAkYCAQkQBQEDYCEQEAAsMC9nLAEFgCwBY+ssAQNApgEtgKYBFyKnAQ0ypwE9eacBA36nAQmQpwEDoKcBCSH/IBoAAAAAAAAAAAAAAABJADEBUwB/ATABaQB4Af8AgQFTAoIBgwGEAYUBhgFUAocBiAGJAVYCigFXAosBjAGOAd0BjwFZApABWwKRAZIBkwFgApQBYwKWAWkClwFoApgBmQGcAW8CnQFyAp8BdQKmAYACpwGoAakBgwKsAa0BrgGIAq8BsAGxAYoCsgGLArcBkgK4AbkBvAG9AcQBxgHEAcUBxQHGAccByQHHAcgByAHJAcoBzAHKAcsBywHMAfEB8wHxAfIB8gHzAfQB9QH2AZUB9wG/ASACngGGA6wDiAOtA4kDrgOKA68DjAPMA44DzQOPA84DmQNFA5kDvh+jA8ID9wP4A/oD+wNgHpsenh7fAFkfUR9bH1MfXR9VH18fVx+8H7MfzB/DH+wf5R/8H/MfOgJlLDsCPAI9ApoBPgJmLEECQgJDAoABRAKJAkUCjAL0A7gD+QPyA/0DewP+A3wD/wN9A8AEzwQmIckDKiFrACsh5QAyIU4hgyGEIWAsYSxiLGsCYyx9HWQsfQJtLFECbixxAm8sUAJwLFICcixzLHUsdix+LD8CfyxAAvIs8yx9p3kdi6eMp42nZQKqp2YCxxAnLc0QLS12A3cDnAO1AJID0AOYA9EDpgPVA6AD1gOaA/ADoQPxA5UD9QPPA9cDAAAAAAAAAAAAAAAAEhETFBUWFxgZGhscHR4fICERIiMkESUmJygpKissES0uLxAQMBAQEBAQEBAxMjMQNDUQEBERERERERERERERERERERERERERERERERE2ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERNxERERE4ETk6Ozw9PhERERERERERERERERERERERERERERERERERERERERERERERERERERERERE/EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEUBBEUJDREVGR0hJEBAQSktMTU4QEBBPUBAQEBBREBAQEBAQEBAQERERUlMQEBAQEBAQEBAQEBERERFUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERFVEBAQEFYQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQVxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQWFlaWxAQEBAQEBAQEBAQEBAQEBAQEBAQEBBcEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAD+//8H/v//BwAAAAAABCAE//9/////f//////////////////////////////////D/wMAH1AAAAAAAAAAAAAAIAAAAAAA3zxA1///+////////////7///////////////////////wP8/////////////////////////wD+////fwL+/////wAAAAAA/7+2AP///wcHAAAA/wf//////////v/D////////////////7x/+4f+fAAD///////8A4P///////////////wMA//////8HMAT////8/x8AAP///wEAAAAAAAAAAP0fAAAAAAAA8AP/f//////////v/9/h/8///v7un/n///3F459ZgLDP/wMA7of5///9bcOHGQJewP8/AO6/+////e3jvxsBAM//AADun/n///3t458ZwLDP/wIA7Mc91hjH/8PHHYEAwP8AAO7f/f///e/j3x1gA8//AADs3/3///3v498dYEDP/wYA7N/9/////+ffXYAAz/8A/Oz/f/z///svf4Bf/wAADAD+/////3//Bz8g/wMAAAAAliXw/q7s/ztfIP/zAAAAAAEAAAD/AwAA//7///8f/v8D///+////HwAAAAAAAAAA////////f/n/A///58H//39A/zP/////vyD///////f///////////89fz3//////z3/////PX89/3//////////Pf//////////hwAAAAD//wAA/////////////x8A/v//////////////////////////////////////////////////////////n////v//B////////////8cBAP/fDwD//w8A//8PAP/fDQD////////P//8BgBD/AwAAAAD/A///////////////AP//////B///////////PwD///8f/w//AcD/////Px8A//////8P////A/8DAAAAAP///w//////////f/7/HwD/A/8DgAAAAAAAAAAAAAAA////////7//vD/8DAAAAAP//////8////////7//AwD///////8/AP/j//////8/AAAAAAAAAAAAAAAAAN5vAP///////////////////////////////wAAAAAAAAAA//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAAAAAAAAAAAAAAAKAAAD/HwAAAAAAAAAAAAAAAIT8Lz5Qvf/z4EMAAP//////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD///////8DAAD//////3///////3//////////////////////H3gMAP////+/IP////////+AAAD//38Af39/f39/f3//////AAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAA/gM+H/7///////////9/4P7/////////////9+D/////P/7/////////////fwAA////BwAAAAAAAP///////////////////////////////z8AAAAAAAAAAAD/////////////////////////////////HwAAAAAAAP//////////////////////HwAAAAAAAAAA//////8//x////8PAAD//////3/wj////4D/////////////AAAAAID//P///////////////3kPAP8HAAAAAAAAAAAA/7v3////AAAA////////DwD//////////w8A/wMAAPwI//////8H/////wcA////H/////////f/AID/AwAAAAD///////9/AP8//wP//38E/////////38FAAA4//88AH5+fgB/fwAAAAAAAAAAAAAAAAAAAAAAAP//////B/8D//////////////////////////8PAP//f/j//////w//////////////////P/////////////////8DAAAAAH8A+OD//X9f2/////////////////8DAAAA+P///////////////z8AAP///////////P///////wAAAAAA/w8AAAAAAAAAAAAAAAAAAN//////////////////////HwAA/wP+//8H/v//B8D/////////////f/z8/BwAAAAA/+///3///7f/P/8/AAAAAP///////////////////wcAAAAAAAAAAP///////x8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8f////////AQAAAAAA////fwAA////BwAAAAAAAP///z//////D/8+AAAAAAD/////////////////////////P/8DAAAAAAAAAAAAAD/9/////7+R//8/AAAAAAAAAAAAAAAAAAAAAAAAAAAA//8/AP///wMAAAAAAAAAAP/////////AAAAAAAAAAABv8O/+//8PAAAAAAD///8fAAAAAAAAAAAAAAAAAAAAAP///////z8A//8/AP//BwAAAAAAAAAAAAAAAAAAAAAA////////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////z8AAADA/wAA/P///////wEAAP///wH/A////////8f/AAAAAAAAAAD//////////x4A/wMAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z8A/wMAAAAAAAD/////////////////fwAAAAAAAAAAAAAAAAAAAAAAAP///////////////wcAAAAAAAAAAAAAAAAAAAAAAAAA//////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////HwD//////38AAPj/AAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////3///////////32Te/+vv/////////7/n39////97X/z9//////////////////////////////////////////////////////8//////f//9/////f//9/////f//9/////f/////3////9///3z////////+////+W/vcKhOqWqpb3917/+/8P7vv/DwAAAAAAAAAAEhATFBUWFxgZGhscHR4fICEQECIjECQlJicoKSorECwtLhEvMBERMRERETIzNDU2Nzg5ERAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA6EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA7EDw9Pj9AQRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBCEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBDEBBEEEVGRxBIEEkQEBAQSktMTRAQThBPUBAQEBBREBAQEBAQEBAQEBAQEFIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFMQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBUVVZXEBBYWRAQEBAQEBAQEBAQEBAQEBAQEBAQEBBaEFtcXV5fYGFiEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAP7/APwBAAD4AQAAeAAAAAD/+9/7AACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8APz/4K//////////////3///////IECwAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAPwDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAIb+////AEBJAAAAAAAYAN//AMgAAAAAAAAAAQA8AAAAAAAAAAAAAAAAEOABHgBg/78AAAAAAAD/BwAAAAAAAAAAAAAAAAAAAAAAAAD4zwMAAAADACD/fwAAAE4AAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAAAAQACAeADAAAQAAAAAAAAAAEAAgAAAAAPwPAAAAAAAAABAAIAAAAAAAAAAAAAAAAAAQACAAAAAAAwAAAAAAAAAAEAAgAAAAAP0AAAAAAAAAAAAAIAAAAAD/BwAAAAAAAAAAACAAAAAAAP8AAAAAAAAAEAAgAAAAAAAAAAAAAAAAAAAAIAAAAAA/AgAAAAAAAAAAAAQAAAAAEAAAAAAAAIAAgMDfAAwAAAAAAAAAAAAAAAAAHwAAAAAAAP7///8A/P//AAAAAAAAAAD8AAAAAAAAwP/f/wcAAAAAAAAAAAAAgAYA/AAAGD4AAIC/AMwAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAGD///8fAAD/AwAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAEAABgAAAAAAAAAAAA4AAAAABAAAABwAAAAAAAAAAAAAAAAAAAAMAAA/n8vAAD/A/9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4xAAAAAAAAAAAAAAAAAAAAAAAAxP////8AAADAAAAAAAAAAAABAOCfAAAAAH8/AAAAAAAAAAAAAAAAAAAAABAAEAAA/P///x8AAAAAAAwAAAAAAABAAAzwAAAAAAAAwPgAAAAAAAAAwAAAAAAAAAAA/wD///8hEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////fwAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAPgAOAA4ABggPj////8//////9/H/zxf/9/AAD///8DAAD/////AQB7A9DBr0IADB+8//8AAAAAAAL//////////////////////////////////////////////////////////w8A/////38AAAD/BwAA/////////////z8AAAAAAAD8///+/////////////////////////////////////////////////////x//AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCHA/4AAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAP//////f/8PAAAAAAAAAAD////7/////////////w8A//////////////////////////////////8/AAAA/w8e////AfzB4AAAAAAAAAAAAAAAHgEAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAP////8PAAAA////f////////////////////////////////////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAP///////38AAAAAAADAAOAAAAAAAAAAAAAAAIAPcAAAAAAAAAAAAAAAAAAA/wD//38AAwAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAEQIAAAAD/8DAAAAAAAA8AAAAAAAAAAAABDAAAD//wMHAAAAAAD4AAAAAAiAAAAAAAAAAAAAAAgA/z8AwAAAAAAAAAAAAAAAAAAAAPAAAIALAAAAAAAAAIACAADAAABDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAD8/wMAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADD///8DfwD/////9/9/DwAAAAAAAAAAAAAAAAAAAAAAgP7/APwBAAD4AQAA+D8AAAAAAAAAAAAAAAAAAAB/fwAwh///////j/8AAAAAAADg//8H/w8AAAAAAAD//////z8AAAAADwAAAAAAAAAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAAAAACA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAADAjwAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh/8A/wEAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA//P8/AAAAAwAAAAAAAP4DAAAAAAAAAAAAAAAAABgADwAAAAAAAAAAAAAAAAAAAOEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAcAAAAAAAAAAAAAAAAA////////////////////////////////////////PwD/////f/7///////////////////////////8/AAAAAP//////////PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////38A//8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAIAAAACAAAIAAAACAAAIAAAACAAAAAAgAAAAIAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwD//////w////////////////8PAP9//n/+//7/AAAAAP8H////f/////////8P//////8HAAAAAAAAAADA////BwD//////wf/AQMAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AQC///////////8f//8PAP/////fBwAA//8BAP////////9//f////////////////////////////8e/////////z8PAP///wAAAAAAAAAAAAAAAAAAAAAAAPj//////////+H/AAAAAAAA//////////8/AAAAAAAAAP//////////////////DwAAAAAAAAAAAAAAAAAAAAAAAAAAAC30UVjPjLHARva1yykxA8cEW3AwtF39IHh/i5rYWSlQaEiJq6dWA2z/t82IP9R3tCulo3DxuuSo/EGD/dlv4Yp6Ly10lgcfDQleA3YscPdApSynb1dBqKp036BYZANKx8Q8U66vXxgEFbHjbSiGqwykv0Pw6VCBOVcWUjf/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAIAAADB6QAAIBIAADASAAAQAAAAgAAAAPgBAAABAAAAAgAAAAMAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAFH0p1B+QWVTGhekwzonXpY7q2vLH51F8az6WKtL4wOTIDD6Va12bfaIzHaR9QJMJU/l1/zFKsvXJjVEgLVio4/esVpJJbobZ0XqDphd/sDhwy91AoFM8BKNRpeja9P5xgOPX+cVkpyVv21665VSWdrUvoMtWHQh00ngaSmOychEdcKJavSOeXiZWD5rJ7lx3b7hT7bwiK0XySCsZn3OOrRj30oY5RoxgpdRM2BiU39FsWR34LtrroT+gaAc+QgrlHBIaFiPRf0ZlN5sh1J7+Lerc9MjcksC4uMfj1dmVasqsusoBy+1wgOGxXua0zcIpTAoh/Ijv6WyAgNquu0WglyKzxwrp3m0kvMH8vBOaeKhZdr0zQYFvtXRNGIfxKb+ijQuU52i81WgBYrhMqT263ULg+w5QGDvql5xnwa9bhBRPiGK+ZbdBj3dPgWuTea9RpFUjbVxxF0FBAbUb2BQFf8ZmPsk1r3pl4lAQ8xn2Z53sOhCvQeJi4jnGVs4ecju26F8Ckd8Qg/p+IQeyQAAAAAJgIaDMivtSB4RcKxsWnJO/Q7/+w+FOFY9rtUeNi05JwoP2WRoXKYhm1tU0SQ2LjoMCmexk1fnD7TultIbm5GegMDFT2HcIKJad0tpHBIaFuKTugrAoCrlPCLgQxIbFx0OCQ0L8ovHrS22qLkUHqnIV/EZha91B0zumd27o39g/fcBJp9ccvW8RGY7xVv7fjSLQyl2yyPG3Lbt/Gi45PFj1zHcykJjhRATlyJAhMYRIIVKJH3Suz34rvkyEccpoW0dni9L3LIw8w2GUux3wePQK7MWbKlwuZkRlEj6R+lkIqj8jMSg8D8aVn0s2CIzkO+HSU7H2TjRwYzKov6Y1As2pvWBz6V63ijat44mP62/pCw6neRQeJINal/Mm1R+RmL2jRPCkNi46C45916Cw6/1n12AvmnQk3xv1S2pzyUSs8ismTsQGH2n6Jxjbts7u3vNJngJblkY9OyatwGDT5qo5pVuZar/5n4hvM8I7xXo5rrnm9lKbzbO6p8J1CmwfNYxpLKvKj8jMcallDA1ombAdE68N/yCyqbgkNCwM6fYFfEEmEpB7Nr3f81QDheR9i92TdaNQ++wTcyqTVTklgTfntG140xqiBvBLB+4RmVRf51e6gQBjDVd+od0c/sLQS6zZx1aktvSUukQVjNt1kcTmtdhjDehDHpZ+BSO6xM8ic6pJ+63Yck14Rzl7XpHsTyc0t9ZVfJzPxgUznlzxze/U/fN6l/9qlvfPW8UeETbhsqv84G5aMQ+OCQ0LMKjQF8WHcNyvOIlDCg8SYv/DZVBOagBcQgMs97YtOScZFbBkHvLhGHVMrZwSGxcdNC4V0JSCWrVMDalOL9Ao56B89f7fOM5gpsv/4c0jkNExN7py1R7lDKmwiM97kyVC0L6w04ILqFmKNkksnZboklti9Elcvj2ZIZomBbUpFzMXWW2kmxwSFD97bnaXhVGV6eNnYSQ2KsAjLzTCvfkWAW4s0UG0Cwej8o/DwLBr70DAROKazqREUFPZ9zql/LPzvC05nOWrHQi5601heL5N+gcdd9uR/EacR0pxYlvt2IOqhi+G/xWPkvG0nkgmtvA/njNWvQf3agziAfHMbESEFkngOxfYFF/qRm1Sg0t5Xqfk8mc76DgO02uKvWwyOu7PINTmWEXKwR+unfWJuFpFGNVIQx9CAAAAAIAAACD6wAA5JkAAOAYAAAQAAAAwAAAAPgBAAABAAAAAgAAAAMAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAOrrAAD26wAAAAAAAAkAAAACAAAA/usAADCaAAAQGQAAEAAAAAABAAD4AQAAAQAAAAIAAAADAAAAAAAAAAAAAAAEAAAAAAAAAAAAAABl7AAAcewAAAAAAAADAAAAAAAAAHnsAACD7AAADwAAAHCaAAAUAAAABQAAAAYAAAAHAAAACAAAALgAAAAAAAAAkuwAAKHsAAAAAAAAAQAAAAIAAAADAAAAJe4AAEAZAAAp7gAALO4AADPuAAA17gAAN+4AAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAAAAAAAAAAAAgAAAAIAAADU8wAA2fMAAA8AAABAHwAAFAAAABIAAAAGAAAAEwAAABQAAAC4AAAAFQAAAAsAAAACAAAAfPQAAGAfAAATAAAAOJsAABwAAAAWAAAABgAAABcAAAAYAAAAwAAAABkAAAB29QAAAAAAAAgAAAACAAAAjfUAAIAfAAATAAAAdJsAACAAAAAaAAAABgAAABcAAAAYAAAAwAAAABkAAACU9QAAq/UAAAAAAAAKAAAAAgAAAMH1AACgHwAAEwAAALSbAABAAAAAGwAAAAYAAAAcAAAAHQAAAOAAAAAeAAAAw/cAANr3AAAAAAAACQAAAAIAAADw9wAAQCIAABMAAAD0mwAAMAAAAB8AAAAGAAAAHAAAAB0AAADgAAAAHgAAAPf3AAAO+AAAAAAAAAoAAAAAAAAAJPgAAAAAAAAAAAAAEAAAAAABAACgEAAAIAAAACEAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAQAAAAAAAMD4AAAAAAAAAAAAABAAAACAAAAAoBAAACAAAAAhAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAMAAACm/AAAgD8AAKr8AACy/AAAu/wAAL78AACq/AAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAQAAAALgAAAC8AAAAwAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////BQAAAAAAAAAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAADMAAABYFgEAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOidAABsngAABQAAAAAAAAAAAAAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAADMAAACDHgEAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJB4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAHdyYXAuYwBjb21tb25fYWxsb2NhdGlvbi5jAEdOVU5FVF94bWFsbG9jXwB1dGlsLWNvbW1vbi1hbGxvY2F0aW9uAG1hbGxvYwBHTlVORVRfeGZyZWVfAEdOVU5FVF9zbnByaW50ZgBjb21tb25fbG9nZ2luZy5jACVzLSVkAG15bG9nAGxvY2FsdGltZSBlcnJvcgAlYiAlZCAlSDolTTolUy0lJTA2dQAqICVzAE5PTkUASU5WQUxJRABERUJVRwBFUlJPUgBXQVJOSU5HAE1FU1NBR0UASU5GTwAlcyAlcyAlcyAlcwBNZXNzYWdlIGAlLipzJyByZXBlYXRlZCAldSB0aW1lcyBpbiB0aGUgbGFzdCAlcwoAR05VTkVUX2xvZ19za2lwAGNyeXB0b19zeW1tZXRyaWMuYwBHTlVORVRfQ1JZUFRPX3N5bW1ldHJpY19lbmNyeXB0AHNldHVwX2NpcGhlcl90d29maXNoAHNldHVwX2NpcGhlcl9hZXMAR05VTkVUX0NSWVBUT19zeW1tZXRyaWNfZGVjcnlwdABjcnlwdG9fZWNjLmMAR05VTkVUX0NSWVBUT19lY2RzYV9rZXlfZ2V0X3B1YmxpYwBxQGVkZHNhAChwcml2YXRlLWtleShlY2MoY3VydmUgIkVkMjU1MTkiKShkICViKSkpAHV0aWwtY3J5cHRvLWVjYwBkZWNvZGVfcHJpdmF0ZV9lY2RzYV9rZXkAZ2NyeV9zZXhwX2J1aWxkAEdOVU5FVF9DUllQVE9fZWRkc2Ffa2V5X2dldF9wdWJsaWMAKHByaXZhdGUta2V5KGVjYyhjdXJ2ZSAiRWQyNTUxOSIpKGZsYWdzIGVkZHNhKShkICViKSkpAGRlY29kZV9wcml2YXRlX2VkZHNhX2tleQBkZWNvZGVfcHJpdmF0ZV9lY2RoZV9rZXkAR05VTkVUX0NSWVBUT19lY2RoZV9rZXlfZ2V0X3B1YmxpYwAoZ2Vua2V5KGVjYyhjdXJ2ZSAiRWQyNTUxOSIpKGZsYWdzIGVkZHNhIG5vLWtleXRlc3QpKSkAR05VTkVUX0NSWVBUT19lY2RoZV9rZXlfY3JlYXRlMgBnY3J5X3BrX2dlbmtleQBrZXlfZnJvbV9zZXhwAChnZW5rZXkoZWNjKGN1cnZlICJFZDI1NTE5IikoZmxhZ3MpKSkAR05VTkVUX0NSWVBUT19lY2RzYV9rZXlfY3JlYXRlAChnZW5rZXkoZWNjKGN1cnZlICJFZDI1NTE5IikoZmxhZ3MgZWRkc2EpKSkAR05VTkVUX0NSWVBUT19lZGRzYV9rZXlfY3JlYXRlAEdOVU5FVF9DUllQVE9fZWRkc2Ffc2lnbgBFZERTQSBzaWduaW5nIGZhaWxlZCBhdCAlczolZDogJXMKAChkYXRhKGZsYWdzIGVkZHNhKShoYXNoLWFsZ28gJXMpKHZhbHVlICViKSkAZGF0YV90b19lZGRzYV92YWx1ZQAocHVibGljLWtleShlY2MoY3VydmUgRWQyNTUxOSkocSAlYikpKQAoc2lnLXZhbChlZGRzYShyICViKShzICViKSkpAEdOVU5FVF9DUllQVE9fZWRkc2FfdmVyaWZ5AChwdWJsaWMta2V5KGVjYyhjdXJ2ZSBFZDI1NTE5KShmbGFncyBlZGRzYSkocSAlYikpKQBFZERTQSBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGZhaWxlZCBhdCAlczolZDogJXMKAEdOVU5FVF9DUllQVE9fZWNjX2VjZGgAZ2V0X2FmZmluZSBmYWlsZWQAcG9pbnRfdG9faGFzaABHTlVORVRfQ1JZUFRPX2VjZGhfZWRkc2EAY3J5cHRvX2hhc2guYwBHTlVORVRfQ1JZUFRPX2hhc2hfY29udGV4dF9zdGFydABHTlVORVRfQ1JZUFRPX2hhc2hfY29udGV4dF9maW5pc2gAY3J5cHRvX2tkZi5jAEdOVU5FVF9DUllQVE9fa2RmX21vZF9tcGkAY3J5cHRvX21waS5jAEdOVU5FVF9DUllQVE9fbXBpX3ByaW50X3Vuc2lnbmVkAHV0aWwtY3J5cHRvLW1waQBgJXMnIGZhaWxlZCBhdCAlczolZCB3aXRoIGVycm9yOiAlcwoAZ2NyeV9tcGlfcHJpbnQAR05VTkVUX0NSWVBUT19tcGlfc2Nhbl91bnNpZ25lZABnY3J5X21waV9zY2FuADEuNi4wAGxpYmdjcnlwdCBoYXMgbm90IHRoZSBleHBlY3RlZCB2ZXJzaW9uICh2ZXJzaW9uICVzIGlzIHJlcXVpcmVkKS4KAGNyeXB0b19yYW5kb20uYwBHTlVORVRfQ1JZUFRPX3JhbmRvbV9pbml0AEZhaWxlZCB0byBzZXQgbGliZ2NyeXB0IG9wdGlvbiAlczogJXMKAERJU0FCTEVfU0VDTUVNAEVOQUJMRV9RVUlDS19SQU5ET00AR05VTkVUX0NSWVBUT19yYW5kb21fYmxvY2sAR05VTkVUX0NSWVBUT19yYW5kb21fdTMyAChnZW5rZXkocnNhKG5iaXRzICVkKSkpAGNyeXB0b19yc2EuYwBHTlVORVRfQ1JZUFRPX3JzYV9wcml2YXRlX2tleV9jcmVhdGUAR05VTkVUX0NSWVBUT19yc2FfcHJpdmF0ZV9rZXlfZW5jb2RlAHV0aWwtY3J5cHRvLXJzYQBHTlVORVRfQ1JZUFRPX3JzYV9wcml2YXRlX2tleV9kZWNvZGUARGVjb2RlZCBwcml2YXRlIGtleSBpcyBub3QgdmFsaWQKAEdOVU5FVF9DUllQVE9fcnNhX3ByaXZhdGVfa2V5X2dldF9wdWJsaWMARXh0ZXJuYWwgcHJvdG9jb2wgdmlvbGF0aW9uIGRldGVjdGVkIGF0ICVzOiVkLgoAKHB1YmxpYy1rZXkocnNhKG4gJW0pKGUgJW0pKSkAR05VTkVUX0NSWVBUT19yc2FfcHVibGljX2tleV9lbmNvZGUAR05VTkVUX0NSWVBUT19yc2FfcHVibGljX2tleV9kZWNvZGUAR05VTkVUX0NSWVBUT19yc2Ffc2lnbmF0dXJlX2VuY29kZQBHTlVORVRfQ1JZUFRPX3JzYV9ibGluZABudW1lcmljX21waV9hbGxvY19uX3ByaW50AHJzYV9ibGluZGluZ19rZXlfZGVyaXZlAEJsaW5kaW5nIEtERiBleHRyYXRvciBITUFDIGtleQBCbGluZGluZyBLREYAcnNhX2Z1bGxfZG9tYWluX2hhc2gAUlNBLUZEQSBGVHBzVyEAKGRhdGEgKGZsYWdzIHJhdykgKHZhbHVlICVNKSkAbXBpX3RvX3NleHAAR05VTkVUX0NSWVBUT19yc2Ffc2lnbmF0dXJlX2RlY29kZQBHTlVORVRfQ1JZUFRPX3JzYV91bmJsaW5kAChzaWctdmFsIChyc2EgKHMgJU0pKSkAR05VTkVUX0NSWVBUT19yc2FfdmVyaWZ5AFJTQSBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGZhaWxlZCBhdCAlczolZDogJXMKAHN0cmluZ3MuYwAlbGx1ICVzAGZvcmV2ZXIAbXMAbQBkYXkAZGF5cwDCtXMAMCBtcwBHTlVORVRfU1RSSU5HU19kYXRhX3RvX3N0cmluZwBBc3NlcnRpb24gZmFpbGVkIGF0ICVzOiVkLgoAMDEyMzQ1Njc4OUFCQ0RFRkdISktNTlBRUlNUVldYWVoAR05VTkVUX1NUUklOR1Nfc3RyaW5nX3RvX2RhdGEAdmlzaWJpbGl0eS5jAGdjcnlfbWRfaGFzaF9idWZmZXIAY2FsbGVkIGluIG5vbi1vcGVyYXRpb25hbCBzdGF0ZQBnY3J5X21kX2dldF9hbGdvAHVzZWQgaW4gbm9uLW9wZXJhdGlvbmFsIHN0YXRlAGdjcnlfcmFuZG9taXplAGdjcnlfY3JlYXRlX25vbmNlAG1pc2MuYwBfZ2NyeV9mYXRhbF9lcnJvcgAKRmF0YWwgZXJyb3I6IABGYXRhbDogAE9oaGhoIGplZWVlOiAAREJHOiAAW1Vua25vd24gbG9nIGxldmVsICVkXTogAF9nY3J5X2xvZ3YAaW50ZXJuYWwgZXJyb3IgKGZhdGFsIG9yIGJ1ZykALi4uIHRoaXMgaXMgYSBidWcgKCVzOiVkOiVzKQoAQXNzZXJ0aW9uIGAlcycgZmFpbGVkICglczolZDolcykKACAAJXM6JXMAJSpzICAAJTAyeAAgXAoAJSpzICUqcwAgKG51bGwpACBbJXUgYml0XQAgW291dCBvZiBjb3JlXQArAC0AZGl2aWRlIGJ5IHplcm8AZ2xvYmFsLmMAZ2xvYmFsX2luaXQAMS43LjAtYmV0YTIzMAB2ZXJzaW9uOiVzOgoAY2lwaGVyczolczoKAGFlczp0d29maXNoAHB1YmtleXM6JXM6CgByc2E6ZWNjAGRpZ2VzdHM6JXM6CgBzaGEyNTY6c2hhNTEyAHJuZC1tb2Q6bGludXg6CgBjcHUtYXJjaDo6CgBtcGktYXNtOiVzOgoAaHdmbGlzdDoAJXM6AAoAZmlwcy1tb2RlOiVjOiVjOgoAcHJpbnRfY29uZmlnAHN5c3RlbQBmaXBzAHN0YW5kYXJkAHJuZy10eXBlOiVzOiVkOgoAY3VzdG9tIGFsbG9jYXRpb24gaGFuZGxlcgBvdXQgb2YgY29yZSBpbiBzZWN1cmUgbWVtb3J5AFx4JTAyeABzZXhwLmMAZG9fdnNleHBfc3NjYW4AJWQAJXUAJlwAX2djcnlfc2V4cF9maW5kX3Rva2VuAF9nY3J5X3NleHBfbnRoAAMEAAgJCwoMDSInXAAtLi9fOiorPQAlMDJYACV1OgBfZ2NyeV9zZXhwX3NwcmludABwYWRsb2NrLXJuZwBwYWRsb2NrLWFlcwBwYWRsb2NrLXNoYQBwYWRsb2NrLW1tdWwAaW50ZWwtY3B1AGludGVsLWJtaTIAaW50ZWwtc3NzZTMAaW50ZWwtcGNsbXVsAGludGVsLWFlc25pAGludGVsLXJkcmFuZABpbnRlbC1hdngAaW50ZWwtYXZ4MgBhcm0tbmVvbgAvZXRjL2djcnlwdC9od2YuZGVueQBtZW1vcnkgYXQgJXAgY29ycnVwdGVkICh1bmRlcmZsb3c9JTAyeCkKAG1lbW9yeSBhdCAlcCBjb3JydXB0ZWQgKG92ZXJmbG93PSUwMngpCgBmYWlsZWQgdG8gZHJvcCBzZXR1aWQKAHNlY3VyZSBtZW1vcnkgaXMgZGlzYWJsZWQAY2FuJ3QgbW1hcCBwb29sIG9mICV1IGJ5dGVzOiAlcyAtIHVzaW5nIG1hbGxvYwoAY2FuJ3QgYWxsb2NhdGUgbWVtb3J5IHBvb2wgb2YgJXUgYnl0ZXMKAFBsZWFzZSBub3RlIHRoYXQgeW91IGRvbid0IGhhdmUgc2VjdXJlIG1lbW9yeSBvbiB0aGlzIHN5c3RlbQoAT29wcywgc2VjdXJlIG1lbW9yeSBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQKAG9wZXJhdGlvbiBpcyBub3QgcG9zc2libGUgd2l0aG91dCBpbml0aWFsaXplZCBzZWN1cmUgbWVtb3J5CgBzZWNtZW0gdXNhZ2U6ICV1LyVsdSBieXRlcyBpbiAldSBibG9ja3MKACFkb25lAGZpcHMuYwBfZ2NyeV9pbml0aWFsaXplX2ZpcHNfbW9kZQAhbm9fZmlwc19tb2RlX3JlcXVpcmVkAC9ldGMvZ2NyeXB0L2ZpcHNfZW5hYmxlZAByAC9wcm9jL3ZlcnNpb24ARkFUQUw6IGVycm9yIHJlYWRpbmcgYCVzJyBpbiBsaWJnY3J5cHQ6ICVzCgBGQVRBTDogZmFpbGVkIHRvIGNyZWF0ZSB0aGUgRlNNIGxvY2sgaW4gbGliZ2NyeXB0OiAlcwoARkFUQUw6IGZhaWxlZCB0byBhY3F1aXJlIHRoZSBGU00gbG9jayBpbiBsaWJncnlwdDogJXMKAEZBVEFMOiBmYWlsZWQgdG8gcmVsZWFzZSB0aGUgRlNNIGxvY2sgaW4gbGliZ3J5cHQ6ICVzCgBTaHV0ZG93bgBGYXRhbC1FcnJvcgBFcnJvcgBPcGVyYXRpb25hbABTZWxmLVRlc3QASW5pdABQb3dlci1PbgBncmFudGVkAGRlbmllZABsaWJnY3J5cHQgc3RhdGUgdHJhbnNpdGlvbiAlcyA9PiAlcyAlcwoAX2djcnlfZmlwc19tb2RlICgpAF9nY3J5X2luYWN0aXZhdGVfZmlwc19tb2RlAG5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZQAlc2Vycm9yIGluIGxpYmdjcnlwdCwgZmlsZSAlcywgbGluZSAlZCVzJXM6ICVzCgAsIGZ1bmN0aW9uIABmYXRhbCAASE1BQy0AT2theQAgKABsaWJnY3J5cHQgc2VsZnRlc3Q6ICVzICVzJXMgKCVkKTogJXMlcyVzJXMKAGJhZCBjb250ZXh0IHR5cGUgJWQgZ2l2ZW4gdG8gX2djcnlfY3R4X2FsbG9jCgBjVHgAYmFkIHBvaW50ZXIgJXAgcGFzc2VkIHRvIF9nY3J5X2N0eF9nZXRfcG9pbnRlcgoAd3JvbmcgY29udGV4dCB0eXBlICVkIHJlcXVlc3QgZm9yIGNvbnRleHQgJXAgb2YgdHlwZSAlZAoAYmFkIHBvaW50ZXIgJXAgcGFzc2VkIHRvIGdjcnlfY3R4X3JlbGFzZQoAYmFkIGNvbnRleHQgdHlwZSAlZCBkZXRlY3RlZCBpbiBnY3J5X2N0eF9yZWxhc2UKAGdjcnlfY2lwaGVyX2Nsb3NlOiBhbHJlYWR5IGNsb3NlZC9pbnZhbGlkIGhhbmRsZQBjaXBoZXIuYwBjaXBoZXJfZW5jcnlwdABjaXBoZXIgbW9kZSBOT05FIHVzZWQAY2lwaGVyX2VuY3J5cHQ6IGludmFsaWQgbW9kZSAlZAoAY2lwaGVyX2RlY3J5cHQAY2lwaGVyX2RlY3J5cHQ6IGludmFsaWQgbW9kZSAlZAoAV0FSTklORzogY2lwaGVyX3NldGl2OiBpdmxlbj0ldSBibGtsZW49JXUKAGNpcGhlcl9zZXRpdgBJViBsZW5ndGggZG9lcyBub3QgbWF0Y2ggYmxvY2tsZW5ndGgAMHg3RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkVEAC0weDAxAC0weDJERkM5MzExRDQ5MDAxOEM3MzM4QkY4Njg4ODYxNzY3RkY4RkY1QjJCRUJFMjc1NDhBMTRCMjM1RUNBNjg3NEEAMHgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0REVGOURFQTJGNzlDRDY1ODEyNjMxQTVDRjVEM0VEADB4MjE2OTM2RDNDRDZFNTNGRUMwQTRFMjMxRkRENkRDNUM2OTJDQzc2MDk1MjVBN0IyQzk1NjJENjA4RjI1RDUxQQAweDY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NTgAMHgwOABOSVNUIFAtMTkyADB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmADB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZjADB4NjQyMTA1MTllNTljODBlNzBmYTdlOWFiNzIyNDMwNDlmZWI4ZGVlY2MxNDZiOWIxADB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmOTlkZWY4MzYxNDZiYzliMWI0ZDIyODMxADB4MTg4ZGE4MGViMDMwOTBmNjdjYmYyMGViNDNhMTg4MDBmNGZmMGFmZDgyZmYxMDEyADB4MDcxOTJiOTVmZmM4ZGE3ODYzMTAxMWVkNmIyNGNkZDU3M2Y5NzdhMTFlNzk0ODExADB4MDEATklTVCBQLTIyNAAweGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxADB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmVmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmUAMHhiNDA1MGE4NTBjMDRiM2FiZjU0MTMyNTY1MDQ0YjBiN2Q3YmZkOGJhMjcwYjM5NDMyMzU1ZmZiNAAweGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYxNmEyZTBiOGYwM2UxM2RkMjk0NTVjNWMyYTNkADB4YjcwZTBjYmQ2YmI0YmY3ZjMyMTM5MGI5NGEwM2MxZDM1NmMyMTEyMjM0MzI4MGQ2MTE1YzFkMjEAMHhiZDM3NjM4OGI1ZjcyM2ZiNGMyMmRmZTZjZDQzNzVhMDVhMDc0NzY0NDRkNTgxOTk4NTAwN2UzNABOSVNUIFAtMjU2ADB4ZmZmZmZmZmYwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZgAweGZmZmZmZmZmMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMAMHg1YWM2MzVkOGFhM2E5M2U3YjNlYmJkNTU3Njk4ODZiYzY1MWQwNmIwY2M1M2IwZjYzYmNlM2MzZTI3ZDI2MDRiADB4ZmZmZmZmZmYwMDAwMDAwMGZmZmZmZmZmZmZmZmZmZmZiY2U2ZmFhZGE3MTc5ZTg0ZjNiOWNhYzJmYzYzMjU1MQAweDZiMTdkMWYyZTEyYzQyNDdmOGJjZTZlNTYzYTQ0MGYyNzcwMzdkODEyZGViMzNhMGY0YTEzOTQ1ZDg5OGMyOTYAMHg0ZmUzNDJlMmZlMWE3ZjliOGVlN2ViNGE3YzBmOWUxNjJiY2UzMzU3NmIzMTVlY2VjYmI2NDA2ODM3YmY1MWY1AE5JU1QgUC0zODQAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlZmZmZmZmZmYwMDAwMDAwMDAwMDAwMDAwZmZmZmZmZmYAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlZmZmZmZmZmYwMDAwMDAwMDAwMDAwMDAwZmZmZmZmZmMAMHhiMzMxMmZhN2UyM2VlN2U0OTg4ZTA1NmJlM2Y4MmQxOTE4MWQ5YzZlZmU4MTQxMTIwMzE0MDg4ZjUwMTM4NzVhYzY1NjM5OGQ4YTJlZDE5ZDJhODVjOGVkZDNlYzJhZWYAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjNzYzNGQ4MWY0MzcyZGRmNTgxYTBkYjI0OGIwYTc3YWVjZWMxOTZhY2NjNTI5NzMAMHhhYTg3Y2EyMmJlOGIwNTM3OGViMWM3MWVmMzIwYWQ3NDZlMWQzYjYyOGJhNzliOTg1OWY3NDFlMDgyNTQyYTM4NTUwMmYyNWRiZjU1Mjk2YzNhNTQ1ZTM4NzI3NjBhYjcAMHgzNjE3ZGU0YTk2MjYyYzZmNWQ5ZTk4YmY5MjkyZGMyOWY4ZjQxZGJkMjg5YTE0N2NlOWRhMzExM2I1ZjBiOGMwMGE2MGIxY2UxZDdlODE5ZDdhNDMxZDdjOTBlYTBlNWYATklTVCBQLTUyMQAweDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZgAweDAxZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYwAweDA1MTk1M2ViOTYxOGUxYzlhMWY5MjlhMjFhMGI2ODU0MGVlYTJkYTcyNWI5OWIzMTVmM2I4YjQ4OTkxOGVmMTA5ZTE1NjE5Mzk1MWVjN2U5MzdiMTY1MmMwYmQzYmIxYmYwNzM1NzNkZjg4M2QyYzM0ZjFlZjQ1MWZkNDZiNTAzZjAwADB4MWZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYTUxODY4NzgzYmYyZjk2NmI3ZmNjMDE0OGY3MDlhNWQwM2JiNWM5Yjg4OTljNDdhZWJiNmZiNzFlOTEzODY0MDkAMHgwMGM2ODU4ZTA2YjcwNDA0ZTljZDllM2VjYjY2MjM5NWI0NDI5YzY0ODEzOTA1M2ZiNTIxZjgyOGFmNjA2YjRkM2RiYWExNGI1ZTc3ZWZlNzU5MjhmZTFkYzEyN2EyZmZhOGRlMzM0OGIzYzE4NTZhNDI5YmY5N2U3ZTMxYzJlNWJkNjYAMHgwMTE4MzkyOTZhNzg5YTNiYzAwNDVjOGE1ZmI0MmM3ZDFiZDk5OGY1NDQ0OTU3OWI0NDY4MTdhZmJkMTcyNzNlNjYyYzk3ZWU3Mjk5NWVmNDI2NDBjNTUwYjkwMTNmYWQwNzYxMzUzYzcwODZhMjcyYzI0MDg4YmU5NDc2OWZkMTY2NTAAYnJhaW5wb29sUDE2MHIxADB4ZTk1ZTRhNWY3MzcwNTlkYzYwZGZjN2FkOTViM2Q4MTM5NTE1NjIwZgAweDM0MGU3YmUyYTI4MGViNzRlMmJlNjFiYWRhNzQ1ZDk3ZThmN2MzMDAAMHgxZTU4OWE4NTk1NDIzNDEyMTM0ZmFhMmRiZGVjOTVjOGQ4Njc1ZTU4ADB4ZTk1ZTRhNWY3MzcwNTlkYzYwZGY1OTkxZDQ1MDI5NDA5ZTYwZmMwOQAweGJlZDVhZjE2ZWEzZjZhNGY2MjkzOGM0NjMxZWI1YWY3YmRiY2RiYzMAMHgxNjY3Y2I0NzdhMWE4ZWMzMzhmOTQ3NDE2NjljOTc2MzE2ZGE2MzIxAGJyYWlucG9vbFAxOTJyMQAweGMzMDJmNDFkOTMyYTM2Y2RhN2EzNDYzMDkzZDE4ZGI3OGZjZTQ3NmRlMWE4NjI5NwAweDZhOTExNzQwNzZiMWUwZTE5YzM5YzAzMWZlODY4NWMxY2FlMDQwZTVjNjlhMjhlZgAweDQ2OWEyOGVmN2MyOGNjYTNkYzcyMWQwNDRmNDQ5NmJjY2E3ZWY0MTQ2ZmJmMjVjOQAweGMzMDJmNDFkOTMyYTM2Y2RhN2EzNDYyZjllOWU5MTZiNWJlOGYxMDI5YWM0YWNjMQAweGMwYTA2NDdlYWFiNmE0ODc1M2IwMzNjNTZjYjBmMDkwMGEyZjVjNDg1MzM3NWZkNgAweDE0YjY5MDg2NmFiZDViYjg4YjVmNDgyOGMxNDkwMDAyZTY3NzNmYTJmYTI5OWI4ZgBicmFpbnBvb2xQMjI0cjEAMHhkN2MxMzRhYTI2NDM2Njg2MmExODMwMjU3NWQxZDc4N2IwOWYwNzU3OTdkYTg5ZjU3ZWM4YzBmZgAweDY4YTVlNjJjYTljZTZjMWMyOTk4MDNhNmMxNTMwYjUxNGUxODJhZDhiMDA0MmE1OWNhZDI5ZjQzADB4MjU4MGY2M2NjZmU0NDEzODg3MDcxM2IxYTkyMzY5ZTMzZTIxMzVkMjY2ZGJiMzcyMzg2YzQwMGIAMHhkN2MxMzRhYTI2NDM2Njg2MmExODMwMjU3NWQwZmI5OGQxMTZiYzRiNmRkZWJjYTNhNWE3OTM5ZgAweDBkOTAyOWFkMmM3ZTVjZjQzNDA4MjNiMmE4N2RjNjhjOWU0Y2UzMTc0YzFlNmVmZGVlMTJjMDdkADB4NThhYTU2Zjc3MmMwNzI2ZjI0YzZiODllNGVjZGFjMjQzNTRiOWU5OWNhYTNmNmQzNzYxNDAyY2QAYnJhaW5wb29sUDI1NnIxADB4YTlmYjU3ZGJhMWVlYTliYzNlNjYwYTkwOWQ4MzhkNzI2ZTNiZjYyM2Q1MjYyMDI4MjAxMzQ4MWQxZjZlNTM3NwAweDdkNWEwOTc1ZmMyYzMwNTdlZWY2NzUzMDQxN2FmZmU3ZmI4MDU1YzEyNmRjNWM2Y2U5NGE0YjQ0ZjMzMGI1ZDkAMHgyNmRjNWM2Y2U5NGE0YjQ0ZjMzMGI1ZDliYmQ3N2NiZjk1ODQxNjI5NWNmN2UxY2U2YmNjZGMxOGZmOGMwN2I2ADB4YTlmYjU3ZGJhMWVlYTliYzNlNjYwYTkwOWQ4MzhkNzE4YzM5N2FhM2I1NjFhNmY3OTAxZTBlODI5NzQ4NTZhNwAweDhiZDJhZWI5Y2I3ZTU3Y2IyYzRiNDgyZmZjODFiN2FmYjlkZTI3ZTFlM2JkMjNjMjNhNDQ1M2JkOWFjZTMyNjIAMHg1NDdlZjgzNWMzZGFjNGZkOTdmODQ2MWExNDYxMWRjOWMyNzc0NTEzMmRlZDhlNTQ1YzFkNTRjNzJmMDQ2OTk3AGJyYWlucG9vbFAzMjByMQAweGQzNWU0NzIwMzZiYzRmYjdlMTNjNzg1ZWQyMDFlMDY1Zjk4ZmNmYTZmNmY0MGRlZjRmOTJiOWVjNzg5M2VjMjhmY2Q0MTJiMWYxYjMyZTI3ADB4M2VlMzBiNTY4ZmJhYjBmODgzY2NlYmQ0NmQzZjNiYjhhMmE3MzUxM2Y1ZWI3OWRhNjYxOTBlYjA4NWZmYTlmNDkyZjM3NWE5N2Q4NjBlYjQAMHg1MjA4ODM5NDlkZmRiYzQyZDNhZDE5ODY0MDY4OGE2ZmUxM2Y0MTM0OTU1NGI0OWFjYzMxZGNjZDg4NDUzOTgxNmY1ZWI0YWM4ZmIxZjFhNgAweGQzNWU0NzIwMzZiYzRmYjdlMTNjNzg1ZWQyMDFlMDY1Zjk4ZmNmYTViNjhmMTJhMzJkNDgyZWM3ZWU4NjU4ZTk4NjkxNTU1YjQ0YzU5MzExADB4NDNiZDdlOWFmYjUzZDhiODUyODliY2M0OGVlNWJmZTZmMjAxMzdkMTBhMDg3ZWI2ZTc4NzFlMmExMGE1OTljNzEwYWY4ZDBkMzllMjA2MTEAMHgxNGZkZDA1NTQ1ZWMxY2M4YWI0MDkzMjQ3Zjc3Mjc1ZTA3NDNmZmVkMTE3MTgyZWFhOWM3Nzg3N2FhYWM2YWM3ZDM1MjQ1ZDE2OTJlOGVlMQBicmFpbnBvb2xQMzg0cjEAMHg4Y2I5MWU4MmEzMzg2ZDI4MGY1ZDZmN2U1MGU2NDFkZjE1MmY3MTA5ZWQ1NDU2YjQxMmIxZGExOTdmYjcxMTIzYWNkM2E3Mjk5MDFkMWE3MTg3NDcwMDEzMzEwN2VjNTMAMHg3YmMzODJjNjNkOGMxNTBjM2M3MjA4MGFjZTA1YWZhMGMyYmVhMjhlNGZiMjI3ODcxMzkxNjVlZmJhOTFmOTBmOGFhNTgxNGE1MDNhZDRlYjA0YThjN2RkMjJjZTI4MjYAMHgwNGE4YzdkZDIyY2UyODI2OGIzOWI1NTQxNmYwNDQ3YzJmYjc3ZGUxMDdkY2QyYTYyZTg4MGVhNTNlZWI2MmQ1N2NiNDM5MDI5NWRiYzk5NDNhYjc4Njk2ZmE1MDRjMTEAMHg4Y2I5MWU4MmEzMzg2ZDI4MGY1ZDZmN2U1MGU2NDFkZjE1MmY3MTA5ZWQ1NDU2YjMxZjE2NmU2Y2FjMDQyNWE3Y2YzYWI2YWY2YjdmYzMxMDNiODgzMjAyZTkwNDY1NjUAMHgxZDFjNjRmMDY4Y2Y0NWZmYTJhNjNhODFiN2MxM2Y2Yjg4NDdhM2U3N2VmMTRmZTNkYjdmY2FmZTBjYmQxMGU4ZTgyNmUwMzQzNmQ2NDZhYWVmODdiMmUyNDdkNGFmMWUAMHg4YWJlMWQ3NTIwZjljMmE0NWNiMWViOGU5NWNmZDU1MjYyYjcwYjI5ZmVlYzU4NjRlMTljMDU0ZmY5OTEyOTI4MGU0NjQ2MjE3NzkxODExMTQyODIwMzQxMjYzYzUzMTUAYnJhaW5wb29sUDUxMnIxADB4YWFkZDlkYjhkYmU5YzQ4YjNmZDRlNmFlMzNjOWZjMDdjYjMwOGRiM2IzYzlkMjBlZDY2MzljY2E3MDMzMDg3MTdkNGQ5YjAwOWJjNjY4NDJhZWNkYTEyYWU2YTM4MGU2Mjg4MWZmMmYyZDgyYzY4NTI4YWE2MDU2NTgzYTQ4ZjMAMHg3ODMwYTMzMThiNjAzYjg5ZTIzMjcxNDVhYzIzNGNjNTk0Y2JkZDhkM2RmOTE2MTBhODM0NDFjYWVhOTg2M2JjMmRlZDVkNWFhODI1M2FhMTBhMmVmMWM5OGI5YWM4YjU3ZjExMTdhNzJiZjJjN2I5ZTdjMWFjNGQ3N2ZjOTRjYQAweDNkZjkxNjEwYTgzNDQxY2FlYTk4NjNiYzJkZWQ1ZDVhYTgyNTNhYTEwYTJlZjFjOThiOWFjOGI1N2YxMTE3YTcyYmYyYzdiOWU3YzFhYzRkNzdmYzk0Y2FkYzA4M2U2Nzk4NDA1MGI3NWViYWU1ZGQyODA5YmQ2MzgwMTZmNzIzADB4YWFkZDlkYjhkYmU5YzQ4YjNmZDRlNmFlMzNjOWZjMDdjYjMwOGRiM2IzYzlkMjBlZDY2MzljY2E3MDMzMDg3MDU1M2U1YzQxNGNhOTI2MTk0MTg2NjExOTdmYWMxMDQ3MWRiMWQzODEwODVkZGFkZGI1ODc5NjgyOWNhOTAwNjkAMHg4MWFlZTRiZGQ4MmVkOTY0NWEyMTMyMmU5YzRjNmE5Mzg1ZWQ5ZjcwYjVkOTE2YzFiNDNiNjJlZWY0ZDAwOThlZmYzYjFmNzhlMmQwZDQ4ZDUwZDE2ODdiOTNiOTdkNWY3YzZkNTA0NzQwNmE1ZTY4OGIzNTIyMDliY2I5ZjgyMgAweDdkZGUzODVkNTY2MzMyZWNjMGVhYmZhOWNmNzgyMmZkZjIwOWY3MDAyNGE1N2IxYWEwMDBjNTViODgxZjgxMTFiMmRjZGU0OTRhNWY0ODVlNWJjYTRiZDg4YTI3NjNhZWQxY2EyYjJmYThmMDU0MDY3OGNkMWUwZjNhZDgwODkyAEdPU1QyMDAxLXRlc3QAMHg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMxADB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNwAweDVmYmZmNDk4YWE5MzhjZTczOWI4ZTAyMmZiYWZlZjQwNTYzZjZlNmEzNDcyZmMyYTUxNGMwY2U5ZGFlMjNiN2UAMHg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUwZmU4YTE4OTI5NzYxNTRjNTljZmMxOTNhY2NmNWIzADB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgAweDA4ZTJhOGEwZTY1MTQ3ZDRiZDYzMTYwMzBlMTZkMTljODVjOTdmMGE5Y2EyNjcxMjJiOTZhYmJjZWE3ZThmYzgAR09TVDIwMDEtQ3J5cHRvUHJvLUEAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZDk3ADB4ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQ5NAAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYTYAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjZjNjExMDcwOTk1YWQxMDA0NTg0MWIwOWI3NjFiODkzADB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQAweDhkOTFlNDcxZTA5ODljZGEyN2RmNTA1YTQ1M2YyYjc2MzUyOTRmMmRkZjIzZTNiMTIyYWNjOTljOWU5ZjFlMTQAR09TVDIwMDEtQ3J5cHRvUHJvLUIAMHg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzk5ADB4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGM5NgAweDNlMWFmNDE5YTI2OWE1Zjg2NmE3ZDNjMjVjM2RmODBhZTk3OTI1OTM3M2ZmMmIxODJmNDlkNGNlN2UxYmJjOGIAMHg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTVmNzAwY2ZmZjFhNjI0ZTVlNDk3MTYxYmNjOGExOThmADB4M2ZhODEyNDM1OWY5NjY4MGI4M2QxYzNlYjJjMDcwZTVjNTQ1Yzk4NThkMDNlY2ZiNzQ0YmY4ZDcxNzcxN2VmYwBHT1NUMjAwMS1DcnlwdG9Qcm8tQwAweDliOWY2MDVmNWE4NTgxMDdhYjFlYzg1ZTZiNDFjOGFhY2Y4NDZlODY3ODkwNTFkMzc5OThmN2I5MDIyZDc1OWIAMHg5YjlmNjA1ZjVhODU4MTA3YWIxZWM4NWU2YjQxYzhhYWNmODQ2ZTg2Nzg5MDUxZDM3OTk4ZjdiOTAyMmQ3NTk4ADB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODA1YQAweDliOWY2MDVmNWE4NTgxMDdhYjFlYzg1ZTZiNDFjOGFhNTgyY2EzNTExZWRkZmI3NGYwMmYzYTY1OTg5ODBiYjkAMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADB4NDFlY2U1NTc0MzcxMWE4YzNjYmYzNzgzY2QwOGMwZWU0ZDRkYzQ0MGQ0NjQxYThmMzY2ZTU1MGRmZGIzYmI2NwBHT1NUMjAxMi10ZXN0ADB4NDUzMWFjZDFmZTAwMjNjNzU1MGQyNjdiNmIyZmVlODA5MjJiMTRiMmZmYjkwZjA0ZDRlYjdjMDliNWQyZDE1ZGYxZDg1Mjc0MWFmNDcwNGEwNDU4MDQ3ZTgwZTQ1NDZkMzViODMzNmZhYzIyNGRkODE2NjRiYmY1MjhiZTYzNzMAMHgxY2ZmMDgwNmEzMTExNmRhMjlkOGNmYTU0ZTU3ZWI3NDhiYzVmMzc3ZTQ5NDAwZmRkNzg4YjY0OWVjYTFhYzQzNjE4MzQwMTNiMmFkNzMyMjQ4MGE4OWNhNThlMGNmNzRiYzllNTQwYzJhZGQ2ODk3ZmFkMGEzMDg0ZjMwMmFkYwAweDQ1MzFhY2QxZmUwMDIzYzc1NTBkMjY3YjZiMmZlZTgwOTIyYjE0YjJmZmI5MGYwNGQ0ZWI3YzA5YjVkMmQxNWRhODJmMmQ3ZWNiMWRiYWM3MTk5MDVjNWVlY2M0MjNmMWQ4NmUyNWVkYmUyM2M1OTVkNjQ0YWFmMTg3ZTZlNmRmADB4MjRkMTljYzY0NTcyZWUzMGYzOTZiZjZlYmJmZDdhNmM1MjEzYjNiM2Q3MDU3Y2M4MjVmOTEwOTNhNjhjZDc2MmZkNjA2MTEyNjJjZDgzOGRjNmI2MGFhN2VlZTgwNGUyOGJjODQ5OTc3ZmFjMzNiNGI1MzBmMWIxMjAyNDhhOWEAMHgyYmIzMTJhNDNiZDJjZTZlMGQwMjA2MTNjODU3YWNkZGNmYmYwNjFlOTFlNWYyYzNmMzI0NDdjMjU5ZjM5YjJjODNhYjE1NmQ3N2YxNDk2YmY3ZWIzMzUxZTFlZTRlNDNkYzFhMThiOTFiMjQ2NDBiNmRiYjkyY2IxYWRkMzcxZQBHT1NUMjAxMi10YzI2LUEAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRjNwAweGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGM0ADB4ZThjMjUwNWRlZGZjODZkZGMxYmQwYjJiNjY2N2YxZGEzNGI4MjU3NDc2MWNiMGU4NzliZDA4MWNmZDBiNjI2NWVlM2NiMDkwZjMwZDI3NjE0Y2I0NTc0MDEwZGE5MGRkODYyZWY5ZDRlYmVlNDc2MTUwMzE5MDc4NWE3MWM3NjAAMHhmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmMjdlNjk1MzJmNDhkODkxMTZmZjIyYjhkNGUwNTYwNjA5YjRiMzhhYmZhZDJiODVkY2FjZGIxNDExZjEwYjI3NQAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzADB4NzUwM2NmZTg3YTgzNmFlM2E2MWI4ODE2ZTI1NDUwZTZjZTVlMWM5M2FjZjFhYmMxNzc4MDY0ZmRjYmVmYTkyMWRmMTYyNmJlNGZkMDM2ZTkzZDc1ZTZhNTBlM2E0MWU5ODAyOGZlNWZjMjM1ZjViODg5YTU4OWNiNTIxNWYyYTQAR09TVDIwMTItdGMyNi1CADB4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNmYAMHg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2YwAweDY4N2QxYjQ1OWRjODQxNDU3ZTNlMDZjZjZmNWUyNTE3Yjk3YzdkNjE0YWYxMzhiY2JmODVkYzgwNmM0YjI4OWYzZTk2NWQyZGIxNDE2ZDIxN2Y4YjI3NmZhZDFhYjY5YzUwZjc4YmVlMWZhMzEwNmVmYjhjY2JjN2M1MTQwMTE2ADB4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQ5YTFlYzE0MjU2NWE1NDVhY2ZkYjc3YmQ5ZDQwY2ZhOGI5OTY3MTIxMDFiZWEwZWM2MzQ2YzU0Mzc0ZjI1YmQAMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgAweDFhOGY3ZWRhMzg5YjA5NGMyYzA3MWUzNjQ3YTg5NDBmM2MxMjNiNjk3NTc4YzIxM2JlNmRkOWU2YzhlYzczMzVkY2IyMjhmZDFlZGY0YTM5MTUyY2JjYWFmOGMwMzk4ODI4MDQxMDU1Zjk0Y2VlZWM3ZTIxMzQwNzgwZmU0MWJkAHNlY3AyNTZrMQAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZFRkZGRkZDMkYAMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRUJBQUVEQ0U2QUY0OEEwM0JCRkQyNUU4Q0QwMzY0MTQxADB4NzlCRTY2N0VGOURDQkJBQzU1QTA2Mjk1Q0U4NzBCMDcwMjlCRkNEQjJEQ0UyOEQ5NTlGMjgxNUIxNkY4MTc5OAAweDQ4M0FEQTc3MjZBM0M0NjU1REE0RkJGQzBFMTEwOEE4RkQxN0I0NDhBNjg1NTQxOTlDNDdEMDhGRkIxMEQ0QjgAMS4zLjYuMS40LjEuMTE1OTEuMTUuMQAxLjIuODQwLjEwMDQ1LjMuMS4xAHByaW1lMTkydjEAc2VjcDE5MnIxAG5pc3RwMTkyAHNlY3AyMjRyMQAxLjMuMTMyLjAuMzMAbmlzdHAyMjQAMS4yLjg0MC4xMDA0NS4zLjEuNwBwcmltZTI1NnYxAHNlY3AyNTZyMQBuaXN0cDI1NgBzZWNwMzg0cjEAMS4zLjEzMi4wLjM0AG5pc3RwMzg0AHNlY3A1MjFyMQAxLjMuMTMyLjAuMzUAbmlzdHA1MjEAMS4zLjM2LjMuMy4yLjguMS4xLjEAMS4zLjM2LjMuMy4yLjguMS4xLjMAMS4zLjM2LjMuMy4yLjguMS4xLjUAMS4zLjM2LjMuMy4yLjguMS4xLjcAMS4zLjM2LjMuMy4yLjguMS4xLjkAMS4zLjM2LjMuMy4yLjguMS4xLjExADEuMy4zNi4zLjMuMi44LjEuMS4xMwAxLjIuNjQzLjIuMi4zNS4wADEuMi42NDMuMi4yLjM1LjEAMS4yLjY0My4yLjIuMzUuMgAxLjIuNjQzLjIuMi4zNS4zAEdPU1QyMDAxLUNyeXB0b1Byby1YY2hBAEdPU1QyMDAxLUNyeXB0b1Byby1YY2hCADEuMi42NDMuMi4yLjM2LjAAMS4yLjY0My4yLjIuMzYuMQAxLjIuNjQzLjcuMS4yLjEuMi4xADEuMi42NDMuNy4xLjIuMS4yLjIAMS4zLjEzMi4wLjEwADB4MDQALXBhYmduaABiAGcAaABkAC54AC55AC56AGVjYyBnZXQgcGFyYW06IEZhaWxlZCB0byBnZXQgYWZmaW5lIGNvb3JkaW5hdGVzCgAocHVibGljLWtleShlY2MocCVtKShhJW0pKGIlbSkoZyVtKShuJW0pKGglbSkpKQBnLngAZy55AHEueABxLnkAZWRkc2FfZW5jb2RlcG9pbnQ6IEZhaWxlZCB0byBnZXQgYWZmaW5lIGNvb3JkaW5hdGVzCgAwRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEAHNjYW5uaW5nIEVDQyBwYXJhbWV0ZXIgZmFpbGVkOiAlcwoAMkI4MzI0ODA0RkMxREYwQjJCNEQwMDk5M0RGQkQ3QTcyRjQzMTgwNkFEMkZFNDc4QzRFRTFCMjc0QTBFQTBCMABlY2dlbiAgICAgIHBrACogZV9wawAgIGVfcGsAICAgICBtACAgIHIAICAgZV9yACBIKFIrKQAgICBlX3MARWR3YXJkcwBXZWllcnN0cmFzcwBFZDI1NTE5AFN0YW5kYXJkAG1waV9wcmludCBmYWlsZWQ6ICVzCgBtcGlfc2NhbiBmYWlsZWQ6ICVzCgBTYW1wbGUgIzEAT0yj1daLp8wKEgjJxh6cXaBAPAoAU2FtcGxlICMyAAki00Bfqj0ZT4KkWDBzfVzGx10kAFNhbXBsZSAjMwC89B6ri7LYAvPQXK98sJLs+NGjqgBTYW1wbGUgIzQAnqiG7+Jo2+zOQgx1JN8y4HUaKiYARklQUy0xOThhLCBBLjEARklQUy0xOThhLCBBLjIARklQUy0xOThhLCBBLjMARklQUy0xOThhLCBBLjQAaG1hYwBfZ2NyeV9obWFjMjU2X2ZpbmFsaXplIGZhaWxlZABkb2VzIG5vdCBtYXRjaCBpbiBzZWNvbmQgaW1wbGVtZW50YXRpb24AX2djcnlfaG1hYzI1Nl9uZXcgZmFpbGVkAGFsZ29yaXRobSBub3QgYXZhaWxhYmxlAGRhdGEtMjgga2V5LTQAd2hhdCBkbyB5YSB3YW50IGZvciBub3RoaW5nPwBKZWZlAGRhdGEtOSBrZXktMjAASGkgVGhlcmUACwsLCwsLCwsLCwsLCwsLCwsLCwsAZGF0YS01MCBrZXktMjAA3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d0AqqqqqqqqqqqqqqqqqqqqqqqqqqoAZGF0YS01MCBrZXktMjYAzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc0AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGQBkYXRhLTU0IGtleS0xMzEAVGVzdCBVc2luZyBMYXJnZXIgVGhhbiBCbG9jay1TaXplIEtleSAtIEhhc2ggS2V5IEZpcnN0AKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqAGRhdGEtMTUyIGtleS0xMzEAVGhpcyBpcyBhIHRlc3QgdXNpbmcgYSBsYXJnZXIgdGhhbiBibG9jay1zaXplIGtleSBhbmQgYSBsYXJnZXIgdGhhbiBibG9jay1zaXplIGRhdGEuIFRoZSBrZXkgbmVlZHMgdG8gYmUgaGFzaGVkIGJlZm9yZSBiZWluZyB1c2VkIGJ5IHRoZSBITUFDIGFsZ29yaXRobS4AZG9lcyBub3QgbWF0Y2gAZ2NyeV9tZF9zZXRrZXkgZmFpbGVkAGdjcnlfbWRfcmVhZCBmYWlsZWQAaW52YWxpZCB0ZXN0cyBkYXRhAG9pZC4AT0lELgBtZF9lbmFibGU6IGFsZ29yaXRobSAlZCBub3QgYXZhaWxhYmxlCgBNRDUgdXNlZABtZC5jAG1kX3dyaXRlAG1kX2dldF9hbGdvAHBvc3NpYmxlIHVzYWdlIGVycm9yAFdBUk5JTkc6IG1vcmUgdGhhbiBvbmUgYWxnb3JpdGhtIGluIG1kX2dldF9hbGdvKCkKAG1vcmUgdGhhbiBvbmUgYWxnb3JpdGhtIGluIG1kX3JlYWQoMCkKAG1kX3JlYWQAa2V5bGVuIDw9IGhkLT5jdHgtPm1hY3BhZHNfQnNpemUAcHJlcGFyZV9tYWNwYWRzAGdjcnlfbWRfb3BlbiBmYWlsZWQgZm9yIGFsZ28gJWQ6ICVzAG5vIEFTTi4xIE9JRCBmb3IgbWQgYWxnbyAlZAoAcHJpbWVnZW4AY2FuJ3QgZ2VuZXJhdGUgYSBwcmltZSB3aXRoIGxlc3MgdGhhbiAlZCBiaXRzCgBvdmVyZmxvdyBpbiBwcmltZSBnZW5lcmF0aW9uCgBfZ2NyeV9tcGlfY21wKCAoeCksIChubWludXMxKSApIDwgMCAmJiBfZ2NyeV9tcGlfY21wX3VpKCAoeCksICgxKSApID4gMABwcmltZWdlbi5jAGlzX3ByaW1lAHBzcwByYXcAY29tcABvYWVwAHBrY3MxAHBhcmFtAG5vY29tcAByZmM2OTc5AG5vcGFyYW0AcGtjczEtcmF3AGlnbmludmZsYWcAbm8ta2V5dGVzdABuby1ibGluZGluZwB1c2UtZmlwczE4NgB1c2UtZmlwczE4Ni0yAG5iaXRzAHJzYS11c2UtZQBzaWctdmFsAGhhc2gtYWxnbwBsYWJlbAByYW5kb20tb3ZlcnJpZGUAc2hhMQBtZDUAc2hhMjU2AHJpcGVtZDE2MABybWQxNjAAc2hhMzg0AHNoYTUxMgBzaGEyMjQAbWQyAG1kNAB0aWdlcgBoYXZhbABkYXRhAGhhc2gAc2FsdC1sZW5ndGgAPwBwcml2YXRlLWtleQBwdWJsaWMta2V5AGdlbmtleQBhbGdvcml0aG0gZGlzYWJsZWQAYWxnb3JpdGhtIG5vdCBmb3VuZABubyBzZWxmdGVzdCBhdmFpbGFibGUAbW9kdWxlAEFFUwBBRVMtMTI4IHRlc3QgZGVjcnlwdGlvbiBmYWlsZWQuAEFFUy0xMjggdGVzdCBlbmNyeXB0aW9uIGZhaWxlZC4AY2ZiAG9mYgBsb3ctbGV2ZWwAY2lwaGVyAEFFUy0xOTIgdGVzdCBkZWNyeXB0aW9uIGZhaWxlZC4AQUVTLTE5MiB0ZXN0IGVuY3J5cHRpb24gZmFpbGVkLgBBRVMtMjU2IHRlc3QgZGVjcnlwdGlvbiBmYWlsZWQuAEFFUy0yNTYgdGVzdCBlbmNyeXB0aW9uIGZhaWxlZC4Abm8gdGVzdCBkYXRhIGZvciB0aGlzIG1vZGUAb3BlbgBzZXQga2V5AHNldCBJVgBlbmNyeXB0IGNvbW1hbmQAZW5jcnlwdCBtaXNtYXRjaABkZWNyeXB0IGNvbW1hbmQAZGVjcnlwdCBtaXNtYXRjaAAyLjE2Ljg0MC4xLjEwMS4zLjQuMS4xADIuMTYuODQwLjEuMTAxLjMuNC4xLjIAMi4xNi44NDAuMS4xMDEuMy40LjEuMwAyLjE2Ljg0MC4xLjEwMS4zLjQuMS40AFJJSk5EQUVMAEFFUzEyOABBRVMtMTI4AEFFUzE5MgAyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMQAyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMgAyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMwAyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yNABSSUpOREFFTDE5MgBBRVMtMTkyAEFFUzI1NgAyLjE2Ljg0MC4xLjEwMS4zLjQuMS40MQAyLjE2Ljg0MC4xLjEwMS4zLjQuMS40MgAyLjE2Ljg0MC4xLjEwMS4zLjQuMS40MwAyLjE2Ljg0MC4xLjEwMS4zLjQuMS40NABSSUpOREFFTDI1NgBBRVMtMjU2AFJJUEVNRDE2MAAwITAJBgUrJAMCAQUABBQxLjMuMzYuMy4zLjEuMgAxLjMuMzYuMy4yLjEAaSA+IDAAcnNhLWNvbW1vbi5jAF9nY3J5X3JzYV9wa2NzMV9lbmNvZGVfZm9yX2VuYwBuID09IG5mcmFtZQBQS0NTIzEgYmxvY2sgdHlwZSAyIGVuY29kZWQgZGF0YQB2YWx1ZSBleHRyYWN0ZWQgZnJvbSBQS0NTIzEgYmxvY2sgdHlwZSAyIGVuY29kZWQgZGF0YQBpID4gMQBfZ2NyeV9yc2FfcGtjczFfZW5jb2RlX2Zvcl9zaWcAUEtDUyMxIGJsb2NrIHR5cGUgMSBlbmNvZGVkIGRhdGEAX2djcnlfcnNhX3BrY3MxX2VuY29kZV9yYXdfZm9yX3NpZwBPQUVQIGVuY29kZWQgZGF0YQB2YWx1ZSBleHRyYWN0ZWQgZnJvbSBPQUVQIGVuY29kZWQgZGF0YQBobGVuAF9nY3J5X3JzYV9wc3NfZW5jb2RlAFBTUyBlbmNvZGVkIGRhdGEAX2djcnlfcnNhX3Bzc192ZXJpZnkAUlNBAG5lAG5lZHBxdQBhAHMAbgBiYWQgc2lnbmF0dXJlIG5vdCBkZXRlY3RlZABjb252ZXJ0aW5nIGRhdGEgZmFpbGVkAHNpZ25pbmcgZmFpbGVkAHZlcmlmeSBmYWlsZWQAKGRhdGEgKGZsYWdzIHJhdykgKHZhbHVlICVtKSkAZW5jLXZhbAByc2EAdmFsdWUAbWlzbWF0Y2gAZW5jcnlwdCBmYWlsZWQAZ2NyeV9wa19kZWNyeXB0IHJldHVybmVkIGdhcmJhZ2UAY2lwaGVydGV4dCBtYXRjaGVzIHBsYWludGV4dABkZWNyeXB0IGZhaWxlZABkZWNyeXB0IHJldHVybmVkIG5vIHBsYWludGV4dABjb252ZXJ0AGtleSBjb25zaXN0ZW5jeQBzaWduAGVuY3J5cHQAcHVia2V5AHJzYV92ZXJpZnkgZGF0YQByc2FfdmVyaWZ5ICBzaWcAcnNhX3ZlcmlmeSAgICBuAHJzYV92ZXJpZnkgICAgZQByc2FfdmVyaWZ5ICBjbXAAcnNhX3ZlcmlmeSAgICA9PiAlcwoAcnNhX3NpZ24gICBkYXRhAG5lZHA/cT91PwByc2Ffc2lnbiAgICAgIG4AcnNhX3NpZ24gICAgICBlAHJzYV9zaWduICAgICAgZAByc2Ffc2lnbiAgICAgIHAAcnNhX3NpZ24gICAgICBxAHJzYV9zaWduICAgICAgdQByc2Ffc2lnbiAgICByZXMAKHNpZy12YWwocnNhKHMlYikpKQAoc2lnLXZhbChyc2EocyVNKSkpAHJzYV9zaWduICAgICAgPT4gJXMKAHJzYV9kZWNyeXB0IGRhdGEAcnNhX2RlY3J5cHQgICAgbgByc2FfZGVjcnlwdCAgICBlAHJzYV9kZWNyeXB0ICAgIGQAcnNhX2RlY3J5cHQgICAgcAByc2FfZGVjcnlwdCAgICBxAHJzYV9kZWNyeXB0ICAgIHUAcnNhX2RlY3J5cHQgIHJlcwAodmFsdWUgJWIpACVtAHJzYV9kZWNyeXB0ICAgID0+ICVzCgByc2FfZW5jcnlwdCBkYXRhAHJzYV9lbmNyeXB0ICAgIG4AcnNhX2VuY3J5cHQgICAgZQByc2FfZW5jcnlwdCAgcmVzAChlbmMtdmFsKHJzYShhJWIpKSkAKGVuYy12YWwocnNhKGElbSkpKQByc2FfZW5jcnlwdCAgICA9PiAlcwoAcnNhX3Rlc3RrZXkgICAgPT4gJXMKAGRlcml2ZS1wYXJtcwB1c2UteDkzMQBfZ2NyeV9tcGlfZ2V0X25iaXRzICgoeHApKSA9PSBuYml0cwByc2EuYwBnZW5feDkzMV9wYXJtX3hwAF9nY3J5X21waV9nZXRfbmJpdHMgKCh4aSkpID09IDEwMQBnZW5feDkzMV9wYXJtX3hpAFhwMQBYcDIAWHAAWHExAFhxMgBYcQBfZ2NyeV9tcGlfZ2NkICggKGcpLCAoZSksIChwaGkpICkAZ2VuZXJhdGVfeDkzMQBwIGFuZCBxIGFyZSBzd2FwcGVkCgAgIHEAICBuACAgZQAgIGQAICB1AHNlbGYtdGVzdCBhZnRlciBrZXkgZ2VuZXJhdGlvbiBmYWlsZWQAKG1pc2Mta2V5LWluZm8ocC1xLXN3YXBwZWQpKQBnZW5lcmF0ZV9zdGQAICBwPSAAICBxPSAAcGhpPSAAICBnPSAAICBmPSAAICBuPSAAICBlPSAAICBkPSAAICB1PSAAKGtleS1kYXRhIChwdWJsaWMta2V5ICAocnNhKG4lbSkoZSVtKSkpIChwcml2YXRlLWtleSAgKHJzYShuJW0pKGUlbSkoZCVtKShwJW0pKHElbSkodSVtKSkpICVTKQBvcGVucGdwLXJzYQBvaWQuMS4yLjg0MC4xMTM1NDkuMS4xLjEAU0hBMQAwITAJBgUrDgMCGgUABBSpmT42RwaBaro+JXF4UMJsnNDYnQCEmD5EHDvSbrquSqH5USnl5UZw8QA0qpc81MTapPYe6yvbrScxZTQBbwAxLjIuODQwLjExMzU0OS4xLjEuNQAxLjIuODQwLjEwMDQwLjQuMwAxLjMuMTQuMy4yLjI2ADEuMy4xNC4zLjIuMjkAMS4yLjg0MC4xMDA0NS40LjEAU0hBMjI0ACMJfSI0BdgihkKkd72iVbMqrbzkvaCz9+NsnacAYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpamhpamtpamtsamtsbWtsbW5sbW5vbW5vcG5vcHEAdTiLFlEndsxdul2h/YkBULDGRVy09YsZUlIlJQAgeUZVmAyR2Lu0weqXYYpL8D9CWBlIsu5O561nALp4Fr+PAc/qQUFA3l2uIiOwA2Gjlhd6nLQQ/2HyABWtACSNamHSBji45cAmkww+YDmjPORZZP8hZ/bs7dQZ2wbBAM3HblyZFPuSgaHH4oTXPmfxgJpIpJcgDgRtOczHESzQADIuMTYuODQwLjEuMTAxLjMuNC4yLjQAU0hBMjU2ADIuMTYuODQwLjEuMTAxLjMuNC4yLjEAMS4yLjg0MC4xMTM1NDkuMS4xLjExAFNIQTUxMgBhYmMAywB1P0WjXou1oD1pmsZQBycsMqsO3tFjGotgWkP/W+2AhgcroefMI1i67KE0yCWnAGFiY2RlZmdoYmNkZWZnaGljZGVmZ2hpamRlZmdoaWprZWZnaGlqa2xmZ2hpamtsbWdoaWprbG1uaGlqa2xtbm9pamtsbW5vcGprbG1ub3Bxa2xtbm9wcXJsbW5vcHFyc21ub3BxcnN0bm9wcXJzdHUACTMMM/cRR+g9GS/Hgs0bR1MRGxc7OwXSL6CAhuOw9xL8x8caVX4tuWbD6fqRdGA5AJ0OGAlxZHTLCG6DTjEKShztFJ6cAPJIUnlyzsVwTCpbB7iz3DjsxOuul93Yfz2JhQBzaG9ydCBzdHJpbmcAbG9uZyBzdHJpbmcAb25lIG1pbGxpb24gImEiAGRpZ2VzdADdrzWhk2F6usxBc0muIEExEub6TompfqIKnu7mS1XTmiGSmSonT8GoNro8I6P+671FTUQjZDzoDiqayU+lTKSfAI6Vm3Xa4xPajPT3KBT8FD+Pd3nG659/oXKZrq22iJAYUB0onkkA9+QzG5nexLVDOsfTKe623SZUXpblW4dL6QkA5xhIPQznaWROLkLHvBW0Y44fmLE7IEQoVjKoA6+pc+veD/JEh36mCkywQyzld8Mb6wCcXCxJqi5OrbIXrYzAmwAyLjE2Ljg0MC4xLjEwMS4zLjQuMi4zADEuMi44NDAuMTEzNTQ5LjEuMS4xMwBTSEEzODQAMi4xNi44NDAuMS4xMDEuMy40LjIuMgAxLjIuODQwLjExMzU0OS4xLjEuMTIAVFdPRklTSABUd29maXNoLTI1NiB0ZXN0IGRlY3J5cHRpb24gZmFpbGVkLgBUd29maXNoLTI1NiB0ZXN0IGVuY3J5cHRpb24gZmFpbGVkLgBUd29maXNoLTEyOCB0ZXN0IGRlY3J5cHRpb24gZmFpbGVkLgBUd29maXNoLTEyOCB0ZXN0IGVuY3J5cHRpb24gZmFpbGVkLgAlcwoAVFdPRklTSDEyOABmYWlsZWQgdG8gYWNxdWlyZSB0aGUgbm9uY2UgYnVmZmVyIGxvY2s6ICVzCgBmYWlsZWQgdG8gcmVsZWFzZSB0aGUgbm9uY2UgYnVmZmVyIGxvY2s6ICVzCgAlcy4qACVzLlgAZWNfaW52bTogaW52ZXJzZSBkb2VzIG5vdCBleGlzdDoKACAgYQAgIHAAJXM6IEdldHRpbmcgWS1jb29yZGluYXRlIG9uICVzIGlzIG5vdCBzdXBwb3J0ZWQKAF9nY3J5X21waV9lY19nZXRfYWZmaW5lAE1vbnRnb21lcnkAR0NSWVBUX0JBUlJFVFQAJXM6ICVzIG5vdCB5ZXQgc3VwcG9ydGVkCgBfZ2NyeV9tcGlfZWNfZHVwX3BvaW50AF9nY3J5X21waV9lY19hZGRfcG9pbnRzACFicF9tYXJrZXIAbXBpLXBvdy5jAF9nY3J5X21waV9wb3dtAHJlcy0+ZCA9PSBycABpID09IG5saW1icwBtcGljb2Rlci5jAF9nY3J5X21waV9zZXRfYnVmZmVyAFdhcm5pbmc6IHRyeWluZyB0byBjaGFuZ2UgYW4gaW1tdXRhYmxlIE1QSQoAaW52YWxpZCBmbGFnIHZhbHVlIGluIG1waV9mcmVlCgBtcGlfZ2V0X29wYXF1ZSBvbiBub3JtYWwgbXBpCgBtcGlfc2V0X2NvbmQ6IGRpZmZlcmVudCBzaXplcwoAbXBpX3N3YXBfY29uZDogZGlmZmVyZW50IHNpemVzCgBpbnZhbGlkIGZsYWcgdmFsdWUKAGludmFsaWQgbXBpX2NvbnN0IHNlbGVjdG9yICVkCgBNUEkgc3Vic3lzdGVtIG5vdCBpbml0aWFsaXplZAoAY2lwaGVyLWNtYWMuYwBjbWFjX2dlbmVyYXRlX3N1YmtleXMAYy0+dW51c2VkIDwgYmxvY2tzaXplAGNpcGhlci1jdHIuYwBfZ2NyeV9jaXBoZXJfY3RyX2VuY3J5cHQAdW51c2VkID09IGJsb2Nrc2l6ZQBjaXBoZXItZ2NtLmMAZG9fZ2hhc2hfYnVmAHNlbGZ0ZXN0IGZvciBDQkMgZmFpbGVkIC0gc2VlIHN5c2xvZyBmb3IgZGV0YWlscwBzZXRrZXkgZmFpbGVkAGZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkAc2VsZnRlc3QgZm9yIENGQiBmYWlsZWQgLSBzZWUgc3lzbG9nIGZvciBkZXRhaWxzAHNlbGZ0ZXN0IGZvciBDVFIgZmFpbGVkIC0gc2VlIHN5c2xvZyBmb3IgZGV0YWlscwBFQ0MAcGFiZ25ocQBwYWJnbmhxZABzdwBycwBmbGFncwBwP2E/Yj9nP24/aD8vcQBwP2E/Yj9nP24/aD9xAC9xAHEAY3VydmUAcGFiZ25ocSgxOiVjJXU6ACkAcABlY2NfdmVyaWZ5IGRhdGEAL3JzAGVjY192ZXJpZnkgIHNfcgBlY2NfdmVyaWZ5ICBzX3MALXA/YT9iP2c/bj9oPy9xACtFZERTQQBlY2NfdmVyaWZ5IGluZm86ICVzLyVzJXMKAGVjY192ZXJpZnkgbmFtZTogJXMKAGVjY192ZXJpZnkgICAgcABlY2NfdmVyaWZ5ICAgIGEAZWNjX3ZlcmlmeSAgICBiAGVjY192ZXJpZnkgIGcAZWNjX3ZlcmlmeSAgICBuAGVjY192ZXJpZnkgICAgaABlY2NfdmVyaWZ5ICAgIHEAR29vZABlY2NfdmVyaWZ5ICAgID0+ICVzCgBlY2Nfc2lnbiAgIGRhdGEALXA/YT9iP2c/bj9oPy9xPytkAC9xPytkAGVjY19zaWduICAgaW5mbzogJXMvJXMlcwoAZWNjX3NpZ24gICBuYW1lOiAlcwoAZWNjX3NpZ24gICAgICBwAGVjY19zaWduICAgICAgYQBlY2Nfc2lnbiAgICAgIGIAZWNjX3NpZ24gICAgZwBlY2Nfc2lnbiAgICAgIG4AZWNjX3NpZ24gICAgICBoAGVjY19zaWduICAgICAgcQBlY2Nfc2lnbiAgICAgIGQAKHNpZy12YWwoZWRkc2EociVNKShzJU0pKSkAKHNpZy12YWwoZ29zdChyJU0pKHMlTSkpKQAoc2lnLXZhbChlY2RzYShyJU0pKHMlTSkpKQBlY2Nfc2lnbiAgICAgID0+ICVzCgBlAGVjY19kZWNyeXB0ICBkX2UALXA/YT9iP2c/bj9oPytkAGVjY19kZWNyeXB0IGluZm86ICVzLyVzCgBlY2NfZGVjcnlwdCBuYW1lOiAlcwoAZWNjX2RlY3J5cHQgICAgcABlY2NfZGVjcnlwdCAgICBhAGVjY19kZWNyeXB0ICAgIGIAZWNjX2RlY3J5cHQgIGcAZWNjX2RlY3J5cHQgICAgbgBlY2NfZGVjcnlwdCAgICBoAGVjY19kZWNyeXB0ICAgIGQAZWNkaDogRmFpbGVkIHRvIGdldCBhZmZpbmUgY29vcmRpbmF0ZXMKAGVjY19kZWNyeXB0ICByZXMAKHZhbHVlICVtKQBlY2NfZGVjcnlwdCAgICA9PiAlcwoAZWNjX2VuY3J5cHQgZGF0YQAtcD9hP2I/Zz9uP2g/K3EAZWNjX2VuY3J5cHQgaW5mbzogJXMvJXMKAGVjY19lbmNyeXB0IG5hbWU6ICVzCgBlY2NfZW5jcnlwdCAgICBwAGVjY19lbmNyeXB0ICAgIGEAZWNjX2VuY3J5cHQgICAgYgBlY2NfZW5jcnlwdCAgZwBlY2NfZW5jcnlwdCAgICBuAGVjY19lbmNyeXB0ICAgIGgAZWNjX2VuY3J5cHQgICAgcQBlY2RoOiBGYWlsZWQgdG8gZ2V0IGFmZmluZSBjb29yZGluYXRlcyBmb3Iga2RHCgBlY2RoOiBGYWlsZWQgdG8gZ2V0IGFmZmluZSBjb29yZGluYXRlcyBmb3Iga0cKAChlbmMtdmFsKGVjZGgocyVtKShlJW0pKSkAZWNjX2VuY3J5cHQgICAgPT4gJXMKAGVjY190ZXN0a2V5IGluZjogJXMvJXMKAGVjY190ZXN0a2V5IG5hbTogJXMKAGVjY190ZXN0a2V5ICAgcABlY2NfdGVzdGtleSAgIGEAZWNjX3Rlc3RrZXkgICBiAGVjY190ZXN0a2V5IGcAZWNjX3Rlc3RrZXkgICBuAGVjY190ZXN0a2V5ICAgaABlY2NfdGVzdGtleSAgIHEAZWNjX3Rlc3RrZXkgICBkAEJhZCBjaGVjazogUG9pbnQgJ0cnIGRvZXMgbm90IGJlbG9uZyB0byBjdXJ2ZSAnRSchCgBCYWQgY2hlY2s6ICdHJyBjYW5ub3QgYmUgUG9pbnQgYXQgSW5maW5pdHkhCgBjaGVja19zZWNyZXRfa2V5OiBFIGlzIG5vdCBhIGN1cnZlIG9mIG9yZGVyIG4KAEJhZCBjaGVjazogUSBjYW4gbm90IGJlIGEgUG9pbnQgYXQgSW5maW5pdHkhCgBCYWQgY2hlY2s6IGNvbXB1dGF0aW9uIG9mIGRHIGZhaWxlZAoAQmFkIGNoZWNrOiBUaGVyZSBpcyBOTyBjb3JyZXNwb25kZW5jZSBiZXR3ZWVuICdkJyBhbmQgJ1EnIQoAZWNjX3Rlc3RrZXkgICA9PiAlcwoAdHJhbnNpZW50LWtleQBlY2dlbiBjdXJ2ZSBpbmZvOiAlcy8lcwoAZWNnZW4gY3VydmUgdXNlZDogJXMKAGVjZ2VuIGN1cnZlICAgcABlY2dlbiBjdXJ2ZSAgIGEAZWNnZW4gY3VydmUgICBiAGVjZ2VuIGN1cnZlICAgbgBlY2dlbiBjdXJ2ZSAgIGgAZWNnZW4gY3VydmUgRwBlY2dlbjogRmFpbGVkIHRvIGdldCBhZmZpbmUgY29vcmRpbmF0ZXMgZm9yICVzCgBRAGVjZ2VuIGNvbnZlcnRlZCBRIHRvIGEgY29tcGxpYW50IHBvaW50CgBlY2dlbiBkaWRuJ3QgbmVlZCB0byBjb252ZXJ0IFEgdG8gYSBjb21wbGlhbnQgcG9pbnQKAFRlc3Rpbmcga2V5LgoARUNEU0Egb3BlcmF0aW9uOiBzaWduIGZhaWxlZAoARUNEU0Egb3BlcmF0aW9uOiBzaWduLCB2ZXJpZnkgZmFpbGVkCgBFQ0RTQSBvcGVyYXRpb246IHNpZ24sIHZlcmlmeSBvay4KAGVjZGg6IEZhaWxlZCB0byBnZXQgYWZmaW5lIGNvb3JkaW5hdGVzIGZvciBoa1EKAGVjZGg6IEZhaWxlZCB0byBnZXQgYWZmaW5lIGNvb3JkaW5hdGVzIGZvciBoZGtHCgBFQ0RIIHRlc3QgZmFpbGVkLgoARwAoY3VydmUgJXMpAChmbGFncyBlZGRzYSkAKGZsYWdzIHBhcmFtKQAoZmxhZ3MgcGFyYW0gZWRkc2EpAChrZXktZGF0YSAocHVibGljLWtleSAgKGVjYyVTJVMocCVtKShhJW0pKGIlbSkoZyVtKShuJW0pKGglbSkocSVtKSkpIChwcml2YXRlLWtleSAgKGVjYyVTJVMocCVtKShhJW0pKGIlbSkoZyVtKShuJW0pKGglbSkocSVtKShkJW0pKSkgKQAoa2V5LWRhdGEgKHB1YmxpYy1rZXkgIChlY2MlUyVTKHElbSkpKSAocHJpdmF0ZS1rZXkgIChlY2MlUyVTKHElbSkoZCVtKSkpICkAZWNnZW4gcmVzdWx0ICBwAGVjZ2VuIHJlc3VsdCAgYQBlY2dlbiByZXN1bHQgIGIAZWNnZW4gcmVzdWx0ICBHAGVjZ2VuIHJlc3VsdCAgbgBlY2dlbiByZXN1bHQgIGgAZWNnZW4gcmVzdWx0ICBRAGVjZ2VuIHJlc3VsdCAgZABlY2dlbiByZXN1bHQgIHVzaW5nIEVkMjU1MTkrRWREU0EKAGVjYwBlY2RzYQBlY2RoAGVkZHNhAGdvc3QAZGlnZXN0IG1pc21hdGNoAGludmFsaWQgREFUQU1PREUAZGlnZXN0IHNpemUgZG9lcyBub3QgbWF0Y2ggZXhwZWN0ZWQgc2l6ZQBnY3J5X21kX29wZW4gZmFpbGVkAGhhc2gtY29tbW9uLmMAX2djcnlfbWRfYmxvY2tfd3JpdGUAUG9seTEzMDUgdGVzdCA0IGZhaWxlZC4AUG9seTEzMDUgdGVzdCAxIGZhaWxlZC4AUG9seTEzMDUgdGVzdCAyIGZhaWxlZC4AUG9seTEzMDUgdGVzdCAzIGZhaWxlZC4AUG9seTEzMDUgc2VsZnRlc3QgZmFpbGVkICglcykKAGZhaWxlZCB0byBhY3F1aXJlIHRoZSBwb29sIGxvY2s6ICVzCgBubyBlbnRyb3B5IGdhdGhlcmluZyBtb2R1bGUgZGV0ZWN0ZWQKAGZhaWxlZCB0byByZWxlYXNlIHRoZSBwb29sIGxvY2s6ICVzCgAgKGh3cm5nIGZhaWxlZCkAcmFuZG9tIHVzYWdlOiBwb29sc2l6ZT0lZCBtaXhlZD0lbHUgcG9sbHM9JWx1LyVsdSBhZGRlZD0lbHUvJWx1CiAgICAgICAgICAgICAgb3V0bWl4PSVsdSBnZXRsdmwxPSVsdS8lbHUgZ2V0bHZsMj0lbHUvJWx1JXMKAHBvb2xfaXNfbG9ja2VkAHJhbmRvbS1jc3BybmcuYwBtaXhfcG9vbAByZWFkX3Bvb2wAYWRkX3JhbmRvbW5lc3MAdG9vIG1hbnkgcmFuZG9tIGJpdHMgcmVxdWVzdGVkCgBjYW4ndCBvcGVuIGAlcyc6ICVzCgBjYW4ndCBzdGF0IGAlcyc6ICVzCgBgJXMnIGlzIG5vdCBhIHJlZ3VsYXIgZmlsZSAtIGlnbm9yZWQKAG5vdGU6IHJhbmRvbV9zZWVkIGZpbGUgaXMgZW1wdHkKAHdhcm5pbmc6IGludmFsaWQgc2l6ZSBvZiByYW5kb21fc2VlZCBmaWxlIC0gbm90IHVzZWQKAGNhbid0IHJlYWQgYCVzJzogJXMKAFNsb3cgZW50cm9weSBnYXRoZXJpbmcgbW9kdWxlIG5vdCB5ZXQgaW5pdGlhbGl6ZWQKAE5vIHdheSB0byBnYXRoZXIgZW50cm9weSBmb3IgdGhlIFJORwoAZG9fZmFzdF9yYW5kb21fcG9sbABjYW4ndCBsb2NrIGAlcyc6ICVzCgB3YWl0aW5nIGZvciBsb2NrIG9uIGAlcycuLi4KAF9nY3J5X3JuZ2NzcHJuZ19zZXRfc2VlZF9maWxlAG5vdGU6IHJhbmRvbV9zZWVkIGZpbGUgbm90IHVwZGF0ZWQKAGNhbid0IGNyZWF0ZSBgJXMnOiAlcwoAY2FuJ3Qgd3JpdGUgYCVzJzogJXMKAGNhbid0IGNsb3NlIGAlcyc6ICVzCgBmYWlsZWQgdG8gYWNxdWlyZSB0aGUgUk5HIGxvY2s6ICVzCgAhbm9uY2VfY29udGV4dC0+dGVzdF9kdF9wdHIAcmFuZG9tLWZpcHMuYwBfZ2NyeV9ybmdmaXBzX2luaXRpYWxpemUAIXN0ZF9ybmdfY29udGV4dC0+dGVzdF9kdF9wdHIAIXN0cm9uZ19ybmdfY29udGV4dC0+dGVzdF9kdF9wdHIAbWVtb3J5IGNvcnJ1cHRpb24gZGV0ZWN0ZWQgaW4gUk5HIGNvbnRleHQgJXAKAGZhaWxlZCB0byByZWxlYXNlIHRoZSBSTkcgbG9jazogJXMKAHJuZ19jdHgAZm9yayB3aXRob3V0IHByb3BlciByZS1pbml0aWFsaXphdGlvbiBkZXRlY3RlZCBpbiBSTkcAc2V2ZXJlIGVycm9yIGdldHRpbmcgcmFuZG9tCgBmaXBzX3JuZ19pc19sb2NrZWQAeDkzMV9hZXNfZHJpdmVyAHJuZ19jdHgtPmNpcGhlcl9oZABybmdfY3R4LT5pc19zZWVkZWQAdGVtcHZhbHVlX2Zvcl94OTMxX2Flc19kcml2ZXIAeDkzMV9nZXRfZHQAZ2V0dGltZW9mZGF5KCkgZmFpbGVkOiAlcwoAQUVTIGVuY3J5cHRpb24gaW4gUk5HIGZhaWxlZDogJXMKAGR1cGxpY2F0ZSAxMjggYml0IGJsb2NrIHJldHVybmVkIGJ5IFJORwB4OTMxX3Jlc2VlZAAhZW50cm9weV9jb2xsZWN0X2J1ZmZlcgBnZXRfZW50cm9weQBlcnJvciBnZXR0aW5nIGVudHJvcHkgZGF0YQoAZW50cm9weV9jb2xsZWN0X2NiAGVudHJvcHlfY29sbGVjdF9idWZmZXIAeDkzMV9nZW5lcmF0ZV9rZXkAZXJyb3IgY3JlYXRpbmcgY2lwaGVyIGNvbnRleHQgZm9yIFJORzogJXMKAGVycm9yIGNyZWF0aW5nIGtleSBmb3IgUk5HOiAlcwoAc2VsZnRlc3Rfa2F0AFg5LjMxIFJORyBjb3JlIGZ1bmN0aW9uIGZhaWxlZABSTkcgb3V0cHV0IGRvZXMgbm90IG1hdGNoIGtub3duIHZhbHVlAGVycm9yIGNyZWF0aW5nIGNpcGhlciBjb250ZXh0IGZvciBSTkcAZXJyb3Igc2V0dGluZyBrZXkgZm9yIFJORwBmb3JrIGRldGVjdGlvbiBmYWlsZWQAcmFuZG9tAEtBVABmYWlsZWQgdG8gYWNxdWlyZSB0aGUgU3lzdGVtIFJORyBsb2NrOiAlcwoAZmFpbGVkIHRvIHJlbGVhc2UgdGhlIFN5c3RlbSBSTkcgbG9jazogJXMKAGJ1ZmZlcgByYW5kb20tc3lzdGVtLmMAZ2V0X3JhbmRvbQBlcnJvciByZWFkaW5nIHJhbmRvbSBmcm9tIHN5c3RlbSBSTkcgKHJjPSVkKQoAc3lzdGVtX3JuZ19pc19sb2NrZWQAcmVhZF9jYgByZWFkX2NiX2J1ZmZlcgAvZGV2L3JhbmRvbQAvZGV2L3VyYW5kb20AbmVlZF9lbnRyb3B5AGJvZ3VzIHJlYWQgZnJvbSByYW5kb20gZGV2aWNlIChuPSVkKQoAc2VsZWN0KCkgZXJyb3I6ICVzCgByZWFkIGVycm9yIG9uIHJhbmRvbSBkZXZpY2U6ICVzCgBvcGVuX2Rldl9yYW5kb20Ad2FpdF9kZXZfcmFuZG9tAGNhbid0IG9wZW4gJXM6ICVzCgBlcnJvciBzZXR0aW5nIEZEX0NMT0VYRUMgb24gZmQgJWQ6ICVzCgBjaG9vc2luZyBhIHJhbmRvbSBrIG9mICV1IGJpdHMgYXQgc2VjbGV2ZWwgJWQKAAlrIHRvbyBsYXJnZSAtIGFnYWluCgAJayBpcyB6ZXJvIC0gYWdhaW4KAAEAZWNkc2Egc2lnbiBoYXNoICAAZWNkc2Egc2lnbiByZXN1bHQgciAAZWNkc2Egc2lnbiByZXN1bHQgcyAAZ29zdCBzaWduIGhhc2ggIABlY2Mgc2lnbjogRmFpbGVkIHRvIGdldCBhZmZpbmUgY29vcmRpbmF0ZXMKAGdvc3Qgc2lnbiByZXN1bHQgciAAZ29zdCBzaWduIHJlc3VsdCBzIABlY2MgdmVyaWZ5OiBSZWplY3RlZAoAZWNjIHZlcmlmeTogRmFpbGVkIHRvIGdldCBhZmZpbmUgY29vcmRpbmF0ZXMKACAgICAgeAAgICAgIHIAICAgICBzAGVjYyB2ZXJpZnk6IE5vdCB2ZXJpZmllZAoAZWNjIHZlcmlmeTogQWNjZXB0ZWQKACEibG9jayBBQkkgdmVyc2lvbiIAcG9zaXgtbG9jay5jAGdldF9sb2NrX29iamVjdABzdHJlYW0tPmZsYWdzLndyaXRpbmcAZXN0cmVhbS5jAGVzX2ZsdXNoAGFtb3VudC5jAFRBTEVSX2Ftb3VudF9jbXAAVEFMRVJfYW1vdW50X3N1YnRyYWN0AFRBTEVSX2Ftb3VudF9hZGQAMS42LjEAbGliZ2NyeXB0IHZlcnNpb24gbWlzbWF0Y2gKAEZhdGFsIGVycm9yIGluIGxpYmdjcnlwdDogJXMKAGNyeXB0by5jAEFzc2VydGlvbiBmYWlsZWQgYXQgJXM6JWQuIEFib3J0aW5nLgoAdGFsZXItY29pbi1kZXJpdmF0aW9uAFRBTEVSX3NldHVwX2ZyZXNoX2NvaW4AAAECBAcDBgUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4AcndhAC9wcm9jL3NlbGYvZmQv";
/* no memory initializer */
var tempDoublePtr = STATICTOP; STATICTOP += 16;
assert(tempDoublePtr % 8 == 0);
function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much
HEAP8[tempDoublePtr] = HEAP8[ptr];
HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
}
function copyTempDouble(ptr) {
HEAP8[tempDoublePtr] = HEAP8[ptr];
HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
HEAP8[tempDoublePtr+4] = HEAP8[ptr+4];
HEAP8[tempDoublePtr+5] = HEAP8[ptr+5];
HEAP8[tempDoublePtr+6] = HEAP8[ptr+6];
HEAP8[tempDoublePtr+7] = HEAP8[ptr+7];
}
// {{PRE_LIBRARY}}
function ___assert_fail(condition, filename, line, func) {
abort('Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function']);
}
var ENV={};function ___buildEnvironment(environ) {
// WARNING: Arbitrary limit!
var MAX_ENV_VALUES = 64;
var TOTAL_ENV_SIZE = 1024;
// Statically allocate memory for the environment.
var poolPtr;
var envPtr;
if (!___buildEnvironment.called) {
___buildEnvironment.called = true;
// Set default values. Use string keys for Closure Compiler compatibility.
ENV['USER'] = ENV['LOGNAME'] = 'web_user';
ENV['PATH'] = '/';
ENV['PWD'] = '/';
ENV['HOME'] = '/home/web_user';
ENV['LANG'] = 'C.UTF-8';
ENV['_'] = Module['thisProgram'];
// Allocate memory.
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)>>2)];
}
// Collect key=value lines.
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!');
}
// Make new.
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 ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};
var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};
function ___setErrNo(value) {
if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value;
else err('failed to set errno from JS');
return value;
}
var PATH={splitPath:function(filename) {
var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
return splitPathRe.exec(filename).slice(1);
},normalizeArray:function(parts, allowAboveRoot) {
// if the path tries to go above the root, `up` ends up > 0
var up = 0;
for (var i = parts.length - 1; i >= 0; i--) {
var last = parts[i];
if (last === '.') {
parts.splice(i, 1);
} else if (last === '..') {
parts.splice(i, 1);
up++;
} else if (up) {
parts.splice(i, 1);
up--;
}
}
// if the path is allowed to go above the root, restore leading ..s
if (allowAboveRoot) {
for (; up; up--) {
parts.unshift('..');
}
}
return parts;
},normalize:function(path) {
var isAbsolute = path.charAt(0) === '/',
trailingSlash = path.substr(-1) === '/';
// Normalize the path
path = PATH.normalizeArray(path.split('/').filter(function(p) {
return !!p;
}), !isAbsolute).join('/');
if (!path && !isAbsolute) {
path = '.';
}
if (path && trailingSlash) {
path += '/';
}
return (isAbsolute ? '/' : '') + path;
},dirname:function(path) {
var result = PATH.splitPath(path),
root = result[0],
dir = result[1];
if (!root && !dir) {
// No dirname whatsoever
return '.';
}
if (dir) {
// It has a dirname, strip trailing slash
dir = dir.substr(0, dir.length - 1);
}
return root + dir;
},basename:function(path) {
// EMSCRIPTEN return '/'' for '/', not an empty string
if (path === '/') return '/';
var lastSlash = path.lastIndexOf('/');
if (lastSlash === -1) return path;
return path.substr(lastSlash+1);
},extname:function(path) {
return PATH.splitPath(path)[3];
},join:function() {
var paths = Array.prototype.slice.call(arguments, 0);
return PATH.normalize(paths.join('/'));
},join2:function(l, r) {
return PATH.normalize(l + '/' + r);
},resolve:function() {
var resolvedPath = '',
resolvedAbsolute = false;
for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
var path = (i >= 0) ? arguments[i] : FS.cwd();
// Skip empty and invalid entries
if (typeof path !== 'string') {
throw new TypeError('Arguments to path.resolve must be strings');
} else if (!path) {
return ''; // an invalid portion invalidates the whole thing
}
resolvedPath = path + '/' + resolvedPath;
resolvedAbsolute = path.charAt(0) === '/';
}
// At this point the path should be resolved to a full absolute path, but
// handle relative paths to be safe (might happen when process.cwd() fails)
resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) {
return !!p;
}), !resolvedAbsolute).join('/');
return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
},relative:function(from, to) {
from = PATH.resolve(from).substr(1);
to = PATH.resolve(to).substr(1);
function trim(arr) {
var start = 0;
for (; start < arr.length; start++) {
if (arr[start] !== '') break;
}
var end = arr.length - 1;
for (; end >= 0; end--) {
if (arr[end] !== '') break;
}
if (start > end) return [];
return arr.slice(start, end - start + 1);
}
var fromParts = trim(from.split('/'));
var toParts = trim(to.split('/'));
var length = Math.min(fromParts.length, toParts.length);
var samePartsLength = length;
for (var i = 0; i < length; i++) {
if (fromParts[i] !== toParts[i]) {
samePartsLength = i;
break;
}
}
var outputParts = [];
for (var i = samePartsLength; i < fromParts.length; i++) {
outputParts.push('..');
}
outputParts = outputParts.concat(toParts.slice(samePartsLength));
return outputParts.join('/');
}};
var TTY={ttys:[],init:function () {
// https://github.com/kripken/emscripten/pull/1555
// if (ENVIRONMENT_IS_NODE) {
// // currently, FS.init does not distinguish if process.stdin is a file or TTY
// // device, it always assumes it's a TTY device. because of this, we're forcing
// // process.stdin to UTF8 encoding to at least make stdin reading compatible
// // with text files until FS.init can be refactored.
// process['stdin']['setEncoding']('utf8');
// }
},shutdown:function() {
// https://github.com/kripken/emscripten/pull/1555
// if (ENVIRONMENT_IS_NODE) {
// // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
// // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation
// // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?
// // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle
// // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call
// process['stdin']['pause']();
// }
},register:function(dev, ops) {
TTY.ttys[dev] = { input: [], output: [], ops: ops };
FS.registerDevice(dev, TTY.stream_ops);
},stream_ops:{open:function(stream) {
var tty = TTY.ttys[stream.node.rdev];
if (!tty) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
stream.tty = tty;
stream.seekable = false;
},close:function(stream) {
// flush any pending line data
stream.tty.ops.flush(stream.tty);
},flush:function(stream) {
stream.tty.ops.flush(stream.tty);
},read:function(stream, buffer, offset, length, pos /* ignored */) {
if (!stream.tty || !stream.tty.ops.get_char) {
throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
}
var bytesRead = 0;
for (var i = 0; i < length; i++) {
var result;
try {
result = stream.tty.ops.get_char(stream.tty);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
if (result === undefined && bytesRead === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
}
if (result === null || result === undefined) break;
bytesRead++;
buffer[offset+i] = result;
}
if (bytesRead) {
stream.node.timestamp = Date.now();
}
return bytesRead;
},write:function(stream, buffer, offset, length, pos) {
if (!stream.tty || !stream.tty.ops.put_char) {
throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
}
for (var i = 0; i < length; i++) {
try {
stream.tty.ops.put_char(stream.tty, buffer[offset+i]);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
}
if (length) {
stream.node.timestamp = Date.now();
}
return i;
}},default_tty_ops:{get_char:function(tty) {
if (!tty.input.length) {
var result = null;
if (ENVIRONMENT_IS_NODE) {
// we will read data by chunks of BUFSIZE
var BUFSIZE = 256;
var buf = new Buffer(BUFSIZE);
var bytesRead = 0;
var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion
var fd = process.stdin.fd;
if (isPosixPlatform) {
// Linux and Mac cannot use process.stdin.fd (which isn't set up as sync)
var usingDevice = false;
try {
fd = fs.openSync('/dev/stdin', 'r');
usingDevice = true;
} catch (e) {}
}
try {
bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
} catch(e) {
// Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes,
// reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0.
if (e.toString().indexOf('EOF') != -1) bytesRead = 0;
else throw e;
}
if (usingDevice) { fs.closeSync(fd); }
if (bytesRead > 0) {
result = buf.slice(0, bytesRead).toString('utf-8');
} else {
result = null;
}
} else if (typeof window != 'undefined' &&
typeof window.prompt == 'function') {
// Browser.
result = window.prompt('Input: '); // returns null on cancel
if (result !== null) {
result += '\n';
}
} else if (typeof readline == 'function') {
// Command line.
result = readline();
if (result !== null) {
result += '\n';
}
}
if (!result) {
return null;
}
tty.input = intArrayFromString(result, true);
}
return tty.input.shift();
},put_char:function(tty, val) {
if (val === null || val === 10) {
out(UTF8ArrayToString(tty.output, 0));
tty.output = [];
} else {
if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle.
}
},flush:function(tty) {
if (tty.output && tty.output.length > 0) {
out(UTF8ArrayToString(tty.output, 0));
tty.output = [];
}
}},default_tty1_ops:{put_char:function(tty, val) {
if (val === null || val === 10) {
err(UTF8ArrayToString(tty.output, 0));
tty.output = [];
} else {
if (val != 0) tty.output.push(val);
}
},flush:function(tty) {
if (tty.output && tty.output.length > 0) {
err(UTF8ArrayToString(tty.output, 0));
tty.output = [];
}
}}};
var MEMFS={ops_table:null,mount:function(mount) {
return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
},createNode:function(parent, name, mode, dev) {
if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
// no supported
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (!MEMFS.ops_table) {
MEMFS.ops_table = {
dir: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr,
lookup: MEMFS.node_ops.lookup,
mknod: MEMFS.node_ops.mknod,
rename: MEMFS.node_ops.rename,
unlink: MEMFS.node_ops.unlink,
rmdir: MEMFS.node_ops.rmdir,
readdir: MEMFS.node_ops.readdir,
symlink: MEMFS.node_ops.symlink
},
stream: {
llseek: MEMFS.stream_ops.llseek
}
},
file: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr
},
stream: {
llseek: MEMFS.stream_ops.llseek,
read: MEMFS.stream_ops.read,
write: MEMFS.stream_ops.write,
allocate: MEMFS.stream_ops.allocate,
mmap: MEMFS.stream_ops.mmap,
msync: MEMFS.stream_ops.msync
}
},
link: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr,
readlink: MEMFS.node_ops.readlink
},
stream: {}
},
chrdev: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr
},
stream: FS.chrdev_stream_ops
}
};
}
var node = FS.createNode(parent, name, mode, dev);
if (FS.isDir(node.mode)) {
node.node_ops = MEMFS.ops_table.dir.node;
node.stream_ops = MEMFS.ops_table.dir.stream;
node.contents = {};
} else if (FS.isFile(node.mode)) {
node.node_ops = MEMFS.ops_table.file.node;
node.stream_ops = MEMFS.ops_table.file.stream;
node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity.
// When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred
// for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size
// penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme.
node.contents = null;
} else if (FS.isLink(node.mode)) {
node.node_ops = MEMFS.ops_table.link.node;
node.stream_ops = MEMFS.ops_table.link.stream;
} else if (FS.isChrdev(node.mode)) {
node.node_ops = MEMFS.ops_table.chrdev.node;
node.stream_ops = MEMFS.ops_table.chrdev.stream;
}
node.timestamp = Date.now();
// add the new node to the parent
if (parent) {
parent.contents[name] = node;
}
return node;
},getFileDataAsRegularArray:function(node) {
if (node.contents && node.contents.subarray) {
var arr = [];
for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
return arr; // Returns a copy of the original data.
}
return node.contents; // No-op, the file contents are already in a JS array. Return as-is.
},getFileDataAsTypedArray:function(node) {
if (!node.contents) return new Uint8Array;
if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes.
return new Uint8Array(node.contents);
},expandFileStorage:function(node, newCapacity) {
// If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file
// instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to
// increase the size.
if (node.contents && node.contents.subarray && newCapacity > node.contents.length) {
node.contents = MEMFS.getFileDataAsRegularArray(node);
node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it.
}
if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well.
var prevCapacity = node.contents ? node.contents.length : 0;
if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.
// Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
// For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
// avoid overshooting the allocation cap by a very large margin.
var CAPACITY_DOUBLING_MAX = 1024 * 1024;
newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0);
if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.
var oldContents = node.contents;
node.contents = new Uint8Array(newCapacity); // Allocate new storage.
if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.
return;
}
// Not using a typed array to back the file storage. Use a standard JS array instead.
if (!node.contents && newCapacity > 0) node.contents = [];
while (node.contents.length < newCapacity) node.contents.push(0);
},resizeFileStorage:function(node, newSize) {
if (node.usedBytes == newSize) return;
if (newSize == 0) {
node.contents = null; // Fully decommit when requesting a resize to zero.
node.usedBytes = 0;
return;
}
if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store.
var oldContents = node.contents;
node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage.
if (oldContents) {
node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage.
}
node.usedBytes = newSize;
return;
}
// Backing with a JS array.
if (!node.contents) node.contents = [];
if (node.contents.length > newSize) node.contents.length = newSize;
else while (node.contents.length < newSize) node.contents.push(0);
node.usedBytes = newSize;
},node_ops:{getattr:function(node) {
var attr = {};
// device numbers reuse inode numbers.
attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
attr.ino = node.id;
attr.mode = node.mode;
attr.nlink = 1;
attr.uid = 0;
attr.gid = 0;
attr.rdev = node.rdev;
if (FS.isDir(node.mode)) {
attr.size = 4096;
} else if (FS.isFile(node.mode)) {
attr.size = node.usedBytes;
} else if (FS.isLink(node.mode)) {
attr.size = node.link.length;
} else {
attr.size = 0;
}
attr.atime = new Date(node.timestamp);
attr.mtime = new Date(node.timestamp);
attr.ctime = new Date(node.timestamp);
// NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize),
// but this is not required by the standard.
attr.blksize = 4096;
attr.blocks = Math.ceil(attr.size / attr.blksize);
return attr;
},setattr:function(node, attr) {
if (attr.mode !== undefined) {
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
node.timestamp = attr.timestamp;
}
if (attr.size !== undefined) {
MEMFS.resizeFileStorage(node, attr.size);
}
},lookup:function(parent, name) {
throw FS.genericErrors[ERRNO_CODES.ENOENT];
},mknod:function(parent, name, mode, dev) {
return MEMFS.createNode(parent, name, mode, dev);
},rename:function(old_node, new_dir, new_name) {
// if we're overwriting a directory at new_name, make sure it's empty.
if (FS.isDir(old_node.mode)) {
var new_node;
try {
new_node = FS.lookupNode(new_dir, new_name);
} catch (e) {
}
if (new_node) {
for (var i in new_node.contents) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
}
}
// do the internal rewiring
delete old_node.parent.contents[old_node.name];
old_node.name = new_name;
new_dir.contents[new_name] = old_node;
old_node.parent = new_dir;
},unlink:function(parent, name) {
delete parent.contents[name];
},rmdir:function(parent, name) {
var node = FS.lookupNode(parent, name);
for (var i in node.contents) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
delete parent.contents[name];
},readdir:function(node) {
var entries = ['.', '..']
for (var key in node.contents) {
if (!node.contents.hasOwnProperty(key)) {
continue;
}
entries.push(key);
}
return entries;
},symlink:function(parent, newname, oldpath) {
var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0);
node.link = oldpath;
return node;
},readlink:function(node) {
if (!FS.isLink(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return node.link;
}},stream_ops:{read:function(stream, buffer, offset, length, position) {
var contents = stream.node.contents;
if (position >= stream.node.usedBytes) return 0;
var size = Math.min(stream.node.usedBytes - position, length);
assert(size >= 0);
if (size > 8 && contents.subarray) { // non-trivial, and typed array
buffer.set(contents.subarray(position, position + size), offset);
} else {
for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
}
return size;
},write:function(stream, buffer, offset, length, position, canOwn) {
if (!length) return 0;
var node = stream.node;
node.timestamp = Date.now();
if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array?
if (canOwn) {
assert(position === 0, 'canOwn must imply no weird position inside the file');
node.contents = buffer.subarray(offset, offset + length);
node.usedBytes = length;
return length;
} else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data.
node.contents = new Uint8Array(buffer.subarray(offset, offset + length));
node.usedBytes = length;
return length;
} else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file?
node.contents.set(buffer.subarray(offset, offset + length), position);
return length;
}
}
// Appending to an existing file and we need to reallocate, or source data did not come as a typed array.
MEMFS.expandFileStorage(node, position+length);
if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available.
else {
for (var i = 0; i < length; i++) {
node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not.
}
}
node.usedBytes = Math.max(node.usedBytes, position+length);
return length;
},llseek:function(stream, offset, whence) {
var position = offset;
if (whence === 1) { // SEEK_CUR.
position += stream.position;
} else if (whence === 2) { // SEEK_END.
if (FS.isFile(stream.node.mode)) {
position += stream.node.usedBytes;
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return position;
},allocate:function(stream, offset, length) {
MEMFS.expandFileStorage(stream.node, offset + length);
stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
},mmap:function(stream, buffer, offset, length, position, prot, flags) {
if (!FS.isFile(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
var ptr;
var allocated;
var contents = stream.node.contents;
// Only make a new copy when MAP_PRIVATE is specified.
if ( !(flags & 2) &&
(contents.buffer === buffer || contents.buffer === buffer.buffer) ) {
// We can't emulate MAP_SHARED when the file is not backed by the buffer
// we're mapping to (e.g. the HEAP buffer).
allocated = false;
ptr = contents.byteOffset;
} else {
// Try to avoid unnecessary slices.
if (position > 0 || position + length < stream.node.usedBytes) {
if (contents.subarray) {
contents = contents.subarray(position, position + length);
} else {
contents = Array.prototype.slice.call(contents, position, position + length);
}
}
allocated = true;
ptr = _malloc(length);
if (!ptr) {
throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
}
buffer.set(contents, ptr);
}
return { ptr: ptr, allocated: allocated };
},msync:function(stream, buffer, offset, length, mmapFlags) {
if (!FS.isFile(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
if (mmapFlags & 2) {
// MAP_PRIVATE calls need not to be synced back to underlying fs
return 0;
}
var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
// should we check if bytesWritten and length are the same?
return 0;
}}};
var IDBFS={dbs:{},indexedDB:function() {
if (typeof indexedDB !== 'undefined') return indexedDB;
var ret = null;
if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
assert(ret, 'IDBFS used, but indexedDB not supported');
return ret;
},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount) {
// reuse all of the core MEMFS functionality
return MEMFS.mount.apply(null, arguments);
},syncfs:function(mount, populate, callback) {
IDBFS.getLocalSet(mount, function(err, local) {
if (err) return callback(err);
IDBFS.getRemoteSet(mount, function(err, remote) {
if (err) return callback(err);
var src = populate ? remote : local;
var dst = populate ? local : remote;
IDBFS.reconcile(src, dst, callback);
});
});
},getDB:function(name, callback) {
// check the cache first
var db = IDBFS.dbs[name];
if (db) {
return callback(null, db);
}
var req;
try {
req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
} catch (e) {
return callback(e);
}
if (!req) {
return callback("Unable to connect to IndexedDB");
}
req.onupgradeneeded = function(e) {
var db = e.target.result;
var transaction = e.target.transaction;
var fileStore;
if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
} else {
fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
}
if (!fileStore.indexNames.contains('timestamp')) {
fileStore.createIndex('timestamp', 'timestamp', { unique: false });
}
};
req.onsuccess = function() {
db = req.result;
// add to the cache
IDBFS.dbs[name] = db;
callback(null, db);
};
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},getLocalSet:function(mount, callback) {
var entries = {};
function isRealDir(p) {
return p !== '.' && p !== '..';
};
function toAbsolute(root) {
return function(p) {
return PATH.join2(root, p);
}
};
var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
while (check.length) {
var path = check.pop();
var stat;
try {
stat = FS.stat(path);
} catch (e) {
return callback(e);
}
if (FS.isDir(stat.mode)) {
check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
}
entries[path] = { timestamp: stat.mtime };
}
return callback(null, { type: 'local', entries: entries });
},getRemoteSet:function(mount, callback) {
var entries = {};
IDBFS.getDB(mount.mountpoint, function(err, db) {
if (err) return callback(err);
try {
var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly');
transaction.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
var index = store.index('timestamp');
index.openKeyCursor().onsuccess = function(event) {
var cursor = event.target.result;
if (!cursor) {
return callback(null, { type: 'remote', db: db, entries: entries });
}
entries[cursor.primaryKey] = { timestamp: cursor.key };
cursor.continue();
};
} catch (e) {
return callback(e);
}
});
},loadLocalEntry:function(path, callback) {
var stat, node;
try {
var lookup = FS.lookupPath(path);
node = lookup.node;
stat = FS.stat(path);
} catch (e) {
return callback(e);
}
if (FS.isDir(stat.mode)) {
return callback(null, { timestamp: stat.mtime, mode: stat.mode });
} else if (FS.isFile(stat.mode)) {
// Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array.
// Therefore always convert the file contents to a typed array first before writing the data to IndexedDB.
node.contents = MEMFS.getFileDataAsTypedArray(node);
return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents });
} else {
return callback(new Error('node type not supported'));
}
},storeLocalEntry:function(path, entry, callback) {
try {
if (FS.isDir(entry.mode)) {
FS.mkdir(path, entry.mode);
} else if (FS.isFile(entry.mode)) {
FS.writeFile(path, entry.contents, { canOwn: true });
} else {
return callback(new Error('node type not supported'));
}
FS.chmod(path, entry.mode);
FS.utime(path, entry.timestamp, entry.timestamp);
} catch (e) {
return callback(e);
}
callback(null);
},removeLocalEntry:function(path, callback) {
try {
var lookup = FS.lookupPath(path);
var stat = FS.stat(path);
if (FS.isDir(stat.mode)) {
FS.rmdir(path);
} else if (FS.isFile(stat.mode)) {
FS.unlink(path);
}
} catch (e) {
return callback(e);
}
callback(null);
},loadRemoteEntry:function(store, path, callback) {
var req = store.get(path);
req.onsuccess = function(event) { callback(null, event.target.result); };
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},storeRemoteEntry:function(store, path, entry, callback) {
var req = store.put(entry, path);
req.onsuccess = function() { callback(null); };
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},removeRemoteEntry:function(store, path, callback) {
var req = store.delete(path);
req.onsuccess = function() { callback(null); };
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},reconcile:function(src, dst, callback) {
var total = 0;
var create = [];
Object.keys(src.entries).forEach(function (key) {
var e = src.entries[key];
var e2 = dst.entries[key];
if (!e2 || e.timestamp > e2.timestamp) {
create.push(key);
total++;
}
});
var remove = [];
Object.keys(dst.entries).forEach(function (key) {
var e = dst.entries[key];
var e2 = src.entries[key];
if (!e2) {
remove.push(key);
total++;
}
});
if (!total) {
return callback(null);
}
var errored = false;
var completed = 0;
var db = src.type === 'remote' ? src.db : dst.db;
var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite');
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
function done(err) {
if (err) {
if (!done.errored) {
done.errored = true;
return callback(err);
}
return;
}
if (++completed >= total) {
return callback(null);
}
};
transaction.onerror = function(e) {
done(this.error);
e.preventDefault();
};
// sort paths in ascending order so directory entries are created
// before the files inside them
create.sort().forEach(function (path) {
if (dst.type === 'local') {
IDBFS.loadRemoteEntry(store, path, function (err, entry) {
if (err) return done(err);
IDBFS.storeLocalEntry(path, entry, done);
});
} else {
IDBFS.loadLocalEntry(path, function (err, entry) {
if (err) return done(err);
IDBFS.storeRemoteEntry(store, path, entry, done);
});
}
});
// sort paths in descending order so files are deleted before their
// parent directories
remove.sort().reverse().forEach(function(path) {
if (dst.type === 'local') {
IDBFS.removeLocalEntry(path, done);
} else {
IDBFS.removeRemoteEntry(store, path, done);
}
});
}};
var NODEFS={isWindows:false,staticInit:function() {
NODEFS.isWindows = !!process.platform.match(/^win/);
var flags = process["binding"]("constants");
// Node.js 4 compatibility: it has no namespaces for constants
if (flags["fs"]) {
flags = flags["fs"];
}
NODEFS.flagsForNodeMap = {
"1024": flags["O_APPEND"],
"64": flags["O_CREAT"],
"128": flags["O_EXCL"],
"0": flags["O_RDONLY"],
"2": flags["O_RDWR"],
"4096": flags["O_SYNC"],
"512": flags["O_TRUNC"],
"1": flags["O_WRONLY"]
};
},bufferFrom:function (arrayBuffer) {
// Node.js < 4.5 compatibility: Buffer.from does not support ArrayBuffer
// Buffer.from before 4.5 was just a method inherited from Uint8Array
// Buffer.alloc has been added with Buffer.from together, so check it instead
return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer);
},mount:function (mount) {
assert(ENVIRONMENT_IS_NODE);
return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0);
},createNode:function (parent, name, mode, dev) {
if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var node = FS.createNode(parent, name, mode);
node.node_ops = NODEFS.node_ops;
node.stream_ops = NODEFS.stream_ops;
return node;
},getMode:function (path) {
var stat;
try {
stat = fs.lstatSync(path);
if (NODEFS.isWindows) {
// Node.js on Windows never represents permission bit 'x', so
// propagate read bits to execute bits
stat.mode = stat.mode | ((stat.mode & 292) >> 2);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return stat.mode;
},realPath:function (node) {
var parts = [];
while (node.parent !== node) {
parts.push(node.name);
node = node.parent;
}
parts.push(node.mount.opts.root);
parts.reverse();
return PATH.join.apply(null, parts);
},flagsForNode:function(flags) {
flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process.
var newFlags = 0;
for (var k in NODEFS.flagsForNodeMap) {
if (flags & k) {
newFlags |= NODEFS.flagsForNodeMap[k];
flags ^= k;
}
}
if (!flags) {
return newFlags;
} else {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
},node_ops:{getattr:function(node) {
var path = NODEFS.realPath(node);
var stat;
try {
stat = fs.lstatSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
// node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096.
// See http://support.microsoft.com/kb/140365
if (NODEFS.isWindows && !stat.blksize) {
stat.blksize = 4096;
}
if (NODEFS.isWindows && !stat.blocks) {
stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0;
}
return {
dev: stat.dev,
ino: stat.ino,
mode: stat.mode,
nlink: stat.nlink,
uid: stat.uid,
gid: stat.gid,
rdev: stat.rdev,
size: stat.size,
atime: stat.atime,
mtime: stat.mtime,
ctime: stat.ctime,
blksize: stat.blksize,
blocks: stat.blocks
};
},setattr:function(node, attr) {
var path = NODEFS.realPath(node);
try {
if (attr.mode !== undefined) {
fs.chmodSync(path, attr.mode);
// update the common node structure mode as well
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
var date = new Date(attr.timestamp);
fs.utimesSync(path, date, date);
}
if (attr.size !== undefined) {
fs.truncateSync(path, attr.size);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},lookup:function (parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
var mode = NODEFS.getMode(path);
return NODEFS.createNode(parent, name, mode);
},mknod:function (parent, name, mode, dev) {
var node = NODEFS.createNode(parent, name, mode, dev);
// create the backing node for this in the fs root as well
var path = NODEFS.realPath(node);
try {
if (FS.isDir(node.mode)) {
fs.mkdirSync(path, node.mode);
} else {
fs.writeFileSync(path, '', { mode: node.mode });
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return node;
},rename:function (oldNode, newDir, newName) {
var oldPath = NODEFS.realPath(oldNode);
var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
try {
fs.renameSync(oldPath, newPath);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},unlink:function(parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
try {
fs.unlinkSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},rmdir:function(parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
try {
fs.rmdirSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},readdir:function(node) {
var path = NODEFS.realPath(node);
try {
return fs.readdirSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},symlink:function(parent, newName, oldPath) {
var newPath = PATH.join2(NODEFS.realPath(parent), newName);
try {
fs.symlinkSync(oldPath, newPath);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},readlink:function(node) {
var path = NODEFS.realPath(node);
try {
path = fs.readlinkSync(path);
path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);
return path;
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
}},stream_ops:{open:function (stream) {
var path = NODEFS.realPath(stream.node);
try {
if (FS.isFile(stream.node.mode)) {
stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags));
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},close:function (stream) {
try {
if (FS.isFile(stream.node.mode) && stream.nfd) {
fs.closeSync(stream.nfd);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},read:function (stream, buffer, offset, length, position) {
// Node.js < 6 compatibility: node errors on 0 length reads
if (length === 0) return 0;
try {
return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},write:function (stream, buffer, offset, length, position) {
try {
return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},llseek:function (stream, offset, whence) {
var position = offset;
if (whence === 1) { // SEEK_CUR.
position += stream.position;
} else if (whence === 2) { // SEEK_END.
if (FS.isFile(stream.node.mode)) {
try {
var stat = fs.fstatSync(stream.nfd);
position += stat.size;
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return position;
}}};
var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) {
assert(ENVIRONMENT_IS_WORKER);
if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0);
var createdParents = {};
function ensureParent(path) {
// return the parent node, creating subdirs as necessary
var parts = path.split('/');
var parent = root;
for (var i = 0; i < parts.length-1; i++) {
var curr = parts.slice(0, i+1).join('/');
// Issue 4254: Using curr as a node name will prevent the node
// from being found in FS.nameTable when FS.open is called on
// a path which holds a child of this node,
// given that all FS functions assume node names
// are just their corresponding parts within their given path,
// rather than incremental aggregates which include their parent's
// directories.
if (!createdParents[curr]) {
createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0);
}
parent = createdParents[curr];
}
return parent;
}
function base(path) {
var parts = path.split('/');
return parts[parts.length-1];
}
// We also accept FileList here, by using Array.prototype
Array.prototype.forEach.call(mount.opts["files"] || [], function(file) {
WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate);
});
(mount.opts["blobs"] || []).forEach(function(obj) {
WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]);
});
(mount.opts["packages"] || []).forEach(function(pack) {
pack['metadata'].files.forEach(function(file) {
var name = file.filename.substr(1); // remove initial slash
WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end));
});
});
return root;
},createNode:function (parent, name, mode, dev, contents, mtime) {
var node = FS.createNode(parent, name, mode);
node.mode = mode;
node.node_ops = WORKERFS.node_ops;
node.stream_ops = WORKERFS.stream_ops;
node.timestamp = (mtime || new Date).getTime();
assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
if (mode === WORKERFS.FILE_MODE) {
node.size = contents.size;
node.contents = contents;
} else {
node.size = 4096;
node.contents = {};
}
if (parent) {
parent.contents[name] = node;
}
return node;
},node_ops:{getattr:function(node) {
return {
dev: 1,
ino: undefined,
mode: node.mode,
nlink: 1,
uid: 0,
gid: 0,
rdev: undefined,
size: node.size,
atime: new Date(node.timestamp),
mtime: new Date(node.timestamp),
ctime: new Date(node.timestamp),
blksize: 4096,
blocks: Math.ceil(node.size / 4096),
};
},setattr:function(node, attr) {
if (attr.mode !== undefined) {
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
node.timestamp = attr.timestamp;
}
},lookup:function(parent, name) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
},mknod:function (parent, name, mode, dev) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},rename:function (oldNode, newDir, newName) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},unlink:function(parent, name) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},rmdir:function(parent, name) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},readdir:function(node) {
var entries = ['.', '..'];
for (var key in node.contents) {
if (!node.contents.hasOwnProperty(key)) {
continue;
}
entries.push(key);
}
return entries;
},symlink:function(parent, newName, oldPath) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},readlink:function(node) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}},stream_ops:{read:function (stream, buffer, offset, length, position) {
if (position >= stream.node.size) return 0;
var chunk = stream.node.contents.slice(position, position + length);
var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
buffer.set(new Uint8Array(ab), offset);
return chunk.size;
},write:function (stream, buffer, offset, length, position) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
},llseek:function (stream, offset, whence) {
var position = offset;
if (whence === 1) { // SEEK_CUR.
position += stream.position;
} else if (whence === 2) { // SEEK_END.
if (FS.isFile(stream.node.mode)) {
position += stream.node.size;
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return position;
}}};
var _stdin=STATICTOP; STATICTOP += 16;;
var _stdout=STATICTOP; STATICTOP += 16;;
var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e) {
if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace();
return ___setErrNo(e.errno);
},lookupPath:function(path, opts) {
path = PATH.resolve(FS.cwd(), path);
opts = opts || {};
if (!path) return { path: '', node: null };
var defaults = {
follow_mount: true,
recurse_count: 0
};
for (var key in defaults) {
if (opts[key] === undefined) {
opts[key] = defaults[key];
}
}
if (opts.recurse_count > 8) { // max recursive lookup of 8
throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
}
// split the path
var parts = PATH.normalizeArray(path.split('/').filter(function(p) {
return !!p;
}), false);
// start at the root
var current = FS.root;
var current_path = '/';
for (var i = 0; i < parts.length; i++) {
var islast = (i === parts.length-1);
if (islast && opts.parent) {
// stop resolving
break;
}
current = FS.lookupNode(current, parts[i]);
current_path = PATH.join2(current_path, parts[i]);
// jump to the mount's root node if this is a mountpoint
if (FS.isMountpoint(current)) {
if (!islast || (islast && opts.follow_mount)) {
current = current.mounted.root;
}
}
// by default, lookupPath will not follow a symlink if it is the final path component.
// setting opts.follow = true will override this behavior.
if (!islast || opts.follow) {
var count = 0;
while (FS.isLink(current.mode)) {
var link = FS.readlink(current_path);
current_path = PATH.resolve(PATH.dirname(current_path), link);
var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });
current = lookup.node;
if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX).
throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
}
}
}
}
return { path: current_path, node: current };
},getPath:function(node) {
var path;
while (true) {
if (FS.isRoot(node)) {
var mount = node.mount.mountpoint;
if (!path) return mount;
return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path;
}
path = path ? node.name + '/' + path : node.name;
node = node.parent;
}
},hashName:function(parentid, name) {
var hash = 0;
for (var i = 0; i < name.length; i++) {
hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
}
return ((parentid + hash) >>> 0) % FS.nameTable.length;
},hashAddNode:function(node) {
var hash = FS.hashName(node.parent.id, node.name);
node.name_next = FS.nameTable[hash];
FS.nameTable[hash] = node;
},hashRemoveNode:function(node) {
var hash = FS.hashName(node.parent.id, node.name);
if (FS.nameTable[hash] === node) {
FS.nameTable[hash] = node.name_next;
} else {
var current = FS.nameTable[hash];
while (current) {
if (current.name_next === node) {
current.name_next = node.name_next;
break;
}
current = current.name_next;
}
}
},lookupNode:function(parent, name) {
var err = FS.mayLookup(parent);
if (err) {
throw new FS.ErrnoError(err, parent);
}
var hash = FS.hashName(parent.id, name);
for (var node = FS.nameTable[hash]; node; node = node.name_next) {
var nodeName = node.name;
if (node.parent.id === parent.id && nodeName === name) {
return node;
}
}
// if we failed to find it in the cache, call into the VFS
return FS.lookup(parent, name);
},createNode:function(parent, name, mode, rdev) {
if (!FS.FSNode) {
FS.FSNode = function(parent, name, mode, rdev) {
if (!parent) {
parent = this; // root node sets parent to itself
}
this.parent = parent;
this.mount = parent.mount;
this.mounted = null;
this.id = FS.nextInode++;
this.name = name;
this.mode = mode;
this.node_ops = {};
this.stream_ops = {};
this.rdev = rdev;
};
FS.FSNode.prototype = {};
// compatibility
var readMode = 292 | 73;
var writeMode = 146;
// NOTE we must use Object.defineProperties instead of individual calls to
// Object.defineProperty in order to make closure compiler happy
Object.defineProperties(FS.FSNode.prototype, {
read: {
get: function() { return (this.mode & readMode) === readMode; },
set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; }
},
write: {
get: function() { return (this.mode & writeMode) === writeMode; },
set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; }
},
isFolder: {
get: function() { return FS.isDir(this.mode); }
},
isDevice: {
get: function() { return FS.isChrdev(this.mode); }
}
});
}
var node = new FS.FSNode(parent, name, mode, rdev);
FS.hashAddNode(node);
return node;
},destroyNode:function(node) {
FS.hashRemoveNode(node);
},isRoot:function(node) {
return node === node.parent;
},isMountpoint:function(node) {
return !!node.mounted;
},isFile:function(mode) {
return (mode & 61440) === 32768;
},isDir:function(mode) {
return (mode & 61440) === 16384;
},isLink:function(mode) {
return (mode & 61440) === 40960;
},isChrdev:function(mode) {
return (mode & 61440) === 8192;
},isBlkdev:function(mode) {
return (mode & 61440) === 24576;
},isFIFO:function(mode) {
return (mode & 61440) === 4096;
},isSocket:function(mode) {
return (mode & 49152) === 49152;
},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str) {
var flags = FS.flagModes[str];
if (typeof flags === 'undefined') {
throw new Error('Unknown file open mode: ' + str);
}
return flags;
},flagsToPermissionString:function(flag) {
var perms = ['r', 'w', 'rw'][flag & 3];
if ((flag & 512)) {
perms += 'w';
}
return perms;
},nodePermissions:function(node, perms) {
if (FS.ignorePermissions) {
return 0;
}
// return 0 if any user, group or owner bits are set.
if (perms.indexOf('r') !== -1 && !(node.mode & 292)) {
return ERRNO_CODES.EACCES;
} else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) {
return ERRNO_CODES.EACCES;
} else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) {
return ERRNO_CODES.EACCES;
}
return 0;
},mayLookup:function(dir) {
var err = FS.nodePermissions(dir, 'x');
if (err) return err;
if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
return 0;
},mayCreate:function(dir, name) {
try {
var node = FS.lookupNode(dir, name);
return ERRNO_CODES.EEXIST;
} catch (e) {
}
return FS.nodePermissions(dir, 'wx');
},mayDelete:function(dir, name, isdir) {
var node;
try {
node = FS.lookupNode(dir, name);
} catch (e) {
return e.errno;
}
var err = FS.nodePermissions(dir, 'wx');
if (err) {
return err;
}
if (isdir) {
if (!FS.isDir(node.mode)) {
return ERRNO_CODES.ENOTDIR;
}
if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
return ERRNO_CODES.EBUSY;
}
} else {
if (FS.isDir(node.mode)) {
return ERRNO_CODES.EISDIR;
}
}
return 0;
},mayOpen:function(node, flags) {
if (!node) {
return ERRNO_CODES.ENOENT;
}
if (FS.isLink(node.mode)) {
return ERRNO_CODES.ELOOP;
} else if (FS.isDir(node.mode)) {
if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write
(flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only)
return ERRNO_CODES.EISDIR;
}
}
return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
},MAX_OPEN_FDS:4096,nextfd:function(fd_start, fd_end) {
fd_start = fd_start || 0;
fd_end = fd_end || FS.MAX_OPEN_FDS;
for (var fd = fd_start; fd <= fd_end; fd++) {
if (!FS.streams[fd]) {
return fd;
}
}
throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
},getStream:function(fd) {
return FS.streams[fd];
},createStream:function(stream, fd_start, fd_end) {
if (!FS.FSStream) {
FS.FSStream = function(){};
FS.FSStream.prototype = {};
// compatibility
Object.defineProperties(FS.FSStream.prototype, {
object: {
get: function() { return this.node; },
set: function(val) { this.node = val; }
},
isRead: {
get: function() { return (this.flags & 2097155) !== 1; }
},
isWrite: {
get: function() { return (this.flags & 2097155) !== 0; }
},
isAppend: {
get: function() { return (this.flags & 1024); }
}
});
}
// clone it, so we can return an instance of FSStream
var newStream = new FS.FSStream();
for (var p in stream) {
newStream[p] = stream[p];
}
stream = newStream;
var fd = FS.nextfd(fd_start, fd_end);
stream.fd = fd;
FS.streams[fd] = stream;
return stream;
},closeStream:function(fd) {
FS.streams[fd] = null;
},chrdev_stream_ops:{open:function(stream) {
var device = FS.getDevice(stream.node.rdev);
// override node's stream ops with the device's
stream.stream_ops = device.stream_ops;
// forward the open call
if (stream.stream_ops.open) {
stream.stream_ops.open(stream);
}
},llseek:function() {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}},major:function(dev) {
return ((dev) >> 8);
},minor:function(dev) {
return ((dev) & 0xff);
},makedev:function(ma, mi) {
return ((ma) << 8 | (mi));
},registerDevice:function(dev, ops) {
FS.devices[dev] = { stream_ops: ops };
},getDevice:function(dev) {
return FS.devices[dev];
},getMounts:function(mount) {
var mounts = [];
var check = [mount];
while (check.length) {
var m = check.pop();
mounts.push(m);
check.push.apply(check, m.mounts);
}
return mounts;
},syncfs:function(populate, callback) {
if (typeof(populate) === 'function') {
callback = populate;
populate = false;
}
FS.syncFSRequests++;
if (FS.syncFSRequests > 1) {
console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work');
}
var mounts = FS.getMounts(FS.root.mount);
var completed = 0;
function doCallback(err) {
assert(FS.syncFSRequests > 0);
FS.syncFSRequests--;
return callback(err);
}
function done(err) {
if (err) {
if (!done.errored) {
done.errored = true;
return doCallback(err);
}
return;
}
if (++completed >= mounts.length) {
doCallback(null);
}
};
// sync all mounts
mounts.forEach(function (mount) {
if (!mount.type.syncfs) {
return done(null);
}
mount.type.syncfs(mount, populate, done);
});
},mount:function(type, opts, mountpoint) {
var root = mountpoint === '/';
var pseudo = !mountpoint;
var node;
if (root && FS.root) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
} else if (!root && !pseudo) {
var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
mountpoint = lookup.path; // use the absolute path
node = lookup.node;
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
if (!FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
}
var mount = {
type: type,
opts: opts,
mountpoint: mountpoint,
mounts: []
};
// create a root node for the fs
var mountRoot = type.mount(mount);
mountRoot.mount = mount;
mount.root = mountRoot;
if (root) {
FS.root = mountRoot;
} else if (node) {
// set as a mountpoint
node.mounted = mount;
// add the new mount to the current mount's children
if (node.mount) {
node.mount.mounts.push(mount);
}
}
return mountRoot;
},unmount:function (mountpoint) {
var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
if (!FS.isMountpoint(lookup.node)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
// destroy the nodes for this mount, and all its child mounts
var node = lookup.node;
var mount = node.mounted;
var mounts = FS.getMounts(mount);
Object.keys(FS.nameTable).forEach(function (hash) {
var current = FS.nameTable[hash];
while (current) {
var next = current.name_next;
if (mounts.indexOf(current.mount) !== -1) {
FS.destroyNode(current);
}
current = next;
}
});
// no longer a mountpoint
node.mounted = null;
// remove this mount from the child mounts
var idx = node.mount.mounts.indexOf(mount);
assert(idx !== -1);
node.mount.mounts.splice(idx, 1);
},lookup:function(parent, name) {
return parent.node_ops.lookup(parent, name);
},mknod:function(path, mode, dev) {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
if (!name || name === '.' || name === '..') {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var err = FS.mayCreate(parent, name);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.mknod) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
return parent.node_ops.mknod(parent, name, mode, dev);
},create:function(path, mode) {
mode = mode !== undefined ? mode : 438 /* 0666 */;
mode &= 4095;
mode |= 32768;
return FS.mknod(path, mode, 0);
},mkdir:function(path, mode) {
mode = mode !== undefined ? mode : 511 /* 0777 */;
mode &= 511 | 512;
mode |= 16384;
return FS.mknod(path, mode, 0);
},mkdirTree:function(path, mode) {
var dirs = path.split('/');
var d = '';
for (var i = 0; i < dirs.length; ++i) {
if (!dirs[i]) continue;
d += '/' + dirs[i];
try {
FS.mkdir(d, mode);
} catch(e) {
if (e.errno != ERRNO_CODES.EEXIST) throw e;
}
}
},mkdev:function(path, mode, dev) {
if (typeof(dev) === 'undefined') {
dev = mode;
mode = 438 /* 0666 */;
}
mode |= 8192;
return FS.mknod(path, mode, dev);
},symlink:function(oldpath, newpath) {
if (!PATH.resolve(oldpath)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
var lookup = FS.lookupPath(newpath, { parent: true });
var parent = lookup.node;
if (!parent) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
var newname = PATH.basename(newpath);
var err = FS.mayCreate(parent, newname);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.symlink) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
return parent.node_ops.symlink(parent, newname, oldpath);
},rename:function(old_path, new_path) {
var old_dirname = PATH.dirname(old_path);
var new_dirname = PATH.dirname(new_path);
var old_name = PATH.basename(old_path);
var new_name = PATH.basename(new_path);
// parents must exist
var lookup, old_dir, new_dir;
try {
lookup = FS.lookupPath(old_path, { parent: true });
old_dir = lookup.node;
lookup = FS.lookupPath(new_path, { parent: true });
new_dir = lookup.node;
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
// need to be part of the same mount
if (old_dir.mount !== new_dir.mount) {
throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
}
// source must exist
var old_node = FS.lookupNode(old_dir, old_name);
// old path should not be an ancestor of the new path
var relative = PATH.relative(old_path, new_dirname);
if (relative.charAt(0) !== '.') {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
// new path should not be an ancestor of the old path
relative = PATH.relative(new_path, old_dirname);
if (relative.charAt(0) !== '.') {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
// see if the new path already exists
var new_node;
try {
new_node = FS.lookupNode(new_dir, new_name);
} catch (e) {
// not fatal
}
// early out if nothing needs to change
if (old_node === new_node) {
return;
}
// we'll need to delete the old entry
var isdir = FS.isDir(old_node.mode);
var err = FS.mayDelete(old_dir, old_name, isdir);
if (err) {
throw new FS.ErrnoError(err);
}
// need delete permissions if we'll be overwriting.
// need create permissions if new doesn't already exist.
err = new_node ?
FS.mayDelete(new_dir, new_name, isdir) :
FS.mayCreate(new_dir, new_name);
if (err) {
throw new FS.ErrnoError(err);
}
if (!old_dir.node_ops.rename) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
// if we are going to change the parent, check write permissions
if (new_dir !== old_dir) {
err = FS.nodePermissions(old_dir, 'w');
if (err) {
throw new FS.ErrnoError(err);
}
}
try {
if (FS.trackingDelegate['willMovePath']) {
FS.trackingDelegate['willMovePath'](old_path, new_path);
}
} catch(e) {
console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
}
// remove the node from the lookup hash
FS.hashRemoveNode(old_node);
// do the underlying fs rename
try {
old_dir.node_ops.rename(old_node, new_dir, new_name);
} catch (e) {
throw e;
} finally {
// add the node back to the hash (in case node_ops.rename
// changed its name)
FS.hashAddNode(old_node);
}
try {
if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path);
} catch(e) {
console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
}
},rmdir:function(path) {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
var node = FS.lookupNode(parent, name);
var err = FS.mayDelete(parent, name, true);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.rmdir) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
try {
if (FS.trackingDelegate['willDeletePath']) {
FS.trackingDelegate['willDeletePath'](path);
}
} catch(e) {
console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
}
parent.node_ops.rmdir(parent, name);
FS.destroyNode(node);
try {
if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
} catch(e) {
console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
}
},readdir:function(path) {
var lookup = FS.lookupPath(path, { follow: true });
var node = lookup.node;
if (!node.node_ops.readdir) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
return node.node_ops.readdir(node);
},unlink:function(path) {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
var node = FS.lookupNode(parent, name);
var err = FS.mayDelete(parent, name, false);
if (err) {
// According to POSIX, we should map EISDIR to EPERM, but
// we instead do what Linux does (and we must, as we use
// the musl linux libc).
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.unlink) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
try {
if (FS.trackingDelegate['willDeletePath']) {
FS.trackingDelegate['willDeletePath'](path);
}
} catch(e) {
console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
}
parent.node_ops.unlink(parent, name);
FS.destroyNode(node);
try {
if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
} catch(e) {
console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
}
},readlink:function(path) {
var lookup = FS.lookupPath(path);
var link = lookup.node;
if (!link) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
if (!link.node_ops.readlink) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
},stat:function(path, dontFollow) {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
var node = lookup.node;
if (!node) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
if (!node.node_ops.getattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
return node.node_ops.getattr(node);
},lstat:function(path) {
return FS.stat(path, true);
},chmod:function(path, mode, dontFollow) {
var node;
if (typeof path === 'string') {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
node.node_ops.setattr(node, {
mode: (mode & 4095) | (node.mode & ~4095),
timestamp: Date.now()
});
},lchmod:function(path, mode) {
FS.chmod(path, mode, true);
},fchmod:function(fd, mode) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
FS.chmod(stream.node, mode);
},chown:function(path, uid, gid, dontFollow) {
var node;
if (typeof path === 'string') {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
node.node_ops.setattr(node, {
timestamp: Date.now()
// we ignore the uid / gid for now
});
},lchown:function(path, uid, gid) {
FS.chown(path, uid, gid, true);
},fchown:function(fd, uid, gid) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
FS.chown(stream.node, uid, gid);
},truncate:function(path, len) {
if (len < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var node;
if (typeof path === 'string') {
var lookup = FS.lookupPath(path, { follow: true });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
}
if (!FS.isFile(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var err = FS.nodePermissions(node, 'w');
if (err) {
throw new FS.ErrnoError(err);
}
node.node_ops.setattr(node, {
size: len,
timestamp: Date.now()
});
},ftruncate:function(fd, len) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
FS.truncate(stream.node, len);
},utime:function(path, atime, mtime) {
var lookup = FS.lookupPath(path, { follow: true });
var node = lookup.node;
node.node_ops.setattr(node, {
timestamp: Math.max(atime, mtime)
});
},open:function(path, flags, mode, fd_start, fd_end) {
if (path === "") {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags;
mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode;
if ((flags & 64)) {
mode = (mode & 4095) | 32768;
} else {
mode = 0;
}
var node;
if (typeof path === 'object') {
node = path;
} else {
path = PATH.normalize(path);
try {
var lookup = FS.lookupPath(path, {
follow: !(flags & 131072)
});
node = lookup.node;
} catch (e) {
// ignore
}
}
// perhaps we need to create the node
var created = false;
if ((flags & 64)) {
if (node) {
// if O_CREAT and O_EXCL are set, error out if the node already exists
if ((flags & 128)) {
throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
}
} else {
// node doesn't exist, try to create it
node = FS.mknod(path, mode, 0);
created = true;
}
}
if (!node) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
// can't truncate a device
if (FS.isChrdev(node.mode)) {
flags &= ~512;
}
// if asked only for a directory, then this must be one
if ((flags & 65536) && !FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
// check permissions, if this is not a file we just created now (it is ok to
// create and write to a file with read-only permissions; it is read-only
// for later use)
if (!created) {
var err = FS.mayOpen(node, flags);
if (err) {
throw new FS.ErrnoError(err);
}
}
// do truncation if necessary
if ((flags & 512)) {
FS.truncate(node, 0);
}
// we've already handled these, don't pass down to the underlying vfs
flags &= ~(128 | 512);
// register the stream with the filesystem
var stream = FS.createStream({
node: node,
path: FS.getPath(node), // we want the absolute path to the node
flags: flags,
seekable: true,
position: 0,
stream_ops: node.stream_ops,
// used by the file family libc calls (fopen, fwrite, ferror, etc.)
ungotten: [],
error: false
}, fd_start, fd_end);
// call the new stream's open function
if (stream.stream_ops.open) {
stream.stream_ops.open(stream);
}
if (Module['logReadFiles'] && !(flags & 1)) {
if (!FS.readFiles) FS.readFiles = {};
if (!(path in FS.readFiles)) {
FS.readFiles[path] = 1;
err('read file: ' + path);
}
}
try {
if (FS.trackingDelegate['onOpenFile']) {
var trackingFlags = 0;
if ((flags & 2097155) !== 1) {
trackingFlags |= FS.tracking.openFlags.READ;
}
if ((flags & 2097155) !== 0) {
trackingFlags |= FS.tracking.openFlags.WRITE;
}
FS.trackingDelegate['onOpenFile'](path, trackingFlags);
}
} catch(e) {
console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message);
}
return stream;
},close:function(stream) {
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (stream.getdents) stream.getdents = null; // free readdir state
try {
if (stream.stream_ops.close) {
stream.stream_ops.close(stream);
}
} catch (e) {
throw e;
} finally {
FS.closeStream(stream.fd);
}
stream.fd = null;
},isClosed:function(stream) {
return stream.fd === null;
},llseek:function(stream, offset, whence) {
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (!stream.seekable || !stream.stream_ops.llseek) {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}
stream.position = stream.stream_ops.llseek(stream, offset, whence);
stream.ungotten = [];
return stream.position;
},read:function(stream, buffer, offset, length, position) {
if (length < 0 || position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if ((stream.flags & 2097155) === 1) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
}
if (!stream.stream_ops.read) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var seeking = typeof position !== 'undefined';
if (!seeking) {
position = stream.position;
} else if (!stream.seekable) {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}
var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
if (!seeking) stream.position += bytesRead;
return bytesRead;
},write:function(stream, buffer, offset, length, position, canOwn) {
if (length < 0 || position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
}
if (!stream.stream_ops.write) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if (stream.flags & 1024) {
// seek to the end before writing in append mode
FS.llseek(stream, 0, 2);
}
var seeking = typeof position !== 'undefined';
if (!seeking) {
position = stream.position;
} else if (!stream.seekable) {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}
var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
if (!seeking) stream.position += bytesWritten;
try {
if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path);
} catch(e) {
console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message);
}
return bytesWritten;
},allocate:function(stream, offset, length) {
if (FS.isClosed(stream)) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (offset < 0 || length <= 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
if (!stream.stream_ops.allocate) {
throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
}
stream.stream_ops.allocate(stream, offset, length);
},mmap:function(stream, buffer, offset, length, position, prot, flags) {
// TODO if PROT is PROT_WRITE, make sure we have write access
if ((stream.flags & 2097155) === 1) {
throw new FS.ErrnoError(ERRNO_CODES.EACCES);
}
if (!stream.stream_ops.mmap) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
},msync:function(stream, buffer, offset, length, mmapFlags) {
if (!stream || !stream.stream_ops.msync) {
return 0;
}
return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
},munmap:function(stream) {
return 0;
},ioctl:function(stream, cmd, arg) {
if (!stream.stream_ops.ioctl) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
}
return stream.stream_ops.ioctl(stream, cmd, arg);
},readFile:function(path, opts) {
opts = opts || {};
opts.flags = opts.flags || 'r';
opts.encoding = opts.encoding || 'binary';
if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
throw new Error('Invalid encoding type "' + opts.encoding + '"');
}
var ret;
var stream = FS.open(path, opts.flags);
var stat = FS.stat(path);
var length = stat.size;
var buf = new Uint8Array(length);
FS.read(stream, buf, 0, length, 0);
if (opts.encoding === 'utf8') {
ret = UTF8ArrayToString(buf, 0);
} else if (opts.encoding === 'binary') {
ret = buf;
}
FS.close(stream);
return ret;
},writeFile:function(path, data, opts) {
opts = opts || {};
opts.flags = opts.flags || 'w';
var stream = FS.open(path, opts.flags, opts.mode);
if (typeof data === 'string') {
var buf = new Uint8Array(lengthBytesUTF8(data)+1);
var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);
} else if (ArrayBuffer.isView(data)) {
FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);
} else {
throw new Error('Unsupported data type');
}
FS.close(stream);
},cwd:function() {
return FS.currentPath;
},chdir:function(path) {
var lookup = FS.lookupPath(path, { follow: true });
if (lookup.node === null) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
if (!FS.isDir(lookup.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
var err = FS.nodePermissions(lookup.node, 'x');
if (err) {
throw new FS.ErrnoError(err);
}
FS.currentPath = lookup.path;
},createDefaultDirectories:function() {
FS.mkdir('/tmp');
FS.mkdir('/home');
FS.mkdir('/home/web_user');
},createDefaultDevices:function() {
// create /dev
FS.mkdir('/dev');
// setup /dev/null
FS.registerDevice(FS.makedev(1, 3), {
read: function() { return 0; },
write: function(stream, buffer, offset, length, pos) { return length; }
});
FS.mkdev('/dev/null', FS.makedev(1, 3));
// setup /dev/tty and /dev/tty1
// stderr needs to print output using Module['printErr']
// so we register a second tty just for it.
TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
FS.mkdev('/dev/tty', FS.makedev(5, 0));
FS.mkdev('/dev/tty1', FS.makedev(6, 0));
// setup /dev/[u]random
var random_device;
if (typeof crypto !== 'undefined') {
// for modern web browsers
var randomBuffer = new Uint8Array(1);
random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; };
} else if (ENVIRONMENT_IS_NODE) {
// for nodejs
random_device = function() { return require('crypto')['randomBytes'](1)[0]; };
} else {
// default for ES5 platforms
random_device = function() { return (Math.random()*256)|0; };
}
FS.createDevice('/dev', 'random', random_device);
FS.createDevice('/dev', 'urandom', random_device);
// we're not going to emulate the actual shm device,
// just create the tmp dirs that reside in it commonly
FS.mkdir('/dev/shm');
FS.mkdir('/dev/shm/tmp');
},createSpecialDirectories:function() {
// create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname)
FS.mkdir('/proc');
FS.mkdir('/proc/self');
FS.mkdir('/proc/self/fd');
FS.mount({
mount: function() {
var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73);
node.node_ops = {
lookup: function(parent, name) {
var fd = +name;
var stream = FS.getStream(fd);
if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
var ret = {
parent: null,
mount: { mountpoint: 'fake' },
node_ops: { readlink: function() { return stream.path } }
};
ret.parent = ret; // make it look like a simple root node
return ret;
}
};
return node;
}
}, {}, '/proc/self/fd');
},createStandardStreams:function() {
// TODO deprecate the old functionality of a single
// input / output callback and that utilizes FS.createDevice
// and instead require a unique set of stream ops
// by default, we symlink the standard streams to the
// default tty devices. however, if the standard streams
// have been overwritten we create a unique device for
// them instead.
if (Module['stdin']) {
FS.createDevice('/dev', 'stdin', Module['stdin']);
} else {
FS.symlink('/dev/tty', '/dev/stdin');
}
if (Module['stdout']) {
FS.createDevice('/dev', 'stdout', null, Module['stdout']);
} else {
FS.symlink('/dev/tty', '/dev/stdout');
}
if (Module['stderr']) {
FS.createDevice('/dev', 'stderr', null, Module['stderr']);
} else {
FS.symlink('/dev/tty1', '/dev/stderr');
}
// open default streams for the stdin, stdout and stderr devices
var stdin = FS.open('/dev/stdin', 'r');
assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')');
var stdout = FS.open('/dev/stdout', 'w');
assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')');
var stderr = FS.open('/dev/stderr', 'w');
assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')');
},ensureErrnoError:function() {
if (FS.ErrnoError) return;
FS.ErrnoError = function ErrnoError(errno, node) {
//err(stackTrace()); // useful for debugging
this.node = node;
this.setErrno = function(errno) {
this.errno = errno;
for (var key in ERRNO_CODES) {
if (ERRNO_CODES[key] === errno) {
this.code = key;
break;
}
}
};
this.setErrno(errno);
this.message = ERRNO_MESSAGES[errno];
// Node.js compatibility: assigning on this.stack fails on Node 4 (but fixed on Node 8)
if (this.stack) Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true });
if (this.stack) this.stack = demangleAll(this.stack);
};
FS.ErrnoError.prototype = new Error();
FS.ErrnoError.prototype.constructor = FS.ErrnoError;
// Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
[ERRNO_CODES.ENOENT].forEach(function(code) {
FS.genericErrors[code] = new FS.ErrnoError(code);
FS.genericErrors[code].stack = '<generic error, no stack>';
});
},staticInit:function() {
FS.ensureErrnoError();
FS.nameTable = new Array(4096);
FS.mount(MEMFS, {}, '/');
FS.createDefaultDirectories();
FS.createDefaultDevices();
FS.createSpecialDirectories();
FS.filesystems = {
'MEMFS': MEMFS,
'IDBFS': IDBFS,
'NODEFS': NODEFS,
'WORKERFS': WORKERFS,
};
},init:function(input, output, error) {
assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
FS.init.initialized = true;
FS.ensureErrnoError();
// Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
Module['stdin'] = input || Module['stdin'];
Module['stdout'] = output || Module['stdout'];
Module['stderr'] = error || Module['stderr'];
FS.createStandardStreams();
},quit:function() {
FS.init.initialized = false;
// force-flush all streams, so we get musl std streams printed out
var fflush = Module['_fflush'];
if (fflush) fflush(0);
// close all of our streams
for (var i = 0; i < FS.streams.length; i++) {
var stream = FS.streams[i];
if (!stream) {
continue;
}
FS.close(stream);
}
},getMode:function(canRead, canWrite) {
var mode = 0;
if (canRead) mode |= 292 | 73;
if (canWrite) mode |= 146;
return mode;
},joinPath:function(parts, forceRelative) {
var path = PATH.join.apply(null, parts);
if (forceRelative && path[0] == '/') path = path.substr(1);
return path;
},absolutePath:function(relative, base) {
return PATH.resolve(base, relative);
},standardizePath:function(path) {
return PATH.normalize(path);
},findObject:function(path, dontResolveLastLink) {
var ret = FS.analyzePath(path, dontResolveLastLink);
if (ret.exists) {
return ret.object;
} else {
___setErrNo(ret.error);
return null;
}
},analyzePath:function(path, dontResolveLastLink) {
// operate from within the context of the symlink's target
try {
var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
path = lookup.path;
} catch (e) {
}
var ret = {
isRoot: false, exists: false, error: 0, name: null, path: null, object: null,
parentExists: false, parentPath: null, parentObject: null
};
try {
var lookup = FS.lookupPath(path, { parent: true });
ret.parentExists = true;
ret.parentPath = lookup.path;
ret.parentObject = lookup.node;
ret.name = PATH.basename(path);
lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
ret.exists = true;
ret.path = lookup.path;
ret.object = lookup.node;
ret.name = lookup.node.name;
ret.isRoot = lookup.path === '/';
} catch (e) {
ret.error = e.errno;
};
return ret;
},createFolder:function(parent, name, canRead, canWrite) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
var mode = FS.getMode(canRead, canWrite);
return FS.mkdir(path, mode);
},createPath:function(parent, path, canRead, canWrite) {
parent = typeof parent === 'string' ? parent : FS.getPath(parent);
var parts = path.split('/').reverse();
while (parts.length) {
var part = parts.pop();
if (!part) continue;
var current = PATH.join2(parent, part);
try {
FS.mkdir(current);
} catch (e) {
// ignore EEXIST
}
parent = current;
}
return current;
},createFile:function(parent, name, properties, canRead, canWrite) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
var mode = FS.getMode(canRead, canWrite);
return FS.create(path, mode);
},createDataFile:function(parent, name, data, canRead, canWrite, canOwn) {
var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent;
var mode = FS.getMode(canRead, canWrite);
var node = FS.create(path, mode);
if (data) {
if (typeof data === 'string') {
var arr = new Array(data.length);
for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
data = arr;
}
// make sure we can write to the file
FS.chmod(node, mode | 146);
var stream = FS.open(node, 'w');
FS.write(stream, data, 0, data.length, 0, canOwn);
FS.close(stream);
FS.chmod(node, mode);
}
return node;
},createDevice:function(parent, name, input, output) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
var mode = FS.getMode(!!input, !!output);
if (!FS.createDevice.major) FS.createDevice.major = 64;
var dev = FS.makedev(FS.createDevice.major++, 0);
// Create a fake device that a set of stream ops to emulate
// the old behavior.
FS.registerDevice(dev, {
open: function(stream) {
stream.seekable = false;
},
close: function(stream) {
// flush any pending line data
if (output && output.buffer && output.buffer.length) {
output(10);
}
},
read: function(stream, buffer, offset, length, pos /* ignored */) {
var bytesRead = 0;
for (var i = 0; i < length; i++) {
var result;
try {
result = input();
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
if (result === undefined && bytesRead === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
}
if (result === null || result === undefined) break;
bytesRead++;
buffer[offset+i] = result;
}
if (bytesRead) {
stream.node.timestamp = Date.now();
}
return bytesRead;
},
write: function(stream, buffer, offset, length, pos) {
for (var i = 0; i < length; i++) {
try {
output(buffer[offset+i]);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
}
if (length) {
stream.node.timestamp = Date.now();
}
return i;
}
});
return FS.mkdev(path, mode, dev);
},createLink:function(parent, name, target, canRead, canWrite) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
return FS.symlink(target, path);
},forceLoadFile:function(obj) {
if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
var success = true;
if (typeof XMLHttpRequest !== 'undefined') {
throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
} else if (Module['read']) {
// Command-line.
try {
// WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
// read() will try to parse UTF8.
obj.contents = intArrayFromString(Module['read'](obj.url), true);
obj.usedBytes = obj.contents.length;
} catch (e) {
success = false;
}
} else {
throw new Error('Cannot load without read() or XMLHttpRequest.');
}
if (!success) ___setErrNo(ERRNO_CODES.EIO);
return success;
},createLazyFile:function(parent, name, url, canRead, canWrite) {
// Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
function LazyUint8Array() {
this.lengthKnown = false;
this.chunks = []; // Loaded chunks. Index is the chunk number
}
LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
if (idx > this.length-1 || idx < 0) {
return undefined;
}
var chunkOffset = idx % this.chunkSize;
var chunkNum = (idx / this.chunkSize)|0;
return this.getter(chunkNum)[chunkOffset];
}
LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
this.getter = getter;
}
LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
// Find length
var xhr = new XMLHttpRequest();
xhr.open('HEAD', url, false);
xhr.send(null);
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
var datalength = Number(xhr.getResponseHeader("Content-length"));
var header;
var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
var chunkSize = 1024*1024; // Chunk size in bytes
if (!hasByteServing) chunkSize = datalength;
// Function to get a range from the remote URL.
var doXHR = (function(from, to) {
if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");
// TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
// Some hints to the browser that we want binary data.
if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer';
if (xhr.overrideMimeType) {
xhr.overrideMimeType('text/plain; charset=x-user-defined');
}
xhr.send(null);
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
if (xhr.response !== undefined) {
return new Uint8Array(xhr.response || []);
} else {
return intArrayFromString(xhr.responseText || '', true);
}
});
var lazyArray = this;
lazyArray.setDataGetter(function(chunkNum) {
var start = chunkNum * chunkSize;
var end = (chunkNum+1) * chunkSize - 1; // including this byte
end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
if (typeof(lazyArray.chunks[chunkNum]) === "undefined") {
lazyArray.chunks[chunkNum] = doXHR(start, end);
}
if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!");
return lazyArray.chunks[chunkNum];
});
if (usesGzip || !datalength) {
// if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length
chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file
datalength = this.getter(0).length;
chunkSize = datalength;
console.log("LazyFiles on gzip forces download of the whole file when length is accessed");
}
this._length = datalength;
this._chunkSize = chunkSize;
this.lengthKnown = true;
}
if (typeof XMLHttpRequest !== 'undefined') {
if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
var lazyArray = new LazyUint8Array();
Object.defineProperties(lazyArray, {
length: {
get: function() {
if(!this.lengthKnown) {
this.cacheLength();
}
return this._length;
}
},
chunkSize: {
get: function() {
if(!this.lengthKnown) {
this.cacheLength();
}
return this._chunkSize;
}
}
});
var properties = { isDevice: false, contents: lazyArray };
} else {
var properties = { isDevice: false, url: url };
}
var node = FS.createFile(parent, name, properties, canRead, canWrite);
// This is a total hack, but I want to get this lazy file code out of the
// core of MEMFS. If we want to keep this lazy file concept I feel it should
// be its own thin LAZYFS proxying calls to MEMFS.
if (properties.contents) {
node.contents = properties.contents;
} else if (properties.url) {
node.contents = null;
node.url = properties.url;
}
// Add a function that defers querying the file size until it is asked the first time.
Object.defineProperties(node, {
usedBytes: {
get: function() { return this.contents.length; }
}
});
// override each stream op with one that tries to force load the lazy file first
var stream_ops = {};
var keys = Object.keys(node.stream_ops);
keys.forEach(function(key) {
var fn = node.stream_ops[key];
stream_ops[key] = function forceLoadLazyFile() {
if (!FS.forceLoadFile(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
return fn.apply(null, arguments);
};
});
// use a custom read function
stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
if (!FS.forceLoadFile(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
var contents = stream.node.contents;
if (position >= contents.length)
return 0;
var size = Math.min(contents.length - position, length);
assert(size >= 0);
if (contents.slice) { // normal array
for (var i = 0; i < size; i++) {
buffer[offset + i] = contents[position + i];
}
} else {
for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR
buffer[offset + i] = contents.get(position + i);
}
}
return size;
};
node.stream_ops = stream_ops;
return node;
},createPreloadedFile:function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
Browser.init(); // XXX perhaps this method should move onto Browser?
// TODO we should allow people to just pass in a complete filename instead
// of parent and name being that we just join them anyways
var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname
function processData(byteArray) {
function finish(byteArray) {
if (preFinish) preFinish();
if (!dontCreateFile) {
FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
}
if (onload) onload();
removeRunDependency(dep);
}
var handled = false;
Module['preloadPlugins'].forEach(function(plugin) {
if (handled) return;
if (plugin['canHandle'](fullname)) {
plugin['handle'](byteArray, fullname, finish, function() {
if (onerror) onerror();
removeRunDependency(dep);
});
handled = true;
}
});
if (!handled) finish(byteArray);
}
addRunDependency(dep);
if (typeof url == 'string') {
Browser.asyncLoad(url, function(byteArray) {
processData(byteArray);
}, onerror);
} else {
processData(url);
}
},indexedDB:function() {
return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
},DB_NAME:function() {
return 'EM_FS_' + window.location.pathname;
},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths, onload, onerror) {
onload = onload || function(){};
onerror = onerror || function(){};
var indexedDB = FS.indexedDB();
try {
var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
} catch (e) {
return onerror(e);
}
openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
console.log('creating db');
var db = openRequest.result;
db.createObjectStore(FS.DB_STORE_NAME);
};
openRequest.onsuccess = function openRequest_onsuccess() {
var db = openRequest.result;
var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite');
var files = transaction.objectStore(FS.DB_STORE_NAME);
var ok = 0, fail = 0, total = paths.length;
function finish() {
if (fail == 0) onload(); else onerror();
}
paths.forEach(function(path) {
var putRequest = files.put(FS.analyzePath(path).object.contents, path);
putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() };
putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() };
});
transaction.onerror = onerror;
};
openRequest.onerror = onerror;
},loadFilesFromDB:function(paths, onload, onerror) {
onload = onload || function(){};
onerror = onerror || function(){};
var indexedDB = FS.indexedDB();
try {
var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
} catch (e) {
return onerror(e);
}
openRequest.onupgradeneeded = onerror; // no database to load from
openRequest.onsuccess = function openRequest_onsuccess() {
var db = openRequest.result;
try {
var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly');
} catch(e) {
onerror(e);
return;
}
var files = transaction.objectStore(FS.DB_STORE_NAME);
var ok = 0, fail = 0, total = paths.length;
function finish() {
if (fail == 0) onload(); else onerror();
}
paths.forEach(function(path) {
var getRequest = files.get(path);
getRequest.onsuccess = function getRequest_onsuccess() {
if (FS.analyzePath(path).exists) {
FS.unlink(path);
}
FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
ok++;
if (ok + fail == total) finish();
};
getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() };
});
transaction.onerror = onerror;
};
openRequest.onerror = onerror;
}};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd, path) {
if (path[0] !== '/') {
// relative path
var dir;
if (dirfd === -100) {
dir = FS.cwd();
} else {
var dirstream = FS.getStream(dirfd);
if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
dir = dirstream.path;
}
path = PATH.join2(dir, path);
}
return path;
},doStat:function(func, path, buf) {
try {
var stat = func(path);
} catch (e) {
if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
// an error occurred while trying to look up the path; we should just report ENOTDIR
return -ERRNO_CODES.ENOTDIR;
}
throw e;
}
HEAP32[((buf)>>2)]=stat.dev;
HEAP32[(((buf)+(4))>>2)]=0;
HEAP32[(((buf)+(8))>>2)]=stat.ino;
HEAP32[(((buf)+(12))>>2)]=stat.mode;
HEAP32[(((buf)+(16))>>2)]=stat.nlink;
HEAP32[(((buf)+(20))>>2)]=stat.uid;
HEAP32[(((buf)+(24))>>2)]=stat.gid;
HEAP32[(((buf)+(28))>>2)]=stat.rdev;
HEAP32[(((buf)+(32))>>2)]=0;
HEAP32[(((buf)+(36))>>2)]=stat.size;
HEAP32[(((buf)+(40))>>2)]=4096;
HEAP32[(((buf)+(44))>>2)]=stat.blocks;
HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0;
HEAP32[(((buf)+(52))>>2)]=0;
HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0;
HEAP32[(((buf)+(60))>>2)]=0;
HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0;
HEAP32[(((buf)+(68))>>2)]=0;
HEAP32[(((buf)+(72))>>2)]=stat.ino;
return 0;
},doMsync:function(addr, stream, len, flags) {
var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));
FS.msync(stream, buffer, 0, len, flags);
},doMkdir:function(path, mode) {
// remove a trailing slash, if one - /a/b/ has basename of '', but
// we want to create b in the context of this function
path = PATH.normalize(path);
if (path[path.length-1] === '/') path = path.substr(0, path.length-1);
FS.mkdir(path, mode, 0);
return 0;
},doMknod:function(path, mode, dev) {
// we don't want this in the JS API as it uses mknod to create all nodes.
switch (mode & 61440) {
case 32768:
case 8192:
case 24576:
case 4096:
case 49152:
break;
default: return -ERRNO_CODES.EINVAL;
}
FS.mknod(path, mode, dev);
return 0;
},doReadlink:function(path, buf, bufsize) {
if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
var ret = FS.readlink(path);
var len = Math.min(bufsize, lengthBytesUTF8(ret));
var endChar = HEAP8[buf+len];
stringToUTF8(ret, buf, bufsize+1);
// readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!)
// stringToUTF8() always appends a null byte, so restore the character under the null byte after the write.
HEAP8[buf+len] = endChar;
return len;
},doAccess:function(path, amode) {
if (amode & ~7) {
// need a valid mode
return -ERRNO_CODES.EINVAL;
}
var node;
var lookup = FS.lookupPath(path, { follow: true });
node = lookup.node;
var perms = '';
if (amode & 4) perms += 'r';
if (amode & 2) perms += 'w';
if (amode & 1) perms += 'x';
if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) {
return -ERRNO_CODES.EACCES;
}
return 0;
},doDup:function(path, flags, suggestFD) {
var suggest = FS.getStream(suggestFD);
if (suggest) FS.close(suggest);
return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
},doReadv:function(stream, iov, iovcnt, offset) {
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)];
var curr = FS.read(stream, HEAP8,ptr, len, offset);
if (curr < 0) return -1;
ret += curr;
if (curr < len) break; // nothing more to read
}
return ret;
},doWritev:function(stream, iov, iovcnt, offset) {
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)];
var curr = FS.write(stream, HEAP8,ptr, len, offset);
if (curr < 0) return -1;
ret += curr;
}
return ret;
},varargs:0,get:function(varargs) {
SYSCALLS.varargs += 4;
var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
return ret;
},getStr:function() {
var ret = Pointer_stringify(SYSCALLS.get());
return ret;
},getStreamFromFD:function() {
var stream = FS.getStream(SYSCALLS.get());
if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
return stream;
},getSocketFromFD:function() {
var socket = SOCKFS.getSocket(SYSCALLS.get());
if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
return socket;
},getSocketAddress:function(allowNull) {
var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get();
if (allowNull && addrp === 0) return null;
var info = __read_sockaddr(addrp, addrlen);
if (info.errno) throw new FS.ErrnoError(info.errno);
info.addr = DNS.lookup_addr(info.addr) || info.addr;
return info;
},get64:function() {
var low = SYSCALLS.get(), high = SYSCALLS.get();
if (low >= 0) assert(high === 0);
else assert(high === -1);
return low;
},getZero:function() {
assert(SYSCALLS.get() === 0);
}};function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs;
try {
// llseek
var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
// NOTE: offset_high is unused - Emscripten's off_t is 32-bit
var offset = offset_low;
FS.llseek(stream, offset, whence);
HEAP32[((result)>>2)]=stream.position;
if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
return 0;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall142(which, varargs) {SYSCALLS.varargs = varargs;
try {
// newselect
// readfds are supported,
// writefds checks socket open status
// exceptfds not supported
// timeout is always 0 - fully async
var nfds = SYSCALLS.get(), readfds = SYSCALLS.get(), writefds = SYSCALLS.get(), exceptfds = SYSCALLS.get(), timeout = SYSCALLS.get();
assert(nfds <= 64, 'nfds must be less than or equal to 64'); // fd sets have 64 bits // TODO: this could be 1024 based on current musl headers
assert(!exceptfds, 'exceptfds not supported');
var total = 0;
var srcReadLow = (readfds ? HEAP32[((readfds)>>2)] : 0),
srcReadHigh = (readfds ? HEAP32[(((readfds)+(4))>>2)] : 0);
var srcWriteLow = (writefds ? HEAP32[((writefds)>>2)] : 0),
srcWriteHigh = (writefds ? HEAP32[(((writefds)+(4))>>2)] : 0);
var srcExceptLow = (exceptfds ? HEAP32[((exceptfds)>>2)] : 0),
srcExceptHigh = (exceptfds ? HEAP32[(((exceptfds)+(4))>>2)] : 0);
var dstReadLow = 0,
dstReadHigh = 0;
var dstWriteLow = 0,
dstWriteHigh = 0;
var dstExceptLow = 0,
dstExceptHigh = 0;
var allLow = (readfds ? HEAP32[((readfds)>>2)] : 0) |
(writefds ? HEAP32[((writefds)>>2)] : 0) |
(exceptfds ? HEAP32[((exceptfds)>>2)] : 0);
var allHigh = (readfds ? HEAP32[(((readfds)+(4))>>2)] : 0) |
(writefds ? HEAP32[(((writefds)+(4))>>2)] : 0) |
(exceptfds ? HEAP32[(((exceptfds)+(4))>>2)] : 0);
function check(fd, low, high, val) {
return (fd < 32 ? (low & val) : (high & val));
}
for (var fd = 0; fd < nfds; fd++) {
var mask = 1 << (fd % 32);
if (!(check(fd, allLow, allHigh, mask))) {
continue; // index isn't in the set
}
var stream = FS.getStream(fd);
if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
var flags = SYSCALLS.DEFAULT_POLLMASK;
if (stream.stream_ops.poll) {
flags = stream.stream_ops.poll(stream);
}
if ((flags & 1) && check(fd, srcReadLow, srcReadHigh, mask)) {
fd < 32 ? (dstReadLow = dstReadLow | mask) : (dstReadHigh = dstReadHigh | mask);
total++;
}
if ((flags & 4) && check(fd, srcWriteLow, srcWriteHigh, mask)) {
fd < 32 ? (dstWriteLow = dstWriteLow | mask) : (dstWriteHigh = dstWriteHigh | mask);
total++;
}
if ((flags & 2) && check(fd, srcExceptLow, srcExceptHigh, mask)) {
fd < 32 ? (dstExceptLow = dstExceptLow | mask) : (dstExceptHigh = dstExceptHigh | mask);
total++;
}
}
if (readfds) {
HEAP32[((readfds)>>2)]=dstReadLow;
HEAP32[(((readfds)+(4))>>2)]=dstReadHigh;
}
if (writefds) {
HEAP32[((writefds)>>2)]=dstWriteLow;
HEAP32[(((writefds)+(4))>>2)]=dstWriteHigh;
}
if (exceptfds) {
HEAP32[((exceptfds)>>2)]=dstExceptLow;
HEAP32[(((exceptfds)+(4))>>2)]=dstExceptHigh;
}
return total;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs;
try {
// readv
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 {
// writev
var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
return SYSCALLS.doWritev(stream, iov, iovcnt);
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall192(which, varargs) {SYSCALLS.varargs = varargs;
try {
// mmap2
var addr = SYSCALLS.get(), len = SYSCALLS.get(), prot = SYSCALLS.get(), flags = SYSCALLS.get(), fd = SYSCALLS.get(), off = SYSCALLS.get()
off <<= 12; // undo pgoffset
var ptr;
var allocated = false;
if (fd === -1) {
ptr = _memalign(PAGE_SIZE, len);
if (!ptr) return -ERRNO_CODES.ENOMEM;
_memset(ptr, 0, len);
allocated = true;
} else {
var info = FS.getStream(fd);
if (!info) return -ERRNO_CODES.EBADF;
var res = FS.mmap(info, HEAPU8, addr, len, off, prot, flags);
ptr = res.ptr;
allocated = res.allocated;
}
SYSCALLS.mappings[ptr] = { malloc: ptr, len: len, allocated: allocated, fd: fd, flags: flags };
return ptr;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall194(which, varargs) {SYSCALLS.varargs = varargs;
try {
// ftruncate64
var fd = SYSCALLS.get(), zero = SYSCALLS.getZero(), length = SYSCALLS.get64();
FS.ftruncate(fd, length);
return 0;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall195(which, varargs) {SYSCALLS.varargs = varargs;
try {
// SYS_stat64
var path = SYSCALLS.getStr(), buf = SYSCALLS.get();
return SYSCALLS.doStat(FS.stat, path, buf);
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall197(which, varargs) {SYSCALLS.varargs = varargs;
try {
// SYS_fstat64
var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get();
return SYSCALLS.doStat(FS.stat, stream.path, buf);
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall202(which, varargs) {SYSCALLS.varargs = varargs;
try {
// getgid32
return 0;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}function ___syscall199(
) {
return ___syscall202.apply(null, arguments)
}
var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which, varargs) {SYSCALLS.varargs = varargs;
try {
// getpid
return PROCINFO.pid;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall201(
) {
return ___syscall202.apply(null, arguments)
}
function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs;
try {
// fcntl64
var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get();
switch (cmd) {
case 0: {
var arg = SYSCALLS.get();
if (arg < 0) {
return -ERRNO_CODES.EINVAL;
}
var newStream;
newStream = FS.open(stream.path, stream.flags, 0, arg);
return newStream.fd;
}
case 1:
case 2:
return 0; // FD_CLOEXEC makes no sense for a single process.
case 3:
return stream.flags;
case 4: {
var arg = SYSCALLS.get();
stream.flags |= arg;
return 0;
}
case 12:
case 12: {
var arg = SYSCALLS.get();
var offset = 0;
// We're always unlocked.
HEAP16[(((arg)+(offset))>>1)]=2;
return 0;
}
case 13:
case 14:
case 13:
case 14:
return 0; // Pretend that the locking is successful.
case 16:
case 8:
return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet.
case 9:
// musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves.
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
default: {
return -ERRNO_CODES.EINVAL;
}
}
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall3(which, varargs) {SYSCALLS.varargs = varargs;
try {
// read
var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get();
return FS.read(stream, HEAP8,buf, count);
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall33(which, varargs) {SYSCALLS.varargs = varargs;
try {
// access
var path = SYSCALLS.getStr(), amode = SYSCALLS.get();
return SYSCALLS.doAccess(path, amode);
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall4(which, varargs) {SYSCALLS.varargs = varargs;
try {
// write
var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get();
return FS.write(stream, HEAP8,buf, count);
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs;
try {
// open
var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO
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 {
// ioctl
var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get();
switch (op) {
case 21509:
case 21505: {
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return 0;
}
case 21510:
case 21511:
case 21512:
case 21506:
case 21507:
case 21508: {
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return 0; // no-op, not actually adjusting terminal settings
}
case 21519: {
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
var argp = SYSCALLS.get();
HEAP32[((argp)>>2)]=0;
return 0;
}
case 21520: {
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return -ERRNO_CODES.EINVAL; // not supported
}
case 21531: {
var argp = SYSCALLS.get();
return FS.ioctl(stream, op, argp);
}
case 21523: {
// TODO: in theory we should write to the winsize struct that gets
// passed in, but for now musl doesn't read anything on it
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return 0;
}
case 21524: {
// TODO: technically, this ioctl call should change the window size.
// but, since emscripten doesn't have any concept of a terminal window
// yet, we'll just silently throw it away as we do TIOCGWINSZ
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return 0;
}
default: abort('bad ioctl syscall ' + op);
}
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs;
try {
// close
var stream = SYSCALLS.getStreamFromFD();
FS.close(stream);
return 0;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall64(which, varargs) {SYSCALLS.varargs = varargs;
try {
// getppid
return PROCINFO.ppid;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall77(which, varargs) {SYSCALLS.varargs = varargs;
try {
// getrusage
var who = SYSCALLS.get(), usage = SYSCALLS.get();
_memset(usage, 0, 136);
HEAP32[((usage)>>2)]=1; // fake some values
HEAP32[(((usage)+(4))>>2)]=2;
HEAP32[(((usage)+(8))>>2)]=3;
HEAP32[(((usage)+(12))>>2)]=4;
return 0;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall91(which, varargs) {SYSCALLS.varargs = varargs;
try {
// munmap
var addr = SYSCALLS.get(), len = SYSCALLS.get();
// TODO: support unmmap'ing parts of allocations
var info = SYSCALLS.mappings[addr];
if (!info) return 0;
if (len === info.len) {
var stream = FS.getStream(info.fd);
SYSCALLS.doMsync(addr, stream, len, info.flags)
FS.munmap(stream);
SYSCALLS.mappings[addr] = null;
if (info.allocated) {
_free(info.malloc);
}
}
return 0;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___unlock() {}
function _abort() {
Module['abort']();
}
function _atexit(func, arg) {
warnOnce('atexit() called, but NO_EXIT_RUNTIME is set, so atexits() will not be called. set NO_EXIT_RUNTIME to 0 (see the FAQ)');
__ATEXIT__.unshift({ func: func, arg: arg });
}
function _clock() {
if (_clock.start === undefined) _clock.start = Date.now();
return ((Date.now() - _clock.start) * (1000000 / 1000))|0;
}
function _getenv(name) {
// char *getenv(const char *name);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html
if (name === 0) return 0;
name = Pointer_stringify(name);
if (!ENV.hasOwnProperty(name)) return 0;
if (_getenv.ret) _free(_getenv.ret);
_getenv.ret = allocateUTF8(ENV[name]);
return _getenv.ret;
}
function _gettimeofday(ptr) {
var now = Date.now();
HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds
HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds
return 0;
}
function _llvm_stackrestore(p) {
var self = _llvm_stacksave;
var ret = self.LLVM_SAVEDSTACKS[p];
self.LLVM_SAVEDSTACKS.splice(p, 1);
stackRestore(ret);
}
function _llvm_stacksave() {
var self = _llvm_stacksave;
if (!self.LLVM_SAVEDSTACKS) {
self.LLVM_SAVEDSTACKS = [];
}
self.LLVM_SAVEDSTACKS.push(stackSave());
return self.LLVM_SAVEDSTACKS.length-1;
}
var ___tm_current=STATICTOP; STATICTOP += 48;;
var ___tm_timezone=allocate(intArrayFromString("GMT"), "i8", ALLOC_STATIC);
function _tzset() {
// TODO: Use (malleable) environment variables instead of system settings.
if (_tzset.called) return;
_tzset.called = true;
// timezone is specified as seconds west of UTC ("The external variable
// `timezone` shall be set to the difference, in seconds, between
// Coordinated Universal Time (UTC) and local standard time."), the same
// as returned by getTimezoneOffset().
// See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html
HEAP32[((__get_timezone())>>2)]=(new Date()).getTimezoneOffset() * 60;
var winter = new Date(2000, 0, 1);
var summer = new Date(2000, 6, 1);
HEAP32[((__get_daylight())>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset());
function extractZone(date) {
var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/);
return match ? match[1] : "GMT";
};
var winterName = extractZone(winter);
var summerName = extractZone(summer);
var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL);
var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL);
if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) {
// Northern hemisphere
HEAP32[((__get_tzname())>>2)]=winterNamePtr;
HEAP32[(((__get_tzname())+(4))>>2)]=summerNamePtr;
} else {
HEAP32[((__get_tzname())>>2)]=summerNamePtr;
HEAP32[(((__get_tzname())+(4))>>2)]=winterNamePtr;
}
}function _localtime_r(time, tmPtr) {
_tzset();
var date = new Date(HEAP32[((time)>>2)]*1000);
HEAP32[((tmPtr)>>2)]=date.getSeconds();
HEAP32[(((tmPtr)+(4))>>2)]=date.getMinutes();
HEAP32[(((tmPtr)+(8))>>2)]=date.getHours();
HEAP32[(((tmPtr)+(12))>>2)]=date.getDate();
HEAP32[(((tmPtr)+(16))>>2)]=date.getMonth();
HEAP32[(((tmPtr)+(20))>>2)]=date.getFullYear()-1900;
HEAP32[(((tmPtr)+(24))>>2)]=date.getDay();
var start = new Date(date.getFullYear(), 0, 1);
var yday = ((date.getTime() - start.getTime()) / (1000 * 60 * 60 * 24))|0;
HEAP32[(((tmPtr)+(28))>>2)]=yday;
HEAP32[(((tmPtr)+(36))>>2)]=-(date.getTimezoneOffset() * 60);
// Attention: DST is in December in South, and some regions don't have DST at all.
var summerOffset = new Date(2000, 6, 1).getTimezoneOffset();
var winterOffset = start.getTimezoneOffset();
var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0;
HEAP32[(((tmPtr)+(32))>>2)]=dst;
var zonePtr = HEAP32[(((__get_tzname())+(dst ? 4 : 0))>>2)];
HEAP32[(((tmPtr)+(40))>>2)]=zonePtr;
return tmPtr;
}function _localtime(time) {
return _localtime_r(time, ___tm_current);
}
function _emscripten_memcpy_big(dest, src, num) {
HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
return dest;
}
function _pthread_mutex_destroy() {}
function _pthread_mutex_init() {}
function __isLeapYear(year) {
return year%4 === 0 && (year%100 !== 0 || year%400 === 0);
}
function __arraySum(array, index) {
var sum = 0;
for (var i = 0; i <= index; sum += array[i++]);
return sum;
}
var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];
var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date, days) {
var newDate = new Date(date.getTime());
while(days > 0) {
var leap = __isLeapYear(newDate.getFullYear());
var currentMonth = newDate.getMonth();
var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
if (days > daysInCurrentMonth-newDate.getDate()) {
// we spill over to next month
days -= (daysInCurrentMonth-newDate.getDate()+1);
newDate.setDate(1);
if (currentMonth < 11) {
newDate.setMonth(currentMonth+1)
} else {
newDate.setMonth(0);
newDate.setFullYear(newDate.getFullYear()+1);
}
} else {
// we stay in current month
newDate.setDate(newDate.getDate()+days);
return newDate;
}
}
return newDate;
}function _strftime(s, maxsize, format, tm) {
// size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html
var tm_zone = HEAP32[(((tm)+(40))>>2)];
var date = {
tm_sec: HEAP32[((tm)>>2)],
tm_min: HEAP32[(((tm)+(4))>>2)],
tm_hour: HEAP32[(((tm)+(8))>>2)],
tm_mday: HEAP32[(((tm)+(12))>>2)],
tm_mon: HEAP32[(((tm)+(16))>>2)],
tm_year: HEAP32[(((tm)+(20))>>2)],
tm_wday: HEAP32[(((tm)+(24))>>2)],
tm_yday: HEAP32[(((tm)+(28))>>2)],
tm_isdst: HEAP32[(((tm)+(32))>>2)],
tm_gmtoff: HEAP32[(((tm)+(36))>>2)],
tm_zone: tm_zone ? Pointer_stringify(tm_zone) : ''
};
var pattern = Pointer_stringify(format);
// expand format
var EXPANSION_RULES_1 = {
'%c': '%a %b %d %H:%M:%S %Y', // Replaced by the locale's appropriate date and time representation - e.g., Mon Aug 3 14:02:01 2013
'%D': '%m/%d/%y', // Equivalent to %m / %d / %y
'%F': '%Y-%m-%d', // Equivalent to %Y - %m - %d
'%h': '%b', // Equivalent to %b
'%r': '%I:%M:%S %p', // Replaced by the time in a.m. and p.m. notation
'%R': '%H:%M', // Replaced by the time in 24-hour notation
'%T': '%H:%M:%S', // Replaced by the time
'%x': '%m/%d/%y', // Replaced by the locale's appropriate date representation
'%X': '%H:%M:%S' // Replaced by the locale's appropriate date representation
};
for (var rule in EXPANSION_RULES_1) {
pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_1[rule]);
}
var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
function leadingSomething(value, digits, character) {
var str = typeof value === 'number' ? value.toString() : (value || '');
while (str.length < digits) {
str = character[0]+str;
}
return str;
};
function leadingNulls(value, digits) {
return leadingSomething(value, digits, '0');
};
function compareByDay(date1, date2) {
function sgn(value) {
return value < 0 ? -1 : (value > 0 ? 1 : 0);
};
var compare;
if ((compare = sgn(date1.getFullYear()-date2.getFullYear())) === 0) {
if ((compare = sgn(date1.getMonth()-date2.getMonth())) === 0) {
compare = sgn(date1.getDate()-date2.getDate());
}
}
return compare;
};
function getFirstWeekStartDate(janFourth) {
switch (janFourth.getDay()) {
case 0: // Sunday
return new Date(janFourth.getFullYear()-1, 11, 29);
case 1: // Monday
return janFourth;
case 2: // Tuesday
return new Date(janFourth.getFullYear(), 0, 3);
case 3: // Wednesday
return new Date(janFourth.getFullYear(), 0, 2);
case 4: // Thursday
return new Date(janFourth.getFullYear(), 0, 1);
case 5: // Friday
return new Date(janFourth.getFullYear()-1, 11, 31);
case 6: // Saturday
return new Date(janFourth.getFullYear()-1, 11, 30);
}
};
function getWeekBasedYear(date) {
var thisDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday);
var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
var janFourthNextYear = new Date(thisDate.getFullYear()+1, 0, 4);
var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
// this date is after the start of the first week of this year
if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
return thisDate.getFullYear()+1;
} else {
return thisDate.getFullYear();
}
} else {
return thisDate.getFullYear()-1;
}
};
var EXPANSION_RULES_2 = {
'%a': function(date) {
return WEEKDAYS[date.tm_wday].substring(0,3);
},
'%A': function(date) {
return WEEKDAYS[date.tm_wday];
},
'%b': function(date) {
return MONTHS[date.tm_mon].substring(0,3);
},
'%B': function(date) {
return MONTHS[date.tm_mon];
},
'%C': function(date) {
var year = date.tm_year+1900;
return leadingNulls((year/100)|0,2);
},
'%d': function(date) {
return leadingNulls(date.tm_mday, 2);
},
'%e': function(date) {
return leadingSomething(date.tm_mday, 2, ' ');
},
'%g': function(date) {
// %g, %G, and %V give values according to the ISO 8601:2000 standard week-based year.
// In this system, weeks begin on a Monday and week 1 of the year is the week that includes
// January 4th, which is also the week that includes the first Thursday of the year, and
// is also the first week that contains at least four days in the year.
// If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of
// the last week of the preceding year; thus, for Saturday 2nd January 1999,
// %G is replaced by 1998 and %V is replaced by 53. If December 29th, 30th,
// or 31st is a Monday, it and any following days are part of week 1 of the following year.
// Thus, for Tuesday 30th December 1997, %G is replaced by 1998 and %V is replaced by 01.
return getWeekBasedYear(date).toString().substring(2);
},
'%G': function(date) {
return getWeekBasedYear(date);
},
'%H': function(date) {
return leadingNulls(date.tm_hour, 2);
},
'%I': function(date) {
var twelveHour = date.tm_hour;
if (twelveHour == 0) twelveHour = 12;
else if (twelveHour > 12) twelveHour -= 12;
return leadingNulls(twelveHour, 2);
},
'%j': function(date) {
// Day of the year (001-366)
return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon-1), 3);
},
'%m': function(date) {
return leadingNulls(date.tm_mon+1, 2);
},
'%M': function(date) {
return leadingNulls(date.tm_min, 2);
},
'%n': function() {
return '\n';
},
'%p': function(date) {
if (date.tm_hour >= 0 && date.tm_hour < 12) {
return 'AM';
} else {
return 'PM';
}
},
'%S': function(date) {
return leadingNulls(date.tm_sec, 2);
},
'%t': function() {
return '\t';
},
'%u': function(date) {
var day = new Date(date.tm_year+1900, date.tm_mon+1, date.tm_mday, 0, 0, 0, 0);
return day.getDay() || 7;
},
'%U': function(date) {
// Replaced by the week number of the year as a decimal number [00,53].
// The first Sunday of January is the first day of week 1;
// days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday]
var janFirst = new Date(date.tm_year+1900, 0, 1);
var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7-janFirst.getDay());
var endDate = new Date(date.tm_year+1900, date.tm_mon, date.tm_mday);
// is target date after the first Sunday?
if (compareByDay(firstSunday, endDate) < 0) {
// calculate difference in days between first Sunday and endDate
var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth()-1)-31;
var firstSundayUntilEndJanuary = 31-firstSunday.getDate();
var days = firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();
return leadingNulls(Math.ceil(days/7), 2);
}
return compareByDay(firstSunday, janFirst) === 0 ? '01': '00';
},
'%V': function(date) {
// Replaced by the week number of the year (Monday as the first day of the week)
// as a decimal number [01,53]. If the week containing 1 January has four
// or more days in the new year, then it is considered week 1.
// Otherwise, it is the last week of the previous year, and the next week is week 1.
// Both January 4th and the first Thursday of January are always in week 1. [ tm_year, tm_wday, tm_yday]
var janFourthThisYear = new Date(date.tm_year+1900, 0, 4);
var janFourthNextYear = new Date(date.tm_year+1901, 0, 4);
var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
var endDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday);
if (compareByDay(endDate, firstWeekStartThisYear) < 0) {
// if given date is before this years first week, then it belongs to the 53rd week of last year
return '53';
}
if (compareByDay(firstWeekStartNextYear, endDate) <= 0) {
// if given date is after next years first week, then it belongs to the 01th week of next year
return '01';
}
// given date is in between CW 01..53 of this calendar year
var daysDifference;
if (firstWeekStartThisYear.getFullYear() < date.tm_year+1900) {
// first CW of this year starts last year
daysDifference = date.tm_yday+32-firstWeekStartThisYear.getDate()
} else {
// first CW of this year starts this year
daysDifference = date.tm_yday+1-firstWeekStartThisYear.getDate();
}
return leadingNulls(Math.ceil(daysDifference/7), 2);
},
'%w': function(date) {
var day = new Date(date.tm_year+1900, date.tm_mon+1, date.tm_mday, 0, 0, 0, 0);
return day.getDay();
},
'%W': function(date) {
// Replaced by the week number of the year as a decimal number [00,53].
// The first Monday of January is the first day of week 1;
// days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday]
var janFirst = new Date(date.tm_year, 0, 1);
var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7-janFirst.getDay()+1);
var endDate = new Date(date.tm_year+1900, date.tm_mon, date.tm_mday);
// is target date after the first Monday?
if (compareByDay(firstMonday, endDate) < 0) {
var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth()-1)-31;
var firstMondayUntilEndJanuary = 31-firstMonday.getDate();
var days = firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();
return leadingNulls(Math.ceil(days/7), 2);
}
return compareByDay(firstMonday, janFirst) === 0 ? '01': '00';
},
'%y': function(date) {
// Replaced by the last two digits of the year as a decimal number [00,99]. [ tm_year]
return (date.tm_year+1900).toString().substring(2);
},
'%Y': function(date) {
// Replaced by the year as a decimal number (for example, 1997). [ tm_year]
return date.tm_year+1900;
},
'%z': function(date) {
// Replaced by the offset from UTC in the ISO 8601:2000 standard format ( +hhmm or -hhmm ).
// For example, "-0430" means 4 hours 30 minutes behind UTC (west of Greenwich).
var off = date.tm_gmtoff;
var ahead = off >= 0;
off = Math.abs(off) / 60;
// convert from minutes into hhmm format (which means 60 minutes = 100 units)
off = (off / 60)*100 + (off % 60);
return (ahead ? '+' : '-') + String("0000" + off).slice(-4);
},
'%Z': function(date) {
return date.tm_zone;
},
'%%': function() {
return '%';
}
};
for (var rule in EXPANSION_RULES_2) {
if (pattern.indexOf(rule) >= 0) {
pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_2[rule](date));
}
}
var bytes = intArrayFromString(pattern, false);
if (bytes.length > maxsize) {
return 0;
}
writeArrayToMemory(bytes, s);
return bytes.length-1;
}
function _sysconf(name) {
// long sysconf(int name);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html
switch(name) {
case 30: return PAGE_SIZE;
case 85:
var maxHeapSize = 2*1024*1024*1024 - 16777216;
maxHeapSize = HEAPU8.length;
return maxHeapSize / PAGE_SIZE;
case 132:
case 133:
case 12:
case 137:
case 138:
case 15:
case 235:
case 16:
case 17:
case 18:
case 19:
case 20:
case 149:
case 13:
case 10:
case 236:
case 153:
case 9:
case 21:
case 22:
case 159:
case 154:
case 14:
case 77:
case 78:
case 139:
case 80:
case 81:
case 82:
case 68:
case 67:
case 164:
case 11:
case 29:
case 47:
case 48:
case 95:
case 52:
case 51:
case 46:
return 200809;
case 79:
return 0;
case 27:
case 246:
case 127:
case 128:
case 23:
case 24:
case 160:
case 161:
case 181:
case 182:
case 242:
case 183:
case 184:
case 243:
case 244:
case 245:
case 165:
case 178:
case 179:
case 49:
case 50:
case 168:
case 169:
case 175:
case 170:
case 171:
case 172:
case 97:
case 76:
case 32:
case 173:
case 35:
return -1;
case 176:
case 177:
case 7:
case 155:
case 8:
case 157:
case 125:
case 126:
case 92:
case 93:
case 129:
case 130:
case 131:
case 94:
case 91:
return 1;
case 74:
case 60:
case 69:
case 70:
case 4:
return 1024;
case 31:
case 42:
case 72:
return 32;
case 87:
case 26:
case 33:
return 2147483647;
case 34:
case 1:
return 47839;
case 38:
case 36:
return 99;
case 43:
case 37:
return 2048;
case 0: return 2097152;
case 3: return 65536;
case 28: return 32768;
case 44: return 32767;
case 75: return 16384;
case 39: return 1000;
case 89: return 700;
case 71: return 256;
case 40: return 255;
case 2: return 100;
case 180: return 64;
case 25: return 20;
case 5: return 16;
case 6: return 6;
case 73: return 4;
case 84: {
if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1;
return 1;
}
}
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
}
function _time(ptr) {
var ret = (Date.now()/1000)|0;
if (ptr) {
HEAP32[((ptr)>>2)]=ret;
}
return ret;
}
FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });;
__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });;
if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); };
DYNAMICTOP_PTR = staticAlloc(4);
STACK_BASE = STACKTOP = alignMemory(STATICTOP);
STACK_MAX = STACK_BASE + TOTAL_STACK;
DYNAMIC_BASE = alignMemory(STACK_MAX);
HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE;
staticSealed = true; // seal the static portion of memory
assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack");
var ASSERTIONS = true;
/** @type {function(string, boolean=, number=)} */
function intArrayFromString(stringy, dontAddNull, length) {
var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
var u8array = new Array(len);
var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
if (dontAddNull) u8array.length = numBytesWritten;
return u8array;
}
function intArrayToString(array) {
var ret = [];
for (var i = 0; i < array.length; i++) {
var chr = array[i];
if (chr > 0xFF) {
if (ASSERTIONS) {
assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.');
}
chr &= 0xFF;
}
ret.push(String.fromCharCode(chr));
}
return ret.join('');
}
// Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149
// This code was written by Tyler Akins and has been placed in the
// public domain. It would be nice if you left this header intact.
// Base64 code from Tyler Akins -- http://rumkin.com
/**
* Decodes a base64 string.
* @param {String} input The string to decode.
*/
var decodeBase64 = typeof atob === 'function' ? atob : function (input) {
var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
var output = '';
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, '');
do {
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;
output = output + String.fromCharCode(chr1);
if (enc3 !== 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 !== 64) {
output = output + String.fromCharCode(chr3);
}
} while (i < input.length);
return output;
};
// Converts a string of base64 into a byte array.
// Throws error on invalid input.
function intArrayFromBase64(s) {
if (typeof ENVIRONMENT_IS_NODE === 'boolean' && ENVIRONMENT_IS_NODE) {
var buf;
try {
buf = Buffer.from(s, 'base64');
} catch (_) {
buf = new Buffer(s, 'base64');
}
return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
}
try {
var decoded = decodeBase64(s);
var bytes = new Uint8Array(decoded.length);
for (var i = 0 ; i < decoded.length ; ++i) {
bytes[i] = decoded.charCodeAt(i);
}
return bytes;
} catch (_) {
throw new Error('Converting base64 string to bytes failed.');
}
}
// If filename is a base64 data URI, parses and returns data (Buffer on node,
// Uint8Array otherwise). If filename is not a base64 data URI, returns undefined.
function tryParseAsDataURI(filename) {
if (!isDataURI(filename)) {
return;
}
return intArrayFromBase64(filename.slice(dataURIPrefix.length));
}
function nullFunc_ii(x) { err("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_iii(x) { err("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_iiii(x) { err("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_iiiii(x) { err("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_v(x) { err("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_vi(x) { err("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_vii(x) { err("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_viii(x) { err("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_viiii(x) { err("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_viiiii(x) { err("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_viiiiii(x) { err("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); err("Build with ASSERTIONS=2 for more info.");abort(x) }
function invoke_ii(index,a1) {
var sp = stackSave();
try {
return Module["dynCall_ii"](index,a1);
} catch(e) {
stackRestore(sp);
if (typeof e !== 'number' && e !== 'longjmp') throw e;
Module["setThrew"](1, 0);
}
}
function invoke_iii(index,a1,a2) {
var sp = stackSave();
try {
return Module["dynCall_iii"](index,a1,a2);
} catch(e) {
stackRestore(sp);
if (typeof e !== 'number' && e !== 'longjmp') throw e;
Module["setThrew"](1, 0);
}
}
function invoke_iiii(index,a1,a2,a3) {
var sp = stackSave();
try {
return Module["dynCall_iiii"](index,a1,a2,a3);
} catch(e) {
stackRestore(sp);
if (typeof e !== 'number' && e !== 'longjmp') throw e;
Module["setThrew"](1, 0);
}
}
function invoke_iiiii(index,a1,a2,a3,a4) {
var sp = stackSave();
try {
return Module["dynCall_iiiii"](index,a1,a2,a3,a4);
} catch(e) {
stackRestore(sp);
if (typeof e !== 'number' && e !== 'longjmp') throw e;
Module["setThrew"](1, 0);
}
}
function invoke_v(index) {
var sp = stackSave();
try {
Module["dynCall_v"](index);
} catch(e) {
stackRestore(sp);
if (typeof e !== 'number' && e !== 'longjmp') throw e;
Module["setThrew"](1, 0);
}
}
function invoke_vi(index,a1) {
var sp = stackSave();
try {
Module["dynCall_vi"](index,a1);
} catch(e) {
stackRestore(sp);
if (typeof e !== 'number' && e !== 'longjmp') throw e;
Module["setThrew"](1, 0);
}
}
function invoke_vii(index,a1,a2) {
var sp = stackSave();
try {
Module["dynCall_vii"](index,a1,a2);
} catch(e) {
stackRestore(sp);
if (typeof e !== 'number' && e !== 'longjmp') throw e;
Module["setThrew"](1, 0);
}
}
function invoke_viii(index,a1,a2,a3) {
var sp = stackSave();
try {
Module["dynCall_viii"](index,a1,a2,a3);
} catch(e) {
stackRestore(sp);
if (typeof e !== 'number' && e !== 'longjmp') throw e;
Module["setThrew"](1, 0);
}
}
function invoke_viiii(index,a1,a2,a3,a4) {
var sp = stackSave();
try {
Module["dynCall_viiii"](index,a1,a2,a3,a4);
} catch(e) {
stackRestore(sp);
if (typeof e !== 'number' && e !== 'longjmp') throw e;
Module["setThrew"](1, 0);
}
}
function invoke_viiiii(index,a1,a2,a3,a4,a5) {
var sp = stackSave();
try {
Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5);
} catch(e) {
stackRestore(sp);
if (typeof e !== 'number' && e !== 'longjmp') throw e;
Module["setThrew"](1, 0);
}
}
function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) {
var sp = stackSave();
try {
Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6);
} catch(e) {
stackRestore(sp);
if (typeof e !== 'number' && e !== 'longjmp') throw e;
Module["setThrew"](1, 0);
}
}
Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity };
Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_ii": nullFunc_ii, "nullFunc_iii": nullFunc_iii, "nullFunc_iiii": nullFunc_iiii, "nullFunc_iiiii": nullFunc_iiiii, "nullFunc_v": nullFunc_v, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_viii": nullFunc_viii, "nullFunc_viiii": nullFunc_viiii, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "invoke_ii": invoke_ii, "invoke_iii": invoke_iii, "invoke_iiii": invoke_iiii, "invoke_iiiii": invoke_iiiii, "invoke_v": invoke_v, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_viii": invoke_viii, "invoke_viiii": invoke_viiii, "invoke_viiiii": invoke_viiiii, "invoke_viiiiii": invoke_viiiiii, "___assert_fail": ___assert_fail, "___buildEnvironment": ___buildEnvironment, "___lock": ___lock, "___setErrNo": ___setErrNo, "___syscall140": ___syscall140, "___syscall142": ___syscall142, "___syscall145": ___syscall145, "___syscall146": ___syscall146, "___syscall192": ___syscall192, "___syscall194": ___syscall194, "___syscall195": ___syscall195, "___syscall197": ___syscall197, "___syscall199": ___syscall199, "___syscall20": ___syscall20, "___syscall201": ___syscall201, "___syscall202": ___syscall202, "___syscall221": ___syscall221, "___syscall3": ___syscall3, "___syscall33": ___syscall33, "___syscall4": ___syscall4, "___syscall5": ___syscall5, "___syscall54": ___syscall54, "___syscall6": ___syscall6, "___syscall64": ___syscall64, "___syscall77": ___syscall77, "___syscall91": ___syscall91, "___unlock": ___unlock, "__addDays": __addDays, "__arraySum": __arraySum, "__isLeapYear": __isLeapYear, "_abort": _abort, "_atexit": _atexit, "_clock": _clock, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_getenv": _getenv, "_gettimeofday": _gettimeofday, "_llvm_stackrestore": _llvm_stackrestore, "_llvm_stacksave": _llvm_stacksave, "_localtime": _localtime, "_localtime_r": _localtime_r, "_pthread_mutex_destroy": _pthread_mutex_destroy, "_pthread_mutex_init": _pthread_mutex_init, "_strftime": _strftime, "_sysconf": _sysconf, "_time": _time, "_tzset": _tzset, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX };
// EMSCRIPTEN_START_ASM
var asm = (/** @suppress {uselessCode} */ function(global, env, buffer) {
'almost asm';
var HEAP8 = new global.Int8Array(buffer);
var HEAP16 = new global.Int16Array(buffer);
var HEAP32 = new global.Int32Array(buffer);
var HEAPU8 = new global.Uint8Array(buffer);
var HEAPU16 = new global.Uint16Array(buffer);
var HEAPU32 = new global.Uint32Array(buffer);
var HEAPF32 = new global.Float32Array(buffer);
var HEAPF64 = new global.Float64Array(buffer);
var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0;
var tempDoublePtr=env.tempDoublePtr|0;
var STACKTOP=env.STACKTOP|0;
var STACK_MAX=env.STACK_MAX|0;
var __THREW__ = 0;
var threwValue = 0;
var setjmpId = 0;
var undef = 0;
var nan = global.NaN, inf = global.Infinity;
var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0;
var tempRet0 = 0;
var Math_floor=global.Math.floor;
var Math_abs=global.Math.abs;
var Math_sqrt=global.Math.sqrt;
var Math_pow=global.Math.pow;
var Math_cos=global.Math.cos;
var Math_sin=global.Math.sin;
var Math_tan=global.Math.tan;
var Math_acos=global.Math.acos;
var Math_asin=global.Math.asin;
var Math_atan=global.Math.atan;
var Math_atan2=global.Math.atan2;
var Math_exp=global.Math.exp;
var Math_log=global.Math.log;
var Math_ceil=global.Math.ceil;
var Math_imul=global.Math.imul;
var Math_min=global.Math.min;
var Math_max=global.Math.max;
var Math_clz32=global.Math.clz32;
var abort=env.abort;
var assert=env.assert;
var enlargeMemory=env.enlargeMemory;
var getTotalMemory=env.getTotalMemory;
var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory;
var abortStackOverflow=env.abortStackOverflow;
var nullFunc_ii=env.nullFunc_ii;
var nullFunc_iii=env.nullFunc_iii;
var nullFunc_iiii=env.nullFunc_iiii;
var nullFunc_iiiii=env.nullFunc_iiiii;
var nullFunc_v=env.nullFunc_v;
var nullFunc_vi=env.nullFunc_vi;
var nullFunc_vii=env.nullFunc_vii;
var nullFunc_viii=env.nullFunc_viii;
var nullFunc_viiii=env.nullFunc_viiii;
var nullFunc_viiiii=env.nullFunc_viiiii;
var nullFunc_viiiiii=env.nullFunc_viiiiii;
var invoke_ii=env.invoke_ii;
var invoke_iii=env.invoke_iii;
var invoke_iiii=env.invoke_iiii;
var invoke_iiiii=env.invoke_iiiii;
var invoke_v=env.invoke_v;
var invoke_vi=env.invoke_vi;
var invoke_vii=env.invoke_vii;
var invoke_viii=env.invoke_viii;
var invoke_viiii=env.invoke_viiii;
var invoke_viiiii=env.invoke_viiiii;
var invoke_viiiiii=env.invoke_viiiiii;
var ___assert_fail=env.___assert_fail;
var ___buildEnvironment=env.___buildEnvironment;
var ___lock=env.___lock;
var ___setErrNo=env.___setErrNo;
var ___syscall140=env.___syscall140;
var ___syscall142=env.___syscall142;
var ___syscall145=env.___syscall145;
var ___syscall146=env.___syscall146;
var ___syscall192=env.___syscall192;
var ___syscall194=env.___syscall194;
var ___syscall195=env.___syscall195;
var ___syscall197=env.___syscall197;
var ___syscall199=env.___syscall199;
var ___syscall20=env.___syscall20;
var ___syscall201=env.___syscall201;
var ___syscall202=env.___syscall202;
var ___syscall221=env.___syscall221;
var ___syscall3=env.___syscall3;
var ___syscall33=env.___syscall33;
var ___syscall4=env.___syscall4;
var ___syscall5=env.___syscall5;
var ___syscall54=env.___syscall54;
var ___syscall6=env.___syscall6;
var ___syscall64=env.___syscall64;
var ___syscall77=env.___syscall77;
var ___syscall91=env.___syscall91;
var ___unlock=env.___unlock;
var __addDays=env.__addDays;
var __arraySum=env.__arraySum;
var __isLeapYear=env.__isLeapYear;
var _abort=env._abort;
var _atexit=env._atexit;
var _clock=env._clock;
var _emscripten_memcpy_big=env._emscripten_memcpy_big;
var _getenv=env._getenv;
var _gettimeofday=env._gettimeofday;
var _llvm_stackrestore=env._llvm_stackrestore;
var _llvm_stacksave=env._llvm_stacksave;
var _localtime=env._localtime;
var _localtime_r=env._localtime_r;
var _pthread_mutex_destroy=env._pthread_mutex_destroy;
var _pthread_mutex_init=env._pthread_mutex_init;
var _strftime=env._strftime;
var _sysconf=env._sysconf;
var _time=env._time;
var _tzset=env._tzset;
var tempFloat = 0.0;
// EMSCRIPTEN_START_FUNCS
function stackAlloc(size) {
size = size|0;
var ret = 0;
ret = STACKTOP;
STACKTOP = (STACKTOP + size)|0;
STACKTOP = (STACKTOP + 15)&-16;
if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0);
return ret|0;
}
function stackSave() {
return STACKTOP|0;
}
function stackRestore(top) {
top = top|0;
STACKTOP = top;
}
function establishStackSpace(stackBase, stackMax) {
stackBase = stackBase|0;
stackMax = stackMax|0;
STACKTOP = stackBase;
STACK_MAX = stackMax;
}
function setThrew(threw, value) {
threw = threw|0;
value = value|0;
if ((__THREW__|0) == 0) {
__THREW__ = threw;
threwValue = value;
}
}
function setTempRet0(value) {
value = value|0;
tempRet0 = value;
}
function getTempRet0() {
return tempRet0|0;
}
function _TALER_WRALL_eddsa_public_key_from_private($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = $0;
$3 = (_GNUNET_xmalloc_(32,41052,38)|0);
$2 = $3;
$4 = $1;
$5 = $2;
_GNUNET_CRYPTO_eddsa_key_get_public($4,$5);
$6 = $2;
STACKTOP = sp;return ($6|0);
}
function _TALER_WRALL_ecdsa_public_key_from_private($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = $0;
$3 = (_GNUNET_xmalloc_(32,41052,56)|0);
$2 = $3;
$4 = $1;
$5 = $2;
_GNUNET_CRYPTO_ecdsa_key_get_public($4,$5);
$6 = $2;
STACKTOP = sp;return ($6|0);
}
function _TALER_WRALL_ecdhe_public_key_from_private($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = $0;
$3 = (_GNUNET_xmalloc_(32,41052,73)|0);
$2 = $3;
$4 = $1;
$5 = $2;
_GNUNET_CRYPTO_ecdhe_key_get_public($4,$5);
$6 = $2;
STACKTOP = sp;return ($6|0);
}
function _TALER_WRALL_purpose_create($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$3 = $0;
$4 = $1;
$5 = $2;
$8 = $5;
$9 = (8 + ($8))|0;
$7 = $9;
$10 = $7;
$11 = (_GNUNET_xmalloc_($10,41052,87)|0);
$6 = $11;
$12 = $6;
$13 = ((($12)) + 8|0);
$14 = $4;
$15 = $5;
_memcpy(($13|0),($14|0),($15|0))|0;
$16 = $3;
$17 = (_htonl($16)|0);
$18 = $6;
$19 = ((($18)) + 4|0);
HEAP8[$19>>0]=$17&255;HEAP8[$19+1>>0]=($17>>8)&255;HEAP8[$19+2>>0]=($17>>16)&255;HEAP8[$19+3>>0]=$17>>24;
$20 = $7;
$21 = (_htonl($20)|0);
$22 = $6;
HEAP8[$22>>0]=$21&255;HEAP8[$22+1>>0]=($21>>8)&255;HEAP8[$22+2>>0]=($21>>16)&255;HEAP8[$22+3>>0]=$21>>24;
$23 = $6;
STACKTOP = sp;return ($23|0);
}
function _TALER_WRALL_get_amount($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$5 = sp + 24|0;
$8 = sp;
$10 = $5;
$11 = $10;
HEAP32[$11>>2] = $0;
$12 = (($10) + 4)|0;
$13 = $12;
HEAP32[$13>>2] = $1;
$6 = $2;
$7 = $3;
$14 = $7;
$15 = (_TALER_amount_get_zero($14,$8)|0);
$16 = (1)!=($15|0);
if ($16) {
$4 = 0;
$32 = $4;
STACKTOP = sp;return ($32|0);
} else {
$17 = $5;
$18 = $17;
$19 = HEAP32[$18>>2]|0;
$20 = (($17) + 4)|0;
$21 = $20;
$22 = HEAP32[$21>>2]|0;
$23 = $8;
$24 = $23;
HEAP32[$24>>2] = $19;
$25 = (($23) + 4)|0;
$26 = $25;
HEAP32[$26>>2] = $22;
$27 = $6;
$28 = ((($8)) + 8|0);
HEAP32[$28>>2] = $27;
$29 = (_GNUNET_xmalloc_(24,41052,117)|0);
$9 = $29;
$30 = $9;
;HEAP32[$30>>2]=HEAP32[$8>>2]|0;HEAP32[$30+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$30+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$30+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$30+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[$30+20>>2]=HEAP32[$8+20>>2]|0;
$31 = $9;
$4 = $31;
$32 = $4;
STACKTOP = sp;return ($32|0);
}
return (0)|0;
}
function _TALER_WR_get_value($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = $0;
$2 = $1;
$3 = $2;
$4 = $3;
$5 = HEAP32[$4>>2]|0;
$6 = (($3) + 4)|0;
$7 = $6;
$8 = HEAP32[$7>>2]|0;
tempRet0 = ($8);
STACKTOP = sp;return ($5|0);
}
function _TALER_WR_get_fraction($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = $0;
$2 = $1;
$3 = ((($2)) + 8|0);
$4 = HEAP32[$3>>2]|0;
STACKTOP = sp;return ($4|0);
}
function _TALER_WR_get_currency($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = $0;
$2 = $1;
$3 = ((($2)) + 12|0);
STACKTOP = sp;return ($3|0);
}
function _GNUNET_xmalloc_($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer8 = sp + 24|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$3 = ($0>>>0)<(41943041);
if (!($3)) {
$4 = HEAP32[9364]|0;
$5 = ($4|0)==(-1);
if ($5) {
$6 = (_GNUNET_get_log_call_status(1,0,41059,41079,72)|0);
HEAP32[9364] = $6;
}
$7 = (_GNUNET_get_log_skip()|0);
$8 = ($7|0)>(0);
if ($8) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$9 = HEAP32[9364]|0;
$10 = ($9|0)==(0);
if ($10) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = $1;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $2;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
$11 = (_malloc($0)|0);
$12 = ($11|0)==(0|0);
if (!($12)) {
_memset(($11|0),0,($0|0))|0;
STACKTOP = sp;return ($11|0);
}
$13 = HEAP32[9365]|0;
$14 = ($13|0)==(-1);
if ($14) {
$15 = (_GNUNET_get_log_call_status(1,41095,41059,41079,79)|0);
HEAP32[9365] = $15;
}
$16 = (_GNUNET_get_log_skip()|0);
$17 = ($16|0)>(0);
if ($17) {
_GNUNET_log_skip(-1,0);
} else {
$18 = HEAP32[9365]|0;
$19 = ($18|0)==(0);
if (!($19)) {
$20 = (___errno_location()|0);
$21 = HEAP32[$20>>2]|0;
$22 = (_strerror($21)|0);
HEAP32[$vararg_buffer2>>2] = 41118;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 41059;
$vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
HEAP32[$vararg_ptr6>>2] = 79;
$vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
HEAP32[$vararg_ptr7>>2] = $22;
_GNUNET_log_from_nocheck(1,41095,42643,$vararg_buffer2);
}
}
$23 = HEAP32[9366]|0;
$24 = ($23|0)==(-1);
if ($24) {
$25 = (_GNUNET_get_log_call_status(1,0,41059,41079,80)|0);
HEAP32[9366] = $25;
}
$26 = (_GNUNET_get_log_skip()|0);
$27 = ($26|0)>(0);
if ($27) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$28 = HEAP32[9366]|0;
$29 = ($28|0)==(0);
if ($29) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer8>>2] = 41059;
$vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
HEAP32[$vararg_ptr11>>2] = 80;
_GNUNET_log_nocheck(1,70521,$vararg_buffer8);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_xfree_($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$3 = ($0|0)==(0|0);
if (!($3)) {
_free($0);
STACKTOP = sp;return;
}
$4 = HEAP32[9367]|0;
$5 = ($4|0)==(-1);
if ($5) {
$6 = (_GNUNET_get_log_call_status(1,0,41059,41125,318)|0);
HEAP32[9367] = $6;
}
$7 = (_GNUNET_get_log_skip()|0);
$8 = ($7|0)>(0);
if ($8) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$9 = HEAP32[9367]|0;
$10 = ($9|0)==(0);
if ($10) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = $1;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $2;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
function _GNUNET_snprintf($0,$1,$2,$varargs) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$varargs = $varargs|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp + 16|0;
$3 = sp;
HEAP32[$3>>2] = $varargs;
$4 = (_vsnprintf($0,$1,$2,$3)|0);
$5 = ($4|0)>(-1);
$6 = ($4>>>0)<($1>>>0);
$or$cond = $5 & $6;
if ($or$cond) {
STACKTOP = sp;return ($4|0);
}
$7 = HEAP32[9368]|0;
$8 = ($7|0)==(-1);
if ($8) {
$9 = (_GNUNET_get_log_call_status(1,0,41059,41139,518)|0);
HEAP32[9368] = $9;
}
$10 = (_GNUNET_get_log_skip()|0);
$11 = ($10|0)>(0);
if ($11) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$12 = HEAP32[9368]|0;
$13 = ($12|0)==(0);
if ($13) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 41059;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 518;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_util_cl_init() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[10138]|0;
HEAP32[18074] = $0;
return;
}
function _GNUNET_util_cl_fini() {
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function _GNUNET_abort_() {
var label = 0, sp = 0;
sp = STACKTOP;
_abort();
// unreachable;
}
function _GNUNET_get_log_call_status($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$0$in = 0, $$02629$us = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ($1|0)==(0|0);
$spec$select = $5 ? 0 : $1;
$6 = (0)>(-1);
$7 = (0)==(0);
$or$cond = $6 & $7;
if ($or$cond) {
$8 = (0)>=($0|0);
$$0$in = $8;
$$0 = $$0$in&1;
return ($$0|0);
}
$9 = (0)>(0);
if ($9) {
$$02629$us = 0;
while(1) {
$10 = (((0 + (($$02629$us*112)|0)|0)) + 108|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11|0)==(0);
if (!($12)) {
$13 = (((0 + (($$02629$us*112)|0)|0)) + 96|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)>($4|0);
if (!($15)) {
$16 = (((0 + (($$02629$us*112)|0)|0)) + 100|0);
$17 = HEAP32[$16>>2]|0;
$18 = ($17|0)<($4|0);
if (!($18)) {
$19 = (0 + (($$02629$us*112)|0)|0);
$20 = (_regexec($19,$spec$select,0,0,0)|0);
$21 = ($20|0)==(0);
if ($21) {
$22 = (((0 + (($$02629$us*112)|0)|0)) + 32|0);
$23 = (_regexec($22,$2,0,0,0)|0);
$24 = ($23|0)==(0);
if ($24) {
$25 = (((0 + (($$02629$us*112)|0)|0)) + 64|0);
(_regexec($25,$3,0,0,0)|0);
}
}
}
}
}
$26 = (($$02629$us) + 1)|0;
$27 = ($26|0)<(0);
if ($27) {
$$02629$us = $26;
} else {
break;
}
}
}
$28 = (0)>(-1);
if ($28) {
$29 = (0)>=($0|0);
$$0$in = $29;
$$0 = $$0$in&1;
return ($$0|0);
} else {
$30 = ($0|0)<(5);
$$0$in = $30;
$$0 = $$0$in&1;
return ($$0|0);
}
return (0)|0;
}
function _GNUNET_log_nocheck($0,$1,$varargs) {
$0 = $0|0;
$1 = $1|0;
$varargs = $varargs|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
HEAP32[$2>>2] = $varargs;
_mylog($0,0,$1,$2);
STACKTOP = sp;return;
}
function _mylog($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$$i = 0, $$0$i = 0, $$015$i = 0, $$016$i = 0, $$alloca_mul = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
var $97 = 0, $98 = 0, $99 = 0, $last_bulk_time$byval_copy = 0, $or$cond = 0, $or$cond$i = 0, $or$cond3 = 0, $spec$select$i = 0, $vacopy_currentptr = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, dest = 0, label = 0, sp = 0;
var src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0);
$last_bulk_time$byval_copy = sp + 184|0;
$vararg_buffer8 = sp + 168|0;
$vararg_buffer5 = sp + 160|0;
$vararg_buffer2 = sp + 152|0;
$vararg_buffer = sp + 144|0;
$4 = sp + 80|0;
$5 = sp + 16|0;
$6 = sp;
$7 = sp + 192|0;
$vacopy_currentptr = HEAP32[$3>>2]|0;
HEAP32[$6>>2] = $vacopy_currentptr;
$8 = (_vsnprintf(0,0,$2,$6)|0);
$9 = (($8) + 1)|0;
$10 = ($9|0)==(0);
if ($10) {
$11 = HEAP32[9369]|0;
$12 = ($11|0)==(-1);
if ($12) {
$13 = (_GNUNET_get_log_call_status(1,0,41155,41178,968)|0);
HEAP32[9369] = $13;
$18 = $13;
} else {
$18 = $11;
}
$14 = HEAP32[18075]|0;
$15 = ($14|0)>(0);
if ($15) {
$16 = (($14) + -1)|0;
HEAP32[18075] = $16;
_GNUNET_abort_();
// unreachable;
}
$17 = ($18|0)==(0);
if ($17) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 41155;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 968;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
dest=$4; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$19 = (_llvm_stacksave()|0);
$$alloca_mul = $9;
$20 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
(_gettimeofday(($7|0),(0|0))|0);
$21 = (_GNUNET_TIME_get_offset()|0);
$22 = tempRet0;
$23 = ($22|0)>(0);
$24 = ($21>>>0)>(0);
$25 = ($22|0)==(0);
$26 = $25 & $24;
$27 = $23 | $26;
$28 = (___divdi3(($21|0),($22|0),1000,0)|0);
$29 = tempRet0;
$30 = HEAP32[$7>>2]|0;
$31 = (($30) + ($28))|0;
HEAP32[$7>>2] = $31;
do {
if ($27) {
$32 = (___uremdi3(($21|0),($22|0),1000,0)|0);
$33 = tempRet0;
$34 = ((($7)) + 4|0);
$35 = HEAP32[$34>>2]|0;
$36 = ($32*1000)|0;
$37 = (($35) + ($36))|0;
HEAP32[$34>>2] = $37;
$38 = ($37|0)>(1000000);
if ($38) {
$39 = (($31) + 1)|0;
$40 = (($37) + -1000000)|0;
HEAP32[$34>>2] = $40;
HEAP32[$7>>2] = $39;
}
} else {
$41 = ((($7)) + 4|0);
$42 = HEAP32[$41>>2]|0;
$43 = ($42|0)<(0);
$44 = $43 << 31 >> 31;
$45 = (___muldi3(($28|0),($29|0),1000,0)|0);
$46 = tempRet0;
$47 = (_i64Subtract(($21|0),($22|0),($45|0),($46|0))|0);
$48 = tempRet0;
$49 = (___muldi3(($47|0),($48|0),-1000,-1)|0);
$50 = tempRet0;
$51 = ($50|0)<($44|0);
$52 = ($49>>>0)<($42>>>0);
$53 = ($50|0)==($44|0);
$54 = $53 & $52;
$55 = $51 | $54;
$56 = ($47*1000)|0;
$57 = (($42) + ($56))|0;
if ($55) {
HEAP32[$41>>2] = $57;
break;
} else {
$58 = (($57) + 1000000)|0;
HEAP32[$41>>2] = $58;
$59 = (($31) + -1)|0;
HEAP32[$7>>2] = $59;
break;
}
}
} while(0);
$60 = (_localtime(($7|0))|0);
$61 = ($60|0)==(0|0);
if ($61) {
dest=$4; src=41184; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
} else {
$62 = (_strftime(($5|0),64,(41200|0),($60|0))|0);
$63 = ($62|0)==(0);
if ($63) {
_abort();
// unreachable;
}
$64 = ((($7)) + 4|0);
$65 = HEAP32[$64>>2]|0;
HEAP32[$vararg_buffer2>>2] = $65;
$66 = (_snprintf($4,64,$5,$vararg_buffer2)|0);
$67 = ($66|0)<(0);
if ($67) {
_abort();
// unreachable;
}
}
(_vsnprintf($20,$9,$2,$3)|0);
$68 = $0 & 64;
$69 = ($68|0)!=(0);
$70 = 72288;
$71 = $70;
$72 = HEAP32[$71>>2]|0;
$73 = (($70) + 4)|0;
$74 = $73;
$75 = HEAP32[$74>>2]|0;
$76 = ($72|0)!=(0);
$77 = ($75|0)!=(0);
$78 = $76 | $77;
$or$cond = $69 & $78;
if ($or$cond) {
$79 = (_strncmp($20,70688,256)|0);
$80 = ($79|0)==(0);
if ($80) {
$81 = HEAP32[18076]|0;
$82 = (($81) + 1)|0;
HEAP32[18076] = $82;
;HEAP32[$last_bulk_time$byval_copy>>2]=HEAP32[72288>>2]|0;HEAP32[$last_bulk_time$byval_copy+4>>2]=HEAP32[72288+4>>2]|0;
$83 = (_GNUNET_TIME_absolute_get_duration($last_bulk_time$byval_copy)|0);
$84 = tempRet0;
$85 = ($84>>>0)>(10);
$86 = ($83>>>0)>(250327040);
$87 = ($84|0)==(10);
$88 = $87 & $86;
$89 = $85 | $88;
$90 = HEAP32[18076]|0;
$91 = ($90>>>0)>(1000);
$or$cond3 = $89 | $91;
if ($or$cond3) {
_flush_bulk($4);
}
_llvm_stackrestore(($19|0));
STACKTOP = sp;return;
}
}
_flush_bulk($4);
(_strncpy(70688,$20,256)|0);
HEAP32[18076] = 0;
HEAP32[18077] = $0;
$92 = (_GNUNET_TIME_absolute_get()|0);
$93 = tempRet0;
$94 = 72288;
$95 = $94;
HEAP32[$95>>2] = $92;
$96 = (($94) + 4)|0;
$97 = $96;
HEAP32[$97>>2] = $93;
(_strncpy(70944,$1,32)|0);
$98 = HEAP32[18074]|0;
$99 = ($98|0)!=(0|0);
$100 = (0|0)==(0|0);
$or$cond$i = $99 & $100;
if ($or$cond$i) {
$101 = ($0|0)==(4);
if ($101) {
HEAP32[$vararg_buffer5>>2] = $20;
(_fprintf($98,41221,$vararg_buffer5)|0);
} else {
$102 = $0 & 1;
$103 = ($102|0)==(0);
if ($103) {
$104 = $0 & 2;
$105 = ($104|0)==(0);
if ($105) {
$106 = $0 & 4;
$107 = ($106|0)==(0);
if ($107) {
$108 = $0 & 8;
$109 = ($108|0)==(0);
if ($109) {
$110 = $0 & 16;
$111 = ($110|0)==(0);
$112 = $0 & -65;
$113 = ($112|0)==(0);
$$$i = $113 ? 41226 : 41231;
$spec$select$i = $111 ? $$$i : 41239;
$114 = $spec$select$i;
} else {
$114 = 41267;
}
} else {
$114 = 41259;
}
} else {
$114 = 41251;
}
} else {
$114 = 41245;
}
HEAP32[$vararg_buffer8>>2] = $4;
$vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
HEAP32[$vararg_ptr11>>2] = $1;
$vararg_ptr12 = ((($vararg_buffer8)) + 8|0);
HEAP32[$vararg_ptr12>>2] = $114;
$vararg_ptr13 = ((($vararg_buffer8)) + 12|0);
HEAP32[$vararg_ptr13>>2] = $20;
(_fprintf($98,41272,$vararg_buffer8)|0);
}
$115 = HEAP32[18074]|0;
(_fflush($115)|0);
$$015$i = 0;
} else {
$$015$i = 0;
}
$116 = ($$015$i|0)==(0|0);
if (!($116)) {
$$016$i = $$015$i;
while(1) {
$117 = ((($$016$i)) + 4|0);
$118 = HEAP32[$117>>2]|0;
$119 = ((($$016$i)) + 8|0);
$120 = HEAP32[$119>>2]|0;
FUNCTION_TABLE_viiiii[$118 & 127]($120,$0,$1,$4,$20);
$$0$i = HEAP32[$$016$i>>2]|0;
$121 = ($$0$i|0)==(0|0);
if ($121) {
break;
} else {
$$016$i = $$0$i;
}
}
}
_llvm_stackrestore(($19|0));
STACKTOP = sp;return;
}
function _flush_bulk($0) {
$0 = $0|0;
var $$$i = 0, $$0$i = 0, $$014 = 0, $$015$i = 0, $$016$i = 0, $$byval_copy = 0, $$byval_copy20 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $last_bulk_time$byval_copy = 0, $last_bulk_time$byval_copy19 = 0, $or$cond = 0, $or$cond$i = 0, $spec$select = 0, $spec$select$i = 0, $vararg_buffer = 0;
var $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0);
$$byval_copy20 = sp + 664|0;
$last_bulk_time$byval_copy19 = sp + 656|0;
$$byval_copy = sp + 648|0;
$last_bulk_time$byval_copy = sp + 640|0;
$vararg_buffer13 = sp + 624|0;
$vararg_buffer10 = sp + 616|0;
$vararg_buffer4 = sp + 600|0;
$vararg_buffer = sp + 584|0;
$1 = sp;
$2 = sp + 576|0;
$3 = 72288;
$4 = $3;
$5 = HEAP32[$4>>2]|0;
$6 = (($3) + 4)|0;
$7 = $6;
$8 = HEAP32[$7>>2]|0;
$9 = ($5|0)==(0);
$10 = ($8|0)==(0);
$11 = $9 & $10;
$12 = HEAP32[18076]|0;
$13 = ($12|0)==(0);
$or$cond = $11 | $13;
if ($or$cond) {
STACKTOP = sp;return;
}
$14 = (_memchr(70688,0,256)|0);
$15 = ($14|0)==(0|0);
$16 = ($14|0)==(70688|0);
$17 = ((($14)) + -1|0);
$spec$select = $16 ? 70688 : $17;
$$014 = $15 ? (70943) : $spec$select;
$18 = HEAP8[$$014>>0]|0;
$19 = ($18<<24>>24)==(10);
if ($19) {
HEAP8[$$014>>0] = 0;
;HEAP32[$last_bulk_time$byval_copy>>2]=HEAP32[72288>>2]|0;HEAP32[$last_bulk_time$byval_copy+4>>2]=HEAP32[72288+4>>2]|0;
$20 = (_GNUNET_TIME_absolute_get_duration($last_bulk_time$byval_copy)|0);
$21 = tempRet0;
$22 = $2;
$23 = $22;
HEAP32[$23>>2] = $20;
$24 = (($22) + 4)|0;
$25 = $24;
HEAP32[$25>>2] = $21;
;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
$26 = (_GNUNET_STRINGS_relative_time_to_string($$byval_copy,1)|0);
$27 = HEAP32[18076]|0;
HEAP32[$vararg_buffer>>2] = 256;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 70688;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $27;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $26;
(_snprintf($1,576,41284,$vararg_buffer)|0);
HEAP8[$$014>>0] = 10;
} else {
;HEAP32[$last_bulk_time$byval_copy19>>2]=HEAP32[72288>>2]|0;HEAP32[$last_bulk_time$byval_copy19+4>>2]=HEAP32[72288+4>>2]|0;
$28 = (_GNUNET_TIME_absolute_get_duration($last_bulk_time$byval_copy19)|0);
$29 = tempRet0;
$30 = $2;
$31 = $30;
HEAP32[$31>>2] = $28;
$32 = (($30) + 4)|0;
$33 = $32;
HEAP32[$33>>2] = $29;
;HEAP32[$$byval_copy20>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$2+4>>2]|0;
$34 = (_GNUNET_STRINGS_relative_time_to_string($$byval_copy20,1)|0);
$35 = HEAP32[18076]|0;
HEAP32[$vararg_buffer4>>2] = 256;
$vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
HEAP32[$vararg_ptr7>>2] = 70688;
$vararg_ptr8 = ((($vararg_buffer4)) + 8|0);
HEAP32[$vararg_ptr8>>2] = $35;
$vararg_ptr9 = ((($vararg_buffer4)) + 12|0);
HEAP32[$vararg_ptr9>>2] = $34;
(_snprintf($1,576,41284,$vararg_buffer4)|0);
}
$36 = HEAP32[18077]|0;
$37 = HEAP32[18074]|0;
$38 = ($37|0)!=(0|0);
$39 = (0|0)==(0|0);
$or$cond$i = $38 & $39;
if ($or$cond$i) {
$40 = ($36|0)==(4);
if ($40) {
HEAP32[$vararg_buffer10>>2] = $1;
(_fprintf($37,41221,$vararg_buffer10)|0);
} else {
$41 = $36 & 1;
$42 = ($41|0)==(0);
if ($42) {
$43 = $36 & 2;
$44 = ($43|0)==(0);
if ($44) {
$45 = $36 & 4;
$46 = ($45|0)==(0);
if ($46) {
$47 = $36 & 8;
$48 = ($47|0)==(0);
if ($48) {
$49 = $36 & 16;
$50 = ($49|0)==(0);
$51 = $36 & -65;
$52 = ($51|0)==(0);
$$$i = $52 ? 41226 : 41231;
$spec$select$i = $50 ? $$$i : 41239;
$53 = $spec$select$i;
} else {
$53 = 41267;
}
} else {
$53 = 41259;
}
} else {
$53 = 41251;
}
} else {
$53 = 41245;
}
HEAP32[$vararg_buffer13>>2] = $0;
$vararg_ptr16 = ((($vararg_buffer13)) + 4|0);
HEAP32[$vararg_ptr16>>2] = 70944;
$vararg_ptr17 = ((($vararg_buffer13)) + 8|0);
HEAP32[$vararg_ptr17>>2] = $53;
$vararg_ptr18 = ((($vararg_buffer13)) + 12|0);
HEAP32[$vararg_ptr18>>2] = $1;
(_fprintf($37,41272,$vararg_buffer13)|0);
}
$54 = HEAP32[18074]|0;
(_fflush($54)|0);
$$015$i = 0;
} else {
$$015$i = 0;
}
$55 = ($$015$i|0)==(0|0);
if (!($55)) {
$$016$i = $$015$i;
while(1) {
$56 = ((($$016$i)) + 4|0);
$57 = HEAP32[$56>>2]|0;
$58 = ((($$016$i)) + 8|0);
$59 = HEAP32[$58>>2]|0;
FUNCTION_TABLE_viiiii[$57 & 127]($59,$36,70944,$0,$1);
$$0$i = HEAP32[$$016$i>>2]|0;
$60 = ($$0$i|0)==(0|0);
if ($60) {
break;
} else {
$$016$i = $$0$i;
}
}
}
$61 = (_GNUNET_TIME_absolute_get()|0);
$62 = tempRet0;
$63 = 72288;
$64 = $63;
HEAP32[$64>>2] = $61;
$65 = (($63) + 4)|0;
$66 = $65;
HEAP32[$66>>2] = $62;
HEAP32[18076] = 0;
STACKTOP = sp;return;
}
function _GNUNET_get_log_skip() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[18075]|0;
return ($0|0);
}
function _GNUNET_log_skip($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = ($0|0)==(0);
$3 = HEAP32[18075]|0;
if (!($2)) {
$13 = (($3) + ($0))|0;
HEAP32[18075] = $13;
STACKTOP = sp;return;
}
$4 = ($3|0)==(0);
HEAP32[18075] = 0;
$5 = ($1|0)==(0);
$or$cond = $5 | $4;
if ($or$cond) {
STACKTOP = sp;return;
}
$6 = HEAP32[9370]|0;
$7 = ($6|0)==(-1);
if ($7) {
$8 = (_GNUNET_get_log_call_status(1,0,41155,41333,922)|0);
HEAP32[9370] = $8;
$$pre = HEAP32[18075]|0;
$9 = ($$pre|0)>(0);
if ($9) {
$10 = (($$pre) + -1)|0;
HEAP32[18075] = $10;
STACKTOP = sp;return;
} else {
$12 = $8;
}
} else {
$12 = $6;
}
$11 = ($12|0)==(0);
if ($11) {
STACKTOP = sp;return;
}
HEAP32[$vararg_buffer>>2] = 41155;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 922;
_GNUNET_log_nocheck(1,43837,$vararg_buffer);
STACKTOP = sp;return;
}
function _GNUNET_log_from_nocheck($0,$1,$2,$varargs) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$varargs = $varargs|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
$vararg_buffer = sp + 144|0;
$3 = sp + 128|0;
$4 = sp;
$5 = ($1|0)==(0|0);
$spec$select = $5 ? 0 : $1;
HEAP32[$3>>2] = $varargs;
$6 = (_getpid()|0);
HEAP32[$vararg_buffer>>2] = $spec$select;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $6;
(_GNUNET_snprintf($4,128,41172,$vararg_buffer)|0);
_mylog($0,$4,$2,$3);
STACKTOP = sp;return;
}
function _GNUNET_CRYPTO_symmetric_encrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$alloca_mul = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$5 = sp + 16|0;
$6 = (_llvm_stacksave()|0);
$$alloca_mul = $1;
$7 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
_setup_cipher_aes($5,$2,$3);
$8 = HEAP32[$5>>2]|0;
$9 = (_gcry_cipher_encrypt($8,$7,$1,$0,$1)|0);
$10 = ($9|0)==(0);
if (!($10)) {
$11 = HEAP32[9371]|0;
$12 = ($11|0)==(-1);
if ($12) {
$13 = (_GNUNET_get_log_call_status(1,0,41349,41368,134)|0);
HEAP32[9371] = $13;
}
$14 = (_GNUNET_get_log_skip()|0);
$15 = ($14|0)>(0);
if ($15) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$16 = HEAP32[9371]|0;
$17 = ($16|0)==(0);
if ($17) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 41349;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 134;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
$18 = HEAP32[$5>>2]|0;
_gcry_cipher_close($18);
_setup_cipher_twofish($5,$2,$3);
$19 = HEAP32[$5>>2]|0;
$20 = (_gcry_cipher_encrypt($19,$4,$1,$7,$1)|0);
$21 = ($20|0)==(0);
if ($21) {
$29 = HEAP32[$5>>2]|0;
_gcry_cipher_close($29);
_memset(($7|0),0,($1|0))|0;
_llvm_stackrestore(($6|0));
STACKTOP = sp;return ($1|0);
}
$22 = HEAP32[9372]|0;
$23 = ($22|0)==(-1);
if ($23) {
$24 = (_GNUNET_get_log_call_status(1,0,41349,41368,138)|0);
HEAP32[9372] = $24;
}
$25 = (_GNUNET_get_log_skip()|0);
$26 = ($25|0)>(0);
if ($26) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$27 = HEAP32[9372]|0;
$28 = ($27|0)==(0);
if ($28) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 41349;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 138;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _setup_cipher_aes($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, $sext$mask = 0, $sext$mask1 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0;
var $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer6 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$3 = (_gcry_cipher_open($0,9,2,0)|0);
$4 = ($3|0)==(0);
if (!($4)) {
$5 = HEAP32[9376]|0;
$6 = ($5|0)==(-1);
if ($6) {
$7 = (_GNUNET_get_log_call_status(1,0,41349,41421,66)|0);
HEAP32[9376] = $7;
}
$8 = (_GNUNET_get_log_skip()|0);
$9 = ($8|0)>(0);
if ($9) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$10 = HEAP32[9376]|0;
$11 = ($10|0)==(0);
if ($11) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 41349;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 66;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
$12 = HEAP32[$0>>2]|0;
$13 = (_gcry_cipher_setkey($12,$1,32)|0);
$14 = ($13|0)==(0);
$sext$mask = $13 & 255;
$15 = ($sext$mask|0)==(43);
$or$cond = $14 | $15;
if (!($or$cond)) {
$16 = HEAP32[9377]|0;
$17 = ($16|0)==(-1);
if ($17) {
$18 = (_GNUNET_get_log_call_status(1,0,41349,41421,70)|0);
HEAP32[9377] = $18;
}
$19 = (_GNUNET_get_log_skip()|0);
$20 = ($19|0)>(0);
if ($20) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$21 = HEAP32[9377]|0;
$22 = ($21|0)==(0);
if ($22) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 41349;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 70;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
}
$23 = HEAP32[$0>>2]|0;
$24 = (_gcry_cipher_setiv($23,$2,16)|0);
$25 = ($24|0)==(0);
$sext$mask1 = $24 & 255;
$26 = ($sext$mask1|0)==(43);
$or$cond9 = $25 | $26;
if ($or$cond9) {
STACKTOP = sp;return;
}
$27 = HEAP32[9378]|0;
$28 = ($27|0)==(-1);
if ($28) {
$29 = (_GNUNET_get_log_call_status(1,0,41349,41421,74)|0);
HEAP32[9378] = $29;
}
$30 = (_GNUNET_get_log_skip()|0);
$31 = ($30|0)>(0);
if ($31) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$32 = HEAP32[9378]|0;
$33 = ($32|0)==(0);
if ($33) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer6>>2] = 41349;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 74;
_GNUNET_log_nocheck(1,70521,$vararg_buffer6);
_GNUNET_abort_();
// unreachable;
}
function _setup_cipher_twofish($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, $sext$mask = 0, $sext$mask1 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0;
var $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer6 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$3 = (_gcry_cipher_open($0,10,2,0)|0);
$4 = ($3|0)==(0);
if (!($4)) {
$5 = HEAP32[9373]|0;
$6 = ($5|0)==(-1);
if ($6) {
$7 = (_GNUNET_get_log_call_status(1,0,41349,41400,96)|0);
HEAP32[9373] = $7;
}
$8 = (_GNUNET_get_log_skip()|0);
$9 = ($8|0)>(0);
if ($9) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$10 = HEAP32[9373]|0;
$11 = ($10|0)==(0);
if ($11) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 41349;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 96;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
$12 = HEAP32[$0>>2]|0;
$13 = ((($1)) + 32|0);
$14 = (_gcry_cipher_setkey($12,$13,32)|0);
$15 = ($14|0)==(0);
$sext$mask = $14 & 255;
$16 = ($sext$mask|0)==(43);
$or$cond = $15 | $16;
if (!($or$cond)) {
$17 = HEAP32[9374]|0;
$18 = ($17|0)==(-1);
if ($18) {
$19 = (_GNUNET_get_log_call_status(1,0,41349,41400,100)|0);
HEAP32[9374] = $19;
}
$20 = (_GNUNET_get_log_skip()|0);
$21 = ($20|0)>(0);
if ($21) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$22 = HEAP32[9374]|0;
$23 = ($22|0)==(0);
if ($23) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 41349;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 100;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
}
$24 = HEAP32[$0>>2]|0;
$25 = ((($2)) + 16|0);
$26 = (_gcry_cipher_setiv($24,$25,16)|0);
$27 = ($26|0)==(0);
$sext$mask1 = $26 & 255;
$28 = ($sext$mask1|0)==(43);
$or$cond9 = $27 | $28;
if ($or$cond9) {
STACKTOP = sp;return;
}
$29 = HEAP32[9375]|0;
$30 = ($29|0)==(-1);
if ($30) {
$31 = (_GNUNET_get_log_call_status(1,0,41349,41400,104)|0);
HEAP32[9375] = $31;
}
$32 = (_GNUNET_get_log_skip()|0);
$33 = ($32|0)>(0);
if ($33) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$34 = HEAP32[9375]|0;
$35 = ($34|0)==(0);
if ($35) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer6>>2] = 41349;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 104;
_GNUNET_log_nocheck(1,70521,$vararg_buffer6);
_GNUNET_abort_();
// unreachable;
}
function _GNUNET_CRYPTO_symmetric_decrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$alloca_mul = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$5 = sp + 16|0;
$6 = (_llvm_stacksave()|0);
$$alloca_mul = $1;
$7 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
_setup_cipher_twofish($5,$2,$3);
$8 = HEAP32[$5>>2]|0;
$9 = (_gcry_cipher_decrypt($8,$7,$1,$0,$1)|0);
$10 = ($9|0)==(0);
if (!($10)) {
$11 = HEAP32[9379]|0;
$12 = ($11|0)==(-1);
if ($12) {
$13 = (_GNUNET_get_log_call_status(1,0,41349,41438,170)|0);
HEAP32[9379] = $13;
}
$14 = (_GNUNET_get_log_skip()|0);
$15 = ($14|0)>(0);
if ($15) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$16 = HEAP32[9379]|0;
$17 = ($16|0)==(0);
if ($17) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 41349;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 170;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
$18 = HEAP32[$5>>2]|0;
_gcry_cipher_close($18);
_setup_cipher_aes($5,$2,$3);
$19 = HEAP32[$5>>2]|0;
$20 = (_gcry_cipher_decrypt($19,$4,$1,$7,$1)|0);
$21 = ($20|0)==(0);
if ($21) {
$29 = HEAP32[$5>>2]|0;
_gcry_cipher_close($29);
_memset(($7|0),0,($1|0))|0;
_llvm_stackrestore(($6|0));
STACKTOP = sp;return ($1|0);
}
$22 = HEAP32[9380]|0;
$23 = ($22|0)==(-1);
if ($23) {
$24 = (_GNUNET_get_log_call_status(1,0,41349,41438,174)|0);
HEAP32[9380] = $24;
}
$25 = (_GNUNET_get_log_skip()|0);
$26 = ($25|0)>(0);
if ($26) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$27 = HEAP32[9380]|0;
$28 = ($27|0)==(0);
if ($28) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 41349;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 174;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_CRYPTO_ecdsa_key_get_public($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer6 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$2 = sp + 24|0;
$3 = (_decode_private_ecdsa_key($0)|0);
$4 = ($3|0)==(0|0);
if ($4) {
$5 = HEAP32[9381]|0;
$6 = ($5|0)==(-1);
if ($6) {
$7 = (_GNUNET_get_log_call_status(1,0,41470,41483,232)|0);
HEAP32[9381] = $7;
}
$8 = (_GNUNET_get_log_skip()|0);
$9 = ($8|0)>(0);
if ($9) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$10 = HEAP32[9381]|0;
$11 = ($10|0)==(0);
if ($11) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 41470;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 232;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
$12 = (_gcry_mpi_ec_new($2,$3,0)|0);
$13 = ($12|0)==(0);
if (!($13)) {
$14 = HEAP32[9382]|0;
$15 = ($14|0)==(-1);
if ($15) {
$16 = (_GNUNET_get_log_call_status(1,0,41470,41483,233)|0);
HEAP32[9382] = $16;
}
$17 = (_GNUNET_get_log_skip()|0);
$18 = ($17|0)>(0);
if ($18) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$19 = HEAP32[9382]|0;
$20 = ($19|0)==(0);
if ($20) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 41470;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 233;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
}
_gcry_sexp_release($3);
$21 = HEAP32[$2>>2]|0;
$22 = (_gcry_mpi_ec_get_mpi(41518,$21,0)|0);
$23 = ($22|0)==(0|0);
if (!($23)) {
_GNUNET_CRYPTO_mpi_print_unsigned($1,32,$22);
_gcry_mpi_release($22);
$31 = HEAP32[$2>>2]|0;
_gcry_ctx_release($31);
STACKTOP = sp;return;
}
$24 = HEAP32[9383]|0;
$25 = ($24|0)==(-1);
if ($25) {
$26 = (_GNUNET_get_log_call_status(1,0,41470,41483,236)|0);
HEAP32[9383] = $26;
}
$27 = (_GNUNET_get_log_skip()|0);
$28 = ($27|0)>(0);
if ($28) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$29 = HEAP32[9383]|0;
$30 = ($29|0)==(0);
if ($30) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer6>>2] = 41470;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 236;
_GNUNET_log_nocheck(1,70521,$vararg_buffer6);
_GNUNET_abort_();
// unreachable;
}
function _decode_private_ecdsa_key($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
var $vararg_buffer2 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer8 = sp + 24|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$1 = sp + 32|0;
HEAP32[$vararg_buffer>>2] = 32;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $0;
$2 = (_gcry_sexp_build($1,0,41526,$vararg_buffer)|0);
$3 = ($2|0)==(0);
if ($3) {
$19 = HEAP32[$1>>2]|0;
STACKTOP = sp;return ($19|0);
}
$4 = HEAP32[9384]|0;
$5 = ($4|0)==(-1);
if ($5) {
$6 = (_GNUNET_get_log_call_status(1,41568,41470,41584,135)|0);
HEAP32[9384] = $6;
}
$7 = (_GNUNET_get_log_skip()|0);
$8 = ($7|0)>(0);
if ($8) {
_GNUNET_log_skip(-1,0);
} else {
$9 = HEAP32[9384]|0;
$10 = ($9|0)==(0);
if (!($10)) {
$11 = (_gcry_strerror($2)|0);
HEAP32[$vararg_buffer2>>2] = 41609;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 41470;
$vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
HEAP32[$vararg_ptr6>>2] = 135;
$vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
HEAP32[$vararg_ptr7>>2] = $11;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer2);
}
}
$12 = HEAP32[9385]|0;
$13 = ($12|0)==(-1);
if ($13) {
$14 = (_GNUNET_get_log_call_status(1,0,41470,41584,136)|0);
HEAP32[9385] = $14;
}
$15 = (_GNUNET_get_log_skip()|0);
$16 = ($15|0)>(0);
if ($16) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$17 = HEAP32[9385]|0;
$18 = ($17|0)==(0);
if ($18) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer8>>2] = 41470;
$vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
HEAP32[$vararg_ptr11>>2] = 136;
_GNUNET_log_nocheck(1,70521,$vararg_buffer8);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_CRYPTO_eddsa_key_get_public($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer6 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$2 = sp + 24|0;
$3 = (_decode_private_eddsa_key($0)|0);
$4 = ($3|0)==(0|0);
if ($4) {
$5 = HEAP32[9386]|0;
$6 = ($5|0)==(-1);
if ($6) {
$7 = (_GNUNET_get_log_call_status(1,0,41470,41625,262)|0);
HEAP32[9386] = $7;
}
$8 = (_GNUNET_get_log_skip()|0);
$9 = ($8|0)>(0);
if ($9) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$10 = HEAP32[9386]|0;
$11 = ($10|0)==(0);
if ($11) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 41470;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 262;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
$12 = (_gcry_mpi_ec_new($2,$3,0)|0);
$13 = ($12|0)==(0);
if (!($13)) {
$14 = HEAP32[9387]|0;
$15 = ($14|0)==(-1);
if ($15) {
$16 = (_GNUNET_get_log_call_status(1,0,41470,41625,263)|0);
HEAP32[9387] = $16;
}
$17 = (_GNUNET_get_log_skip()|0);
$18 = ($17|0)>(0);
if ($18) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$19 = HEAP32[9387]|0;
$20 = ($19|0)==(0);
if ($20) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 41470;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 263;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
}
_gcry_sexp_release($3);
$21 = HEAP32[$2>>2]|0;
$22 = (_gcry_mpi_ec_get_mpi(41518,$21,0)|0);
$23 = ($22|0)==(0|0);
if (!($23)) {
_GNUNET_CRYPTO_mpi_print_unsigned($1,32,$22);
_gcry_mpi_release($22);
$31 = HEAP32[$2>>2]|0;
_gcry_ctx_release($31);
STACKTOP = sp;return;
}
$24 = HEAP32[9388]|0;
$25 = ($24|0)==(-1);
if ($25) {
$26 = (_GNUNET_get_log_call_status(1,0,41470,41625,266)|0);
HEAP32[9388] = $26;
}
$27 = (_GNUNET_get_log_skip()|0);
$28 = ($27|0)>(0);
if ($28) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$29 = HEAP32[9388]|0;
$30 = ($29|0)==(0);
if ($30) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer6>>2] = 41470;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 266;
_GNUNET_log_nocheck(1,70521,$vararg_buffer6);
_GNUNET_abort_();
// unreachable;
}
function _decode_private_eddsa_key($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
var $vararg_buffer2 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer8 = sp + 24|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$1 = sp + 32|0;
HEAP32[$vararg_buffer>>2] = 32;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $0;
$2 = (_gcry_sexp_build($1,0,41660,$vararg_buffer)|0);
$3 = ($2|0)==(0);
if ($3) {
$19 = HEAP32[$1>>2]|0;
STACKTOP = sp;return ($19|0);
}
$4 = HEAP32[9389]|0;
$5 = ($4|0)==(-1);
if ($5) {
$6 = (_GNUNET_get_log_call_status(1,41568,41470,41715,168)|0);
HEAP32[9389] = $6;
}
$7 = (_GNUNET_get_log_skip()|0);
$8 = ($7|0)>(0);
if ($8) {
_GNUNET_log_skip(-1,0);
} else {
$9 = HEAP32[9389]|0;
$10 = ($9|0)==(0);
if (!($10)) {
$11 = (_gcry_strerror($2)|0);
HEAP32[$vararg_buffer2>>2] = 41609;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 41470;
$vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
HEAP32[$vararg_ptr6>>2] = 168;
$vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
HEAP32[$vararg_ptr7>>2] = $11;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer2);
}
}
$12 = HEAP32[9390]|0;
$13 = ($12|0)==(-1);
if ($13) {
$14 = (_GNUNET_get_log_call_status(1,0,41470,41715,169)|0);
HEAP32[9390] = $14;
}
$15 = (_GNUNET_get_log_skip()|0);
$16 = ($15|0)>(0);
if ($16) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$17 = HEAP32[9390]|0;
$18 = ($17|0)==(0);
if ($18) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer8>>2] = 41470;
$vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
HEAP32[$vararg_ptr11>>2] = 169;
_GNUNET_log_nocheck(1,70521,$vararg_buffer8);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_CRYPTO_ecdhe_key_get_public($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer2 = 0, $vararg_buffer20 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr5 = 0;
var $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer20 = sp + 48|0;
$vararg_buffer16 = sp + 40|0;
$vararg_buffer12 = sp + 32|0;
$vararg_buffer8 = sp + 24|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$2 = sp + 60|0;
$3 = sp + 56|0;
HEAP32[$vararg_buffer>>2] = 32;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $0;
$4 = (_gcry_sexp_build($2,0,41526,$vararg_buffer)|0);
$5 = ($4|0)==(0);
if (!($5)) {
$6 = HEAP32[9391]|0;
$7 = ($6|0)==(-1);
if ($7) {
$8 = (_GNUNET_get_log_call_status(1,41568,41470,41740,201)|0);
HEAP32[9391] = $8;
}
$9 = (_GNUNET_get_log_skip()|0);
$10 = ($9|0)>(0);
if ($10) {
_GNUNET_log_skip(-1,0);
} else {
$11 = HEAP32[9391]|0;
$12 = ($11|0)==(0);
if (!($12)) {
$13 = (_gcry_strerror($4)|0);
HEAP32[$vararg_buffer2>>2] = 41609;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 41470;
$vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
HEAP32[$vararg_ptr6>>2] = 201;
$vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
HEAP32[$vararg_ptr7>>2] = $13;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer2);
}
}
$14 = HEAP32[9392]|0;
$15 = ($14|0)==(-1);
if ($15) {
$16 = (_GNUNET_get_log_call_status(1,0,41470,41740,202)|0);
HEAP32[9392] = $16;
}
$17 = (_GNUNET_get_log_skip()|0);
$18 = ($17|0)>(0);
if ($18) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$19 = HEAP32[9392]|0;
$20 = ($19|0)==(0);
if ($20) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer8>>2] = 41470;
$vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
HEAP32[$vararg_ptr11>>2] = 202;
_GNUNET_log_nocheck(1,70521,$vararg_buffer8);
_GNUNET_abort_();
// unreachable;
}
$21 = HEAP32[$2>>2]|0;
$22 = ($21|0)==(0|0);
if ($22) {
$23 = HEAP32[9393]|0;
$24 = ($23|0)==(-1);
if ($24) {
$25 = (_GNUNET_get_log_call_status(1,0,41470,41765,292)|0);
HEAP32[9393] = $25;
}
$26 = (_GNUNET_get_log_skip()|0);
$27 = ($26|0)>(0);
if ($27) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$28 = HEAP32[9393]|0;
$29 = ($28|0)==(0);
if ($29) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer12>>2] = 41470;
$vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
HEAP32[$vararg_ptr15>>2] = 292;
_GNUNET_log_nocheck(1,70521,$vararg_buffer12);
_GNUNET_abort_();
// unreachable;
}
$30 = (_gcry_mpi_ec_new($3,$21,0)|0);
$31 = ($30|0)==(0);
if (!($31)) {
$32 = HEAP32[9394]|0;
$33 = ($32|0)==(-1);
if ($33) {
$34 = (_GNUNET_get_log_call_status(1,0,41470,41765,293)|0);
HEAP32[9394] = $34;
}
$35 = (_GNUNET_get_log_skip()|0);
$36 = ($35|0)>(0);
if ($36) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$37 = HEAP32[9394]|0;
$38 = ($37|0)==(0);
if ($38) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer16>>2] = 41470;
$vararg_ptr19 = ((($vararg_buffer16)) + 4|0);
HEAP32[$vararg_ptr19>>2] = 293;
_GNUNET_log_nocheck(1,70521,$vararg_buffer16);
_GNUNET_abort_();
// unreachable;
}
_gcry_sexp_release($21);
$39 = HEAP32[$3>>2]|0;
$40 = (_gcry_mpi_ec_get_mpi(41518,$39,0)|0);
$41 = ($40|0)==(0|0);
if (!($41)) {
_GNUNET_CRYPTO_mpi_print_unsigned($1,32,$40);
_gcry_mpi_release($40);
$49 = HEAP32[$3>>2]|0;
_gcry_ctx_release($49);
STACKTOP = sp;return;
}
$42 = HEAP32[9395]|0;
$43 = ($42|0)==(-1);
if ($43) {
$44 = (_GNUNET_get_log_call_status(1,0,41470,41765,296)|0);
HEAP32[9395] = $44;
}
$45 = (_GNUNET_get_log_skip()|0);
$46 = ($45|0)>(0);
if ($46) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$47 = HEAP32[9395]|0;
$48 = ($47|0)==(0);
if ($48) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer20>>2] = 41470;
$vararg_ptr23 = ((($vararg_buffer20)) + 4|0);
HEAP32[$vararg_ptr23>>2] = 296;
_GNUNET_log_nocheck(1,70521,$vararg_buffer20);
_GNUNET_abort_();
// unreachable;
}
function _GNUNET_CRYPTO_ecdhe_key_create() {
var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (_GNUNET_xmalloc_(32,41470,545)|0);
$1 = (_GNUNET_CRYPTO_ecdhe_key_create2($0)|0);
$2 = ($1|0)==(1);
if ($2) {
$$0 = $0;
return ($$0|0);
}
_GNUNET_xfree_($0,41470,549);
$$0 = 0;
return ($$0|0);
}
function _GNUNET_CRYPTO_ecdhe_key_create2($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer6 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$vararg_buffer12 = sp + 40|0;
$vararg_buffer6 = sp + 24|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$1 = sp + 64|0;
$2 = sp + 60|0;
$3 = sp + 56|0;
$4 = (_gcry_sexp_build($2,0,41800,$vararg_buffer)|0);
$5 = ($4|0)==(0);
if (!($5)) {
$6 = HEAP32[9396]|0;
$7 = ($6|0)==(-1);
if ($7) {
$8 = (_GNUNET_get_log_call_status(1,41568,41470,41855,582)|0);
HEAP32[9396] = $8;
}
$9 = (_GNUNET_get_log_skip()|0);
$10 = ($9|0)>(0);
if ($10) {
_GNUNET_log_skip(-1,0);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$11 = HEAP32[9396]|0;
$12 = ($11|0)==(0);
if ($12) {
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$13 = (_gcry_strerror($4)|0);
HEAP32[$vararg_buffer1>>2] = 41609;
$vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
HEAP32[$vararg_ptr3>>2] = 41470;
$vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
HEAP32[$vararg_ptr4>>2] = 582;
$vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
HEAP32[$vararg_ptr5>>2] = $13;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer1);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$14 = HEAP32[$2>>2]|0;
$15 = (_gcry_pk_genkey($1,$14)|0);
$16 = ($15|0)==(0);
if (!($16)) {
$17 = HEAP32[9397]|0;
$18 = ($17|0)==(-1);
if ($18) {
$19 = (_GNUNET_get_log_call_status(1,41568,41470,41855,587)|0);
HEAP32[9397] = $19;
}
$20 = (_GNUNET_get_log_skip()|0);
$21 = ($20|0)>(0);
if ($21) {
_GNUNET_log_skip(-1,0);
} else {
$22 = HEAP32[9397]|0;
$23 = ($22|0)==(0);
if (!($23)) {
$24 = (_gcry_strerror($15)|0);
HEAP32[$vararg_buffer6>>2] = 41887;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 41470;
$vararg_ptr10 = ((($vararg_buffer6)) + 8|0);
HEAP32[$vararg_ptr10>>2] = 587;
$vararg_ptr11 = ((($vararg_buffer6)) + 12|0);
HEAP32[$vararg_ptr11>>2] = $24;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer6);
}
}
$25 = HEAP32[$2>>2]|0;
_gcry_sexp_release($25);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$26 = HEAP32[$2>>2]|0;
_gcry_sexp_release($26);
$27 = HEAP32[$1>>2]|0;
$28 = (_key_from_sexp($3,$27,59743,57460)|0);
$29 = ($28|0)==(0);
if ($29) {
$39 = HEAP32[$1>>2]|0;
_gcry_sexp_release($39);
$40 = HEAP32[$3>>2]|0;
_GNUNET_CRYPTO_mpi_print_unsigned($0,32,$40);
_gcry_mpi_release($40);
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$30 = HEAP32[9398]|0;
$31 = ($30|0)==(-1);
if ($31) {
$32 = (_GNUNET_get_log_call_status(1,41568,41470,41855,602)|0);
HEAP32[9398] = $32;
}
$33 = (_GNUNET_get_log_skip()|0);
$34 = ($33|0)>(0);
if ($34) {
_GNUNET_log_skip(-1,0);
} else {
$35 = HEAP32[9398]|0;
$36 = ($35|0)==(0);
if (!($36)) {
$37 = (_gcry_strerror($28)|0);
HEAP32[$vararg_buffer12>>2] = 41902;
$vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
HEAP32[$vararg_ptr15>>2] = 41470;
$vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
HEAP32[$vararg_ptr16>>2] = 602;
$vararg_ptr17 = ((($vararg_buffer12)) + 12|0);
HEAP32[$vararg_ptr17>>2] = $37;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer12);
}
}
$38 = HEAP32[$1>>2]|0;
_gcry_sexp_release($38);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
function _key_from_sexp($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$04550 = 0, $$04655 = 0, $$047 = 0, $$056 = 0, $$151 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond62 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (_gcry_sexp_find_token($1,$2,0)|0);
$5 = ($4|0)==(0|0);
if ($5) {
$$047 = 1;
return ($$047|0);
}
$6 = (_gcry_sexp_cadr($4)|0);
_gcry_sexp_release($4);
$7 = ($6|0)==(0|0);
if ($7) {
$$047 = 2;
return ($$047|0);
}
$8 = HEAP8[$3>>0]|0;
$9 = ($8<<24>>24)==(0);
L7: do {
if (!($9)) {
$$04655 = $3;$$056 = 0;
while(1) {
$10 = (_gcry_sexp_find_token($6,$$04655,1)|0);
$11 = ($10|0)==(0|0);
if ($11) {
label = 6;
break;
}
$16 = (_gcry_sexp_nth_mpi($10,1,5)|0);
$17 = (($0) + ($$056<<2)|0);
HEAP32[$17>>2] = $16;
_gcry_sexp_release($10);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0|0);
if ($19) {
label = 11;
break;
}
$24 = ((($$04655)) + 1|0);
$25 = (($$056) + 1)|0;
$26 = HEAP8[$24>>0]|0;
$27 = ($26<<24>>24)==(0);
if ($27) {
break L7;
} else {
$$04655 = $24;$$056 = $25;
}
}
if ((label|0) == 6) {
$12 = ($$056|0)==(0);
if (!($12)) {
$$04550 = 0;
while(1) {
$13 = (($0) + ($$04550<<2)|0);
$14 = HEAP32[$13>>2]|0;
_gcry_free($14);
HEAP32[$13>>2] = 0;
$15 = (($$04550) + 1)|0;
$exitcond = ($15|0)==($$056|0);
if ($exitcond) {
break;
} else {
$$04550 = $15;
}
}
}
_gcry_sexp_release($6);
$$047 = 3;
return ($$047|0);
}
else if ((label|0) == 11) {
$20 = ($$056|0)==(0);
if (!($20)) {
$$151 = 0;
while(1) {
$21 = (($0) + ($$151<<2)|0);
$22 = HEAP32[$21>>2]|0;
_gcry_free($22);
HEAP32[$21>>2] = 0;
$23 = (($$151) + 1)|0;
$exitcond62 = ($23|0)==($$056|0);
if ($exitcond62) {
break;
} else {
$$151 = $23;
}
}
}
_gcry_sexp_release($6);
$$047 = 4;
return ($$047|0);
}
}
} while(0);
_gcry_sexp_release($6);
$$047 = 0;
return ($$047|0);
}
function _GNUNET_CRYPTO_ecdsa_key_create() {
var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer6 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$vararg_buffer12 = sp + 40|0;
$vararg_buffer6 = sp + 24|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = sp + 64|0;
$1 = sp + 60|0;
$2 = sp + 56|0;
$3 = (_gcry_sexp_build($1,0,41916,$vararg_buffer)|0);
$4 = ($3|0)==(0);
if (!($4)) {
$5 = HEAP32[9399]|0;
$6 = ($5|0)==(-1);
if ($6) {
$7 = (_GNUNET_get_log_call_status(1,41568,41470,41954,636)|0);
HEAP32[9399] = $7;
}
$8 = (_GNUNET_get_log_skip()|0);
$9 = ($8|0)>(0);
if ($9) {
_GNUNET_log_skip(-1,0);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$10 = HEAP32[9399]|0;
$11 = ($10|0)==(0);
if ($11) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$12 = (_gcry_strerror($3)|0);
HEAP32[$vararg_buffer1>>2] = 41609;
$vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
HEAP32[$vararg_ptr3>>2] = 41470;
$vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
HEAP32[$vararg_ptr4>>2] = 636;
$vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
HEAP32[$vararg_ptr5>>2] = $12;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer1);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$13 = HEAP32[$1>>2]|0;
$14 = (_gcry_pk_genkey($0,$13)|0);
$15 = ($14|0)==(0);
if (!($15)) {
$16 = HEAP32[9400]|0;
$17 = ($16|0)==(-1);
if ($17) {
$18 = (_GNUNET_get_log_call_status(1,41568,41470,41954,641)|0);
HEAP32[9400] = $18;
}
$19 = (_GNUNET_get_log_skip()|0);
$20 = ($19|0)>(0);
if ($20) {
_GNUNET_log_skip(-1,0);
} else {
$21 = HEAP32[9400]|0;
$22 = ($21|0)==(0);
if (!($22)) {
$23 = (_gcry_strerror($14)|0);
HEAP32[$vararg_buffer6>>2] = 41887;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 41470;
$vararg_ptr10 = ((($vararg_buffer6)) + 8|0);
HEAP32[$vararg_ptr10>>2] = 641;
$vararg_ptr11 = ((($vararg_buffer6)) + 12|0);
HEAP32[$vararg_ptr11>>2] = $23;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer6);
}
}
$24 = HEAP32[$1>>2]|0;
_gcry_sexp_release($24);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$25 = HEAP32[$1>>2]|0;
_gcry_sexp_release($25);
$26 = HEAP32[$0>>2]|0;
$27 = (_key_from_sexp($2,$26,59743,57460)|0);
$28 = ($27|0)==(0);
if ($28) {
$38 = HEAP32[$0>>2]|0;
_gcry_sexp_release($38);
$39 = (_GNUNET_xmalloc_(32,41470,661)|0);
$40 = HEAP32[$2>>2]|0;
_GNUNET_CRYPTO_mpi_print_unsigned($39,32,$40);
_gcry_mpi_release($40);
$$0 = $39;
STACKTOP = sp;return ($$0|0);
}
$29 = HEAP32[9401]|0;
$30 = ($29|0)==(-1);
if ($30) {
$31 = (_GNUNET_get_log_call_status(1,41568,41470,41954,656)|0);
HEAP32[9401] = $31;
}
$32 = (_GNUNET_get_log_skip()|0);
$33 = ($32|0)>(0);
if ($33) {
_GNUNET_log_skip(-1,0);
} else {
$34 = HEAP32[9401]|0;
$35 = ($34|0)==(0);
if (!($35)) {
$36 = (_gcry_strerror($27)|0);
HEAP32[$vararg_buffer12>>2] = 41902;
$vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
HEAP32[$vararg_ptr15>>2] = 41470;
$vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
HEAP32[$vararg_ptr16>>2] = 656;
$vararg_ptr17 = ((($vararg_buffer12)) + 12|0);
HEAP32[$vararg_ptr17>>2] = $36;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer12);
}
}
$37 = HEAP32[$0>>2]|0;
_gcry_sexp_release($37);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _GNUNET_CRYPTO_eddsa_key_create() {
var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer6 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$vararg_buffer12 = sp + 40|0;
$vararg_buffer6 = sp + 24|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = sp + 64|0;
$1 = sp + 60|0;
$2 = sp + 56|0;
$3 = (_gcry_sexp_build($1,0,41985,$vararg_buffer)|0);
$4 = ($3|0)==(0);
if (!($4)) {
$5 = HEAP32[9402]|0;
$6 = ($5|0)==(-1);
if ($6) {
$7 = (_GNUNET_get_log_call_status(1,41568,41470,42029,693)|0);
HEAP32[9402] = $7;
}
$8 = (_GNUNET_get_log_skip()|0);
$9 = ($8|0)>(0);
if ($9) {
_GNUNET_log_skip(-1,0);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$10 = HEAP32[9402]|0;
$11 = ($10|0)==(0);
if ($11) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$12 = (_gcry_strerror($3)|0);
HEAP32[$vararg_buffer1>>2] = 41609;
$vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
HEAP32[$vararg_ptr3>>2] = 41470;
$vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
HEAP32[$vararg_ptr4>>2] = 693;
$vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
HEAP32[$vararg_ptr5>>2] = $12;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer1);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$13 = HEAP32[$1>>2]|0;
$14 = (_gcry_pk_genkey($0,$13)|0);
$15 = ($14|0)==(0);
if (!($15)) {
$16 = HEAP32[9403]|0;
$17 = ($16|0)==(-1);
if ($17) {
$18 = (_GNUNET_get_log_call_status(1,41568,41470,42029,698)|0);
HEAP32[9403] = $18;
}
$19 = (_GNUNET_get_log_skip()|0);
$20 = ($19|0)>(0);
if ($20) {
_GNUNET_log_skip(-1,0);
} else {
$21 = HEAP32[9403]|0;
$22 = ($21|0)==(0);
if (!($22)) {
$23 = (_gcry_strerror($14)|0);
HEAP32[$vararg_buffer6>>2] = 41887;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 41470;
$vararg_ptr10 = ((($vararg_buffer6)) + 8|0);
HEAP32[$vararg_ptr10>>2] = 698;
$vararg_ptr11 = ((($vararg_buffer6)) + 12|0);
HEAP32[$vararg_ptr11>>2] = $23;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer6);
}
}
$24 = HEAP32[$1>>2]|0;
_gcry_sexp_release($24);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$25 = HEAP32[$1>>2]|0;
_gcry_sexp_release($25);
$26 = HEAP32[$0>>2]|0;
$27 = (_key_from_sexp($2,$26,59743,57460)|0);
$28 = ($27|0)==(0);
if ($28) {
$38 = HEAP32[$0>>2]|0;
_gcry_sexp_release($38);
$39 = (_GNUNET_xmalloc_(32,41470,718)|0);
$40 = HEAP32[$2>>2]|0;
_GNUNET_CRYPTO_mpi_print_unsigned($39,32,$40);
_gcry_mpi_release($40);
$$0 = $39;
STACKTOP = sp;return ($$0|0);
}
$29 = HEAP32[9404]|0;
$30 = ($29|0)==(-1);
if ($30) {
$31 = (_GNUNET_get_log_call_status(1,41568,41470,42029,713)|0);
HEAP32[9404] = $31;
}
$32 = (_GNUNET_get_log_skip()|0);
$33 = ($32|0)>(0);
if ($33) {
_GNUNET_log_skip(-1,0);
} else {
$34 = HEAP32[9404]|0;
$35 = ($34|0)==(0);
if (!($35)) {
$36 = (_gcry_strerror($27)|0);
HEAP32[$vararg_buffer12>>2] = 41902;
$vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
HEAP32[$vararg_ptr15>>2] = 41470;
$vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
HEAP32[$vararg_ptr16>>2] = 713;
$vararg_ptr17 = ((($vararg_buffer12)) + 12|0);
HEAP32[$vararg_ptr17>>2] = $36;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer12);
}
}
$37 = HEAP32[$0>>2]|0;
_gcry_sexp_release($37);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _GNUNET_CRYPTO_eddsa_sign($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer3 = sp + 16|0;
$vararg_buffer = sp;
$3 = sp + 32|0;
$4 = sp + 24|0;
$5 = (_decode_private_eddsa_key($0)|0);
$6 = (_data_to_eddsa_value($1)|0);
$7 = (_gcry_pk_sign($3,$6,$5)|0);
$8 = ($7|0)==(0);
if (!($8)) {
$9 = HEAP32[9405]|0;
$10 = ($9|0)==(-1);
if ($10) {
$11 = (_GNUNET_get_log_call_status(2,41568,41470,42060,916)|0);
HEAP32[9405] = $11;
}
$12 = (_GNUNET_get_log_skip()|0);
$13 = ($12|0)>(0);
if ($13) {
_GNUNET_log_skip(-1,0);
} else {
$14 = HEAP32[9405]|0;
$15 = ($14|0)==(0);
if (!($15)) {
$16 = (_gcry_strerror($7)|0);
HEAP32[$vararg_buffer>>2] = 41470;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 916;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $16;
_GNUNET_log_from_nocheck(2,41568,42085,$vararg_buffer);
}
}
_gcry_sexp_release($6);
_gcry_sexp_release($5);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
_gcry_sexp_release($5);
_gcry_sexp_release($6);
$17 = HEAP32[$3>>2]|0;
$18 = (_key_from_sexp($4,$17,59605,64702)|0);
$19 = ($18|0)==(0);
if ($19) {
$28 = HEAP32[$3>>2]|0;
_gcry_sexp_release($28);
$29 = HEAP32[$4>>2]|0;
_GNUNET_CRYPTO_mpi_print_unsigned($2,32,$29);
$30 = ((($2)) + 32|0);
$31 = ((($4)) + 4|0);
$32 = HEAP32[$31>>2]|0;
_GNUNET_CRYPTO_mpi_print_unsigned($30,32,$32);
_gcry_mpi_release($29);
_gcry_mpi_release($32);
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$20 = HEAP32[9406]|0;
$21 = ($20|0)==(-1);
if ($21) {
$22 = (_GNUNET_get_log_call_status(1,0,41470,42060,928)|0);
HEAP32[9406] = $22;
}
$23 = (_GNUNET_get_log_skip()|0);
$24 = ($23|0)>(0);
if ($24) {
_GNUNET_log_skip(-1,0);
} else {
$25 = HEAP32[9406]|0;
$26 = ($25|0)==(0);
if (!($26)) {
HEAP32[$vararg_buffer3>>2] = 41470;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = 928;
_GNUNET_log_nocheck(1,43837,$vararg_buffer3);
}
}
$27 = HEAP32[$3>>2]|0;
_gcry_sexp_release($27);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
function _data_to_eddsa_value($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0;
var $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$vararg_buffer3 = sp + 16|0;
$vararg_buffer = sp;
$1 = sp + 40|0;
$2 = sp + 32|0;
$3 = HEAPU8[$0>>0]|(HEAPU8[$0+1>>0]<<8)|(HEAPU8[$0+2>>0]<<16)|(HEAPU8[$0+3>>0]<<24);
$4 = (_ntohl($3)|0);
_GNUNET_CRYPTO_hash($0,$4,$1);
HEAP32[$vararg_buffer>>2] = 59685;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 64;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $1;
$5 = (_gcry_sexp_build($2,0,42120,$vararg_buffer)|0);
$6 = ($5|0)==(0);
if ($6) {
$15 = HEAP32[$2>>2]|0;
$$0 = $15;
STACKTOP = sp;return ($$0|0);
}
$7 = HEAP32[9407]|0;
$8 = ($7|0)==(-1);
if ($8) {
$9 = (_GNUNET_get_log_call_status(1,41568,41470,42164,800)|0);
HEAP32[9407] = $9;
}
$10 = (_GNUNET_get_log_skip()|0);
$11 = ($10|0)>(0);
if ($11) {
_GNUNET_log_skip(-1,0);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$12 = HEAP32[9407]|0;
$13 = ($12|0)==(0);
if ($13) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$14 = (_gcry_strerror($5)|0);
HEAP32[$vararg_buffer3>>2] = 41609;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = 41470;
$vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
HEAP32[$vararg_ptr7>>2] = 800;
$vararg_ptr8 = ((($vararg_buffer3)) + 12|0);
HEAP32[$vararg_ptr8>>2] = $14;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer3);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _GNUNET_CRYPTO_eddsa_verify($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer4 = 0;
var $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer14 = sp + 40|0;
$vararg_buffer10 = sp + 32|0;
$vararg_buffer4 = sp + 16|0;
$vararg_buffer = sp;
$4 = sp + 56|0;
$5 = sp + 52|0;
$6 = ((($1)) + 4|0);
$7 = HEAPU8[$6>>0]|(HEAPU8[$6+1>>0]<<8)|(HEAPU8[$6+2>>0]<<16)|(HEAPU8[$6+3>>0]<<24);
$8 = (_ntohl($7)|0);
$9 = ($8|0)==($0|0);
if (!($9)) {
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$10 = ((($2)) + 32|0);
HEAP32[$vararg_buffer>>2] = 32;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $2;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 32;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $10;
$11 = (_gcry_sexp_build($4,0,42223,$vararg_buffer)|0);
$12 = ($11|0)==(0);
if (!($12)) {
$13 = HEAP32[9408]|0;
$14 = ($13|0)==(-1);
if ($14) {
$15 = (_GNUNET_get_log_call_status(1,41568,41470,42252,1036)|0);
HEAP32[9408] = $15;
}
$16 = (_GNUNET_get_log_skip()|0);
$17 = ($16|0)>(0);
if ($17) {
_GNUNET_log_skip(-1,0);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$18 = HEAP32[9408]|0;
$19 = ($18|0)==(0);
if ($19) {
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$20 = (_gcry_strerror($11)|0);
HEAP32[$vararg_buffer4>>2] = 41609;
$vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
HEAP32[$vararg_ptr7>>2] = 41470;
$vararg_ptr8 = ((($vararg_buffer4)) + 8|0);
HEAP32[$vararg_ptr8>>2] = 1036;
$vararg_ptr9 = ((($vararg_buffer4)) + 12|0);
HEAP32[$vararg_ptr9>>2] = $20;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer4);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$21 = (_data_to_eddsa_value($1)|0);
HEAP32[$vararg_buffer10>>2] = 32;
$vararg_ptr13 = ((($vararg_buffer10)) + 4|0);
HEAP32[$vararg_ptr13>>2] = $3;
$22 = (_gcry_sexp_build($5,0,42279,$vararg_buffer10)|0);
$23 = ($22|0)==(0);
if (!($23)) {
_gcry_sexp_release($21);
$24 = HEAP32[$4>>2]|0;
_gcry_sexp_release($24);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$25 = HEAP32[$4>>2]|0;
$26 = HEAP32[$5>>2]|0;
$27 = (_gcry_pk_verify($25,$21,$26)|0);
$28 = HEAP32[$5>>2]|0;
_gcry_sexp_release($28);
_gcry_sexp_release($21);
$29 = HEAP32[$4>>2]|0;
_gcry_sexp_release($29);
$30 = ($27|0)==(0);
if ($30) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$31 = HEAP32[9409]|0;
$32 = ($31|0)==(-1);
if ($32) {
$33 = (_GNUNET_get_log_call_status(8,41568,41470,42252,1056)|0);
HEAP32[9409] = $33;
}
$34 = (_GNUNET_get_log_skip()|0);
$35 = ($34|0)>(0);
if ($35) {
_GNUNET_log_skip(-1,0);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$36 = HEAP32[9409]|0;
$37 = ($36|0)==(0);
if ($37) {
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$38 = (_gcry_strerror($27)|0);
HEAP32[$vararg_buffer14>>2] = 41470;
$vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
HEAP32[$vararg_ptr17>>2] = 1056;
$vararg_ptr18 = ((($vararg_buffer14)) + 8|0);
HEAP32[$vararg_ptr18>>2] = $38;
_GNUNET_log_from_nocheck(8,41568,42331,$vararg_buffer14);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
function _GNUNET_CRYPTO_ecc_ecdh($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0;
var $vararg_buffer16 = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
$vararg_buffer16 = sp + 72|0;
$vararg_buffer12 = sp + 64|0;
$vararg_buffer6 = sp + 48|0;
$vararg_buffer2 = sp + 40|0;
$vararg_buffer = sp + 32|0;
$3 = sp + 92|0;
$4 = sp + 88|0;
$5 = sp + 84|0;
$6 = sp;
$7 = sp + 80|0;
HEAP32[$vararg_buffer>>2] = 32;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $1;
$8 = (_gcry_sexp_build($5,0,42184,$vararg_buffer)|0);
$9 = ($8|0)==(0);
if (!($9)) {
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$10 = HEAP32[$5>>2]|0;
$11 = (_gcry_mpi_ec_new($4,$10,0)|0);
$12 = ($11|0)==(0);
if (!($12)) {
$13 = HEAP32[9410]|0;
$14 = ($13|0)==(-1);
if ($14) {
$15 = (_GNUNET_get_log_call_status(1,0,41470,42381,1094)|0);
HEAP32[9410] = $15;
}
$16 = (_GNUNET_get_log_skip()|0);
$17 = ($16|0)>(0);
if ($17) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$18 = HEAP32[9410]|0;
$19 = ($18|0)==(0);
if ($19) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 41470;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 1094;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
}
$20 = HEAP32[$5>>2]|0;
_gcry_sexp_release($20);
$21 = HEAP32[$4>>2]|0;
$22 = (_gcry_mpi_ec_get_point(64743,$21,0)|0);
_GNUNET_CRYPTO_mpi_scan_unsigned($3,$0,32);
$23 = (_gcry_mpi_point_new(0)|0);
$24 = HEAP32[$3>>2]|0;
$25 = HEAP32[$4>>2]|0;
_gcry_mpi_ec_mul($23,$24,$22,$25);
_gcry_mpi_point_release($22);
$26 = HEAP32[$3>>2]|0;
_gcry_mpi_release($26);
$27 = (_gcry_mpi_new(256)|0);
$28 = HEAP32[$4>>2]|0;
$29 = (_gcry_mpi_ec_get_affine($27,0,$23,$28)|0);
$30 = ($29|0)==(0);
if (!($30)) {
$31 = HEAP32[9411]|0;
$32 = ($31|0)==(-1);
if ($32) {
$33 = (_GNUNET_get_log_call_status(1,41568,41470,42381,1111)|0);
HEAP32[9411] = $33;
}
$34 = (_GNUNET_get_log_skip()|0);
$35 = ($34|0)>(0);
if ($35) {
_GNUNET_log_skip(-1,0);
} else {
$36 = HEAP32[9411]|0;
$37 = ($36|0)==(0);
if (!($37)) {
$38 = (_gcry_strerror(0)|0);
HEAP32[$vararg_buffer6>>2] = 42404;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 41470;
$vararg_ptr10 = ((($vararg_buffer6)) + 8|0);
HEAP32[$vararg_ptr10>>2] = 1111;
$vararg_ptr11 = ((($vararg_buffer6)) + 12|0);
HEAP32[$vararg_ptr11>>2] = $38;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer6);
}
}
_gcry_mpi_point_release($23);
$39 = HEAP32[$4>>2]|0;
_gcry_ctx_release($39);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
_gcry_mpi_point_release($23);
$40 = HEAP32[$4>>2]|0;
_gcry_ctx_release($40);
HEAP32[$7>>2] = 32;
$41 = (_gcry_mpi_get_flag($27,2)|0);
$42 = ($41|0)==(0);
if (!($42)) {
$43 = HEAP32[9412]|0;
$44 = ($43|0)==(-1);
if ($44) {
$45 = (_GNUNET_get_log_call_status(1,0,41470,42381,1120)|0);
HEAP32[9412] = $45;
}
$46 = (_GNUNET_get_log_skip()|0);
$47 = ($46|0)>(0);
if ($47) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$48 = HEAP32[9412]|0;
$49 = ($48|0)==(0);
if ($49) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer12>>2] = 41470;
$vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
HEAP32[$vararg_ptr15>>2] = 1120;
_GNUNET_log_nocheck(1,70521,$vararg_buffer12);
_GNUNET_abort_();
// unreachable;
}
$50 = (_gcry_mpi_print(1,$6,32,$7,$27)|0);
$51 = ($50|0)==(0);
if ($51) {
$59 = HEAP32[$7>>2]|0;
_GNUNET_CRYPTO_hash($6,$59,$2);
_gcry_mpi_release($27);
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$52 = HEAP32[9413]|0;
$53 = ($52|0)==(-1);
if ($53) {
$54 = (_GNUNET_get_log_call_status(1,0,41470,42381,1127)|0);
HEAP32[9413] = $54;
}
$55 = (_GNUNET_get_log_skip()|0);
$56 = ($55|0)>(0);
if ($56) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$57 = HEAP32[9413]|0;
$58 = ($57|0)==(0);
if ($58) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer16>>2] = 41470;
$vararg_ptr19 = ((($vararg_buffer16)) + 4|0);
HEAP32[$vararg_ptr19>>2] = 1127;
_GNUNET_log_nocheck(1,70521,$vararg_buffer16);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _point_to_hash($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0;
var $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$vararg_buffer8 = sp + 56|0;
$vararg_buffer4 = sp + 48|0;
$vararg_buffer = sp + 32|0;
$3 = sp;
$4 = sp + 64|0;
$5 = (_gcry_mpi_new(256)|0);
$6 = (_gcry_mpi_ec_get_affine($5,0,$0,$1)|0);
$7 = ($6|0)==(0);
if (!($7)) {
$8 = HEAP32[9414]|0;
$9 = ($8|0)==(-1);
if ($9) {
$10 = (_GNUNET_get_log_call_status(1,41568,41470,42422,1372)|0);
HEAP32[9414] = $10;
}
$11 = (_GNUNET_get_log_skip()|0);
$12 = ($11|0)>(0);
if ($12) {
_GNUNET_log_skip(-1,0);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$13 = HEAP32[9414]|0;
$14 = ($13|0)==(0);
if ($14) {
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$15 = (_gcry_strerror(0)|0);
HEAP32[$vararg_buffer>>2] = 42404;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 41470;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 1372;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $15;
_GNUNET_log_from_nocheck(1,41568,42643,$vararg_buffer);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
HEAP32[$4>>2] = 32;
$16 = (_gcry_mpi_get_flag($5,2)|0);
$17 = ($16|0)==(0);
if (!($17)) {
$18 = HEAP32[9415]|0;
$19 = ($18|0)==(-1);
if ($19) {
$20 = (_GNUNET_get_log_call_status(1,0,41470,42422,1377)|0);
HEAP32[9415] = $20;
}
$21 = (_GNUNET_get_log_skip()|0);
$22 = ($21|0)>(0);
if ($22) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$23 = HEAP32[9415]|0;
$24 = ($23|0)==(0);
if ($24) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer4>>2] = 41470;
$vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
HEAP32[$vararg_ptr7>>2] = 1377;
_GNUNET_log_nocheck(1,70521,$vararg_buffer4);
_GNUNET_abort_();
// unreachable;
}
$25 = (_gcry_mpi_print(1,$3,32,$4,$5)|0);
$26 = ($25|0)==(0);
if ($26) {
$34 = HEAP32[$4>>2]|0;
_GNUNET_CRYPTO_hash($3,$34,$2);
_gcry_mpi_release($5);
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$27 = HEAP32[9416]|0;
$28 = ($27|0)==(-1);
if ($28) {
$29 = (_GNUNET_get_log_call_status(1,0,41470,42422,1384)|0);
HEAP32[9416] = $29;
}
$30 = (_GNUNET_get_log_skip()|0);
$31 = ($30|0)>(0);
if ($31) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$32 = HEAP32[9416]|0;
$33 = ($32|0)==(0);
if ($33) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer8>>2] = 41470;
$vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
HEAP32[$vararg_ptr11>>2] = 1384;
_GNUNET_log_nocheck(1,70521,$vararg_buffer8);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_CRYPTO_ecdh_eddsa($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$3 = sp + 24|0;
$4 = sp + 20|0;
$5 = sp + 16|0;
HEAP32[$vararg_buffer>>2] = 32;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $1;
$6 = (_gcry_sexp_build($5,0,42184,$vararg_buffer)|0);
$7 = ($6|0)==(0);
if (!($7)) {
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$8 = HEAP32[$5>>2]|0;
$9 = (_gcry_mpi_ec_new($4,$8,0)|0);
$10 = ($9|0)==(0);
if ($10) {
$18 = HEAP32[$5>>2]|0;
_gcry_sexp_release($18);
$19 = HEAP32[$4>>2]|0;
$20 = (_gcry_mpi_ec_get_point(64743,$19,0)|0);
_GNUNET_CRYPTO_mpi_scan_unsigned($3,$0,32);
$21 = (_gcry_mpi_point_new(0)|0);
$22 = HEAP32[$3>>2]|0;
$23 = HEAP32[$4>>2]|0;
_gcry_mpi_ec_mul($21,$22,$20,$23);
_gcry_mpi_point_release($20);
$24 = HEAP32[$3>>2]|0;
_gcry_mpi_release($24);
$25 = HEAP32[$4>>2]|0;
$26 = (_point_to_hash($21,$25,$2)|0);
_gcry_mpi_point_release($21);
$27 = HEAP32[$4>>2]|0;
_gcry_ctx_release($27);
$$0 = $26;
STACKTOP = sp;return ($$0|0);
}
$11 = HEAP32[9417]|0;
$12 = ($11|0)==(-1);
if ($12) {
$13 = (_GNUNET_get_log_call_status(1,0,41470,42436,1533)|0);
HEAP32[9417] = $13;
}
$14 = (_GNUNET_get_log_skip()|0);
$15 = ($14|0)>(0);
if ($15) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$16 = HEAP32[9417]|0;
$17 = ($16|0)==(0);
if ($17) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 41470;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 1533;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_CRYPTO_hash($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var label = 0, sp = 0;
sp = STACKTOP;
_gcry_md_hash_buffer(10,$2,$0,$1);
return;
}
function _GNUNET_CRYPTO_hash_create_random($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$3 = ((($1)) + 60|0);
HEAP32[$3>>2] = $2;
$4 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$5 = ((($1)) + 56|0);
HEAP32[$5>>2] = $4;
$6 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$7 = ((($1)) + 52|0);
HEAP32[$7>>2] = $6;
$8 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$9 = ((($1)) + 48|0);
HEAP32[$9>>2] = $8;
$10 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$11 = ((($1)) + 44|0);
HEAP32[$11>>2] = $10;
$12 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$13 = ((($1)) + 40|0);
HEAP32[$13>>2] = $12;
$14 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$15 = ((($1)) + 36|0);
HEAP32[$15>>2] = $14;
$16 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$17 = ((($1)) + 32|0);
HEAP32[$17>>2] = $16;
$18 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$19 = ((($1)) + 28|0);
HEAP32[$19>>2] = $18;
$20 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$21 = ((($1)) + 24|0);
HEAP32[$21>>2] = $20;
$22 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$23 = ((($1)) + 20|0);
HEAP32[$23>>2] = $22;
$24 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$25 = ((($1)) + 16|0);
HEAP32[$25>>2] = $24;
$26 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$27 = ((($1)) + 12|0);
HEAP32[$27>>2] = $26;
$28 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$29 = ((($1)) + 8|0);
HEAP32[$29>>2] = $28;
$30 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
$31 = ((($1)) + 4|0);
HEAP32[$31>>2] = $30;
$32 = (_GNUNET_CRYPTO_random_u32($0,-1)|0);
HEAP32[$1>>2] = $32;
return;
}
function _GNUNET_CRYPTO_hash_context_start() {
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$0 = (_GNUNET_xmalloc_(4,42461,450)|0);
$1 = (_gcry_md_open($0,10,0)|0);
$2 = ($1|0)==(0);
if ($2) {
STACKTOP = sp;return ($0|0);
}
$3 = HEAP32[9418]|0;
$4 = ($3|0)==(-1);
if ($4) {
$5 = (_GNUNET_get_log_call_status(1,0,42461,42475,454)|0);
HEAP32[9418] = $5;
}
$6 = (_GNUNET_get_log_skip()|0);
$7 = ($6|0)>(0);
if ($7) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$8 = HEAP32[9418]|0;
$9 = ($8|0)==(0);
if ($9) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 42461;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 454;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_CRYPTO_hash_context_read($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
_gcry_md_write($3,$1,$2);
return;
}
function _GNUNET_CRYPTO_hash_context_finish($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = HEAP32[$0>>2]|0;
$3 = (_gcry_md_read($2,0)|0);
$4 = ($3|0)==(0|0);
if (!($4)) {
$12 = ($1|0)==(0|0);
if ($12) {
$13 = HEAP32[$0>>2]|0;
_gcry_md_close($13);
_GNUNET_xfree_($0,42461,513);
STACKTOP = sp;return;
}
dest=$1; src=$3; stop=dest+64|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$13 = HEAP32[$0>>2]|0;
_gcry_md_close($13);
_GNUNET_xfree_($0,42461,513);
STACKTOP = sp;return;
}
$5 = HEAP32[9419]|0;
$6 = ($5|0)==(-1);
if ($6) {
$7 = (_GNUNET_get_log_call_status(1,0,42461,42508,494)|0);
HEAP32[9419] = $7;
}
$8 = (_GNUNET_get_log_skip()|0);
$9 = ($8|0)>(0);
if ($9) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$10 = HEAP32[9419]|0;
$11 = ($10|0)==(0);
if ($11) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 42461;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 494;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
function _GNUNET_CRYPTO_hash_context_abort($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
_gcry_md_close($1);
_GNUNET_xfree_($0,42461,513);
return;
}
function _GNUNET_CRYPTO_hkdf_v($0,$1,$2,$3,$4,$5,$6,$7,$8) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
$8 = $8|0;
var $$0 = 0, $$0113 = 0, $$0115127 = 0, $$0116$lcssa = 0, $$0116124$us = 0, $$0120$lcssa = 0, $$0120131 = 0, $$1$lcssa = 0, $$1117 = 0, $$1119 = 0, $$1125$us = 0, $$alloca_mul = 0, $$alloca_mul63 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0;
var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
var $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0, $arglist_current2 = 0, $arglist_current5 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $expanded = 0, $expanded19 = 0, $expanded21 = 0, $expanded22 = 0, $expanded23 = 0, $expanded25 = 0;
var $expanded26 = 0, $expanded28 = 0, $expanded29 = 0, $expanded30 = 0, $expanded32 = 0, $expanded33 = 0, $expanded35 = 0, $expanded36 = 0, $expanded37 = 0, $expanded39 = 0, $expanded40 = 0, $expanded42 = 0, $expanded43 = 0, $expanded44 = 0, $expanded46 = 0, $expanded47 = 0, $expanded49 = 0, $expanded50 = 0, $expanded51 = 0, $expanded53 = 0;
var $expanded54 = 0, $expanded56 = 0, $expanded57 = 0, $expanded58 = 0, $vacopy_currentptr = 0, $vacopy_currentptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$9 = sp + 20|0;
$10 = sp + 16|0;
$11 = sp;
$12 = (_gcry_md_get_algo_dlen($3)|0);
$13 = (_gcry_md_get_algo_dlen($2)|0);
$14 = (_llvm_stacksave()|0);
$$alloca_mul = $13;
$15 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
$16 = ($12|0)==(0);
if ($16) {
$$0 = -1;
_llvm_stackrestore(($14|0));
STACKTOP = sp;return ($$0|0);
}
$17 = (_gcry_md_open($9,$2,2)|0);
$18 = ($17|0)==(0);
if (!($18)) {
$$0 = -1;
_llvm_stackrestore(($14|0));
STACKTOP = sp;return ($$0|0);
}
$19 = (_gcry_md_open($10,$3,2)|0);
$20 = ($19|0)==(0);
if (!($20)) {
$21 = HEAP32[$9>>2]|0;
_gcry_md_close($21);
$$0 = -1;
_llvm_stackrestore(($14|0));
STACKTOP = sp;return ($$0|0);
}
$vacopy_currentptr = HEAP32[$8>>2]|0;
HEAP32[$11>>2] = $vacopy_currentptr;
$arglist_current = HEAP32[$11>>2]|0;
$22 = $arglist_current;
$23 = ((0) + 4|0);
$expanded19 = $23;
$expanded = (($expanded19) - 1)|0;
$24 = (($22) + ($expanded))|0;
$25 = ((0) + 4|0);
$expanded23 = $25;
$expanded22 = (($expanded23) - 1)|0;
$expanded21 = $expanded22 ^ -1;
$26 = $24 & $expanded21;
$27 = $26;
$28 = HEAP32[$27>>2]|0;
$arglist_next = ((($27)) + 4|0);
HEAP32[$11>>2] = $arglist_next;
$29 = ($28|0)==(0|0);
if ($29) {
$$0120$lcssa = 0;
} else {
$$0120131 = 0;
while(1) {
$arglist_current2 = HEAP32[$11>>2]|0;
$30 = $arglist_current2;
$31 = ((0) + 4|0);
$expanded26 = $31;
$expanded25 = (($expanded26) - 1)|0;
$32 = (($30) + ($expanded25))|0;
$33 = ((0) + 4|0);
$expanded30 = $33;
$expanded29 = (($expanded30) - 1)|0;
$expanded28 = $expanded29 ^ -1;
$34 = $32 & $expanded28;
$35 = $34;
$36 = HEAP32[$35>>2]|0;
$arglist_next3 = ((($35)) + 4|0);
HEAP32[$11>>2] = $arglist_next3;
$37 = (($36) + ($$0120131))|0;
$arglist_current5 = HEAP32[$11>>2]|0;
$38 = $arglist_current5;
$39 = ((0) + 4|0);
$expanded33 = $39;
$expanded32 = (($expanded33) - 1)|0;
$40 = (($38) + ($expanded32))|0;
$41 = ((0) + 4|0);
$expanded37 = $41;
$expanded36 = (($expanded37) - 1)|0;
$expanded35 = $expanded36 ^ -1;
$42 = $40 & $expanded35;
$43 = $42;
$44 = HEAP32[$43>>2]|0;
$arglist_next6 = ((($43)) + 4|0);
HEAP32[$11>>2] = $arglist_next6;
$45 = ($44|0)==(0|0);
if ($45) {
$$0120$lcssa = $37;
break;
} else {
$$0120131 = $37;
}
}
}
_memset(($0|0),0,($1|0))|0;
$46 = HEAP32[$9>>2]|0;
(_gcry_md_setkey($46,$4,$5)|0);
_gcry_md_write($46,$6,$7);
$47 = (_gcry_md_read($46,0)|0);
$48 = ($47|0)==(0|0);
L16: do {
if ($48) {
$$1119 = -1;
} else {
$49 = (_gcry_md_get_algo($46)|0);
$50 = (_gcry_md_get_algo_dlen($49)|0);
$51 = ($50|0)==(0);
if (!($51)) {
$52 = (_gcry_md_get_algo($46)|0);
$53 = (_gcry_md_get_algo_dlen($52)|0);
_memcpy(($15|0),($47|0),($53|0))|0;
}
$54 = (($1>>>0) / ($12>>>0))&-1;
$55 = Math_imul($54, $12)|0;
$56 = (($1) - ($55))|0;
$57 = (($$0120$lcssa) + 1)|0;
$58 = (($57) + ($12))|0;
$59 = (_llvm_stacksave()|0);
$$alloca_mul63 = $58;
$60 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul63)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul63)|0)+15)&-16)|0);;
$61 = (($60) + ($12)|0);
$vacopy_currentptr9 = HEAP32[$8>>2]|0;
HEAP32[$11>>2] = $vacopy_currentptr9;
$arglist_current11 = HEAP32[$11>>2]|0;
$62 = $arglist_current11;
$63 = ((0) + 4|0);
$expanded40 = $63;
$expanded39 = (($expanded40) - 1)|0;
$64 = (($62) + ($expanded39))|0;
$65 = ((0) + 4|0);
$expanded44 = $65;
$expanded43 = (($expanded44) - 1)|0;
$expanded42 = $expanded43 ^ -1;
$66 = $64 & $expanded42;
$67 = $66;
$68 = HEAP32[$67>>2]|0;
$arglist_next12 = ((($67)) + 4|0);
HEAP32[$11>>2] = $arglist_next12;
$69 = ($68|0)==(0|0);
if (!($69)) {
$$0115127 = $61;$78 = $68;
while(1) {
$arglist_current14 = HEAP32[$11>>2]|0;
$70 = $arglist_current14;
$71 = ((0) + 4|0);
$expanded47 = $71;
$expanded46 = (($expanded47) - 1)|0;
$72 = (($70) + ($expanded46))|0;
$73 = ((0) + 4|0);
$expanded51 = $73;
$expanded50 = (($expanded51) - 1)|0;
$expanded49 = $expanded50 ^ -1;
$74 = $72 & $expanded49;
$75 = $74;
$76 = HEAP32[$75>>2]|0;
$arglist_next15 = ((($75)) + 4|0);
HEAP32[$11>>2] = $arglist_next15;
$77 = ($76|0)==(0);
if (!($77)) {
_memcpy(($$0115127|0),($78|0),($76|0))|0;
}
$79 = (($$0115127) + ($76)|0);
$arglist_current17 = HEAP32[$11>>2]|0;
$80 = $arglist_current17;
$81 = ((0) + 4|0);
$expanded54 = $81;
$expanded53 = (($expanded54) - 1)|0;
$82 = (($80) + ($expanded53))|0;
$83 = ((0) + 4|0);
$expanded58 = $83;
$expanded57 = (($expanded58) - 1)|0;
$expanded56 = $expanded57 ^ -1;
$84 = $82 & $expanded56;
$85 = $84;
$86 = HEAP32[$85>>2]|0;
$arglist_next18 = ((($85)) + 4|0);
HEAP32[$11>>2] = $arglist_next18;
$87 = ($86|0)==(0|0);
if ($87) {
break;
} else {
$$0115127 = $79;$78 = $86;
}
}
}
$88 = ($12>>>0)<=($1>>>0);
if ($88) {
$89 = (($61) + ($$0120$lcssa)|0);
HEAP8[$89>>0] = 1;
$90 = HEAP32[$10>>2]|0;
(_gcry_md_setkey($90,$15,$13)|0);
_gcry_md_write($90,$61,$57);
$91 = (_gcry_md_read($90,0)|0);
$92 = ($91|0)==(0|0);
if (!($92)) {
_memcpy(($0|0),($91|0),($12|0))|0;
$93 = (($0) + ($12)|0);
$$0113 = $93;
label = 19;
}
} else {
$$0113 = $0;
label = 19;
}
L32: do {
if ((label|0) == 19) {
$94 = ($54>>>0)>(1);
if ($94) {
$95 = (0 - ($12))|0;
$96 = (($61) + ($$0120$lcssa)|0);
$$0116124$us = 1;$$1125$us = $$0113;
while(1) {
$97 = (($$1125$us) + ($95)|0);
_memcpy(($60|0),($97|0),($12|0))|0;
$98 = (($$0116124$us) + 1)|0;
$99 = $98&255;
_memset(($96|0),($99|0),1)|0;
$100 = HEAP32[$10>>2]|0;
_gcry_md_reset($100);
$101 = HEAP32[$10>>2]|0;
(_gcry_md_setkey($101,$15,$13)|0);
_gcry_md_write($101,$60,$58);
$102 = (_gcry_md_read($101,0)|0);
$103 = ($102|0)==(0|0);
if ($103) {
break L32;
}
_memcpy(($$1125$us|0),($102|0),($12|0))|0;
$104 = (($$1125$us) + ($12)|0);
$105 = ($98>>>0)<($54>>>0);
if ($105) {
$$0116124$us = $98;$$1125$us = $104;
} else {
$$0116$lcssa = $98;$$1$lcssa = $104;
break;
}
}
} else {
$$0116$lcssa = 1;$$1$lcssa = $$0113;
}
$106 = ($56|0)==(0);
if (!($106)) {
if ($88) {
$107 = (0 - ($12))|0;
$108 = (($$1$lcssa) + ($107)|0);
_memcpy(($60|0),($108|0),($12|0))|0;
$109 = (($$0116$lcssa) + 1)|0;
$$1117 = $109;
} else {
$$1117 = $$0116$lcssa;
}
$110 = (($61) + ($$0120$lcssa)|0);
$111 = $$1117&255;
_memset(($110|0),($111|0),1)|0;
$112 = HEAP32[$10>>2]|0;
_gcry_md_reset($112);
$113 = HEAP32[$10>>2]|0;
(_gcry_md_setkey($113,$15,$13)|0);
if ($88) {
_gcry_md_write($113,$60,$58);
} else {
_gcry_md_write($113,$61,$57);
}
$114 = (_gcry_md_read($113,0)|0);
$115 = ($114|0)==(0|0);
if ($115) {
break;
}
_memcpy(($$1$lcssa|0),($114|0),($56|0))|0;
}
_llvm_stackrestore(($59|0));
$$1119 = 1;
break L16;
}
} while(0);
_llvm_stackrestore(($59|0));
$$1119 = -1;
}
} while(0);
$116 = HEAP32[$9>>2]|0;
_gcry_md_close($116);
$117 = HEAP32[$10>>2]|0;
_gcry_md_close($117);
$$0 = $$1119;
_llvm_stackrestore(($14|0));
STACKTOP = sp;return ($$0|0);
}
function _GNUNET_CRYPTO_hkdf($0,$1,$2,$3,$4,$5,$6,$7,$varargs) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
$varargs = $varargs|0;
var $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$8 = sp;
HEAP32[$8>>2] = $varargs;
$9 = (_GNUNET_CRYPTO_hkdf_v($0,$1,$2,$3,$4,$5,$6,$7,$8)|0);
STACKTOP = sp;return ($9|0);
}
function _GNUNET_CRYPTO_kdf($0,$1,$2,$3,$4,$5,$varargs) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$varargs = $varargs|0;
var $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$6 = sp;
HEAP32[$6>>2] = $varargs;
$7 = (_GNUNET_CRYPTO_hkdf_v($0,$1,10,8,$2,$3,$4,$5,$6)|0);
STACKTOP = sp;return ($7|0);
}
function _GNUNET_CRYPTO_kdf_mod_mpi($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$alloca_mul = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $50 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer14 = sp + 40|0;
$vararg_buffer10 = sp + 32|0;
$vararg_buffer6 = sp + 24|0;
$vararg_buffer = sp;
$7 = sp + 52|0;
$8 = sp + 48|0;
$9 = (_gcry_mpi_get_nbits($1)|0);
HEAP32[$8>>2] = 0;
$10 = (($9) + -1)|0;
$11 = $10 >>> 3;
$12 = (($11) + 1)|0;
while(1) {
$13 = (_llvm_stacksave()|0);
$$alloca_mul = $12;
$14 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
$15 = (_strlen($6)|0);
HEAP32[$vararg_buffer>>2] = $6;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $15;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $8;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = 4;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = 0;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = 0;
$16 = (_GNUNET_CRYPTO_kdf($14,$12,$2,$3,$4,$5,$vararg_buffer)|0);
$17 = ($16|0)==(1);
if (!($17)) {
label = 3;
break;
}
$25 = (_gcry_mpi_scan($0,5,$14,$12,$7)|0);
$26 = ($25|0)==(0);
if (!($26)) {
label = 11;
break;
}
$34 = HEAP32[$0>>2]|0;
_gcry_mpi_clear_highbit($34,$9);
$35 = HEAP32[$0>>2]|0;
$36 = (_gcry_mpi_test_bit($35,$9)|0);
$37 = ($36|0)==(0);
if (!($37)) {
label = 19;
break;
}
$45 = HEAP32[$8>>2]|0;
$46 = (($45) + 1)|0;
HEAP32[$8>>2] = $46;
$47 = HEAP32[$0>>2]|0;
$48 = (_gcry_mpi_cmp($47,$1)|0);
$49 = ($48|0)<(0);
if ($49) {
label = 28;
break;
}
$50 = HEAP32[$0>>2]|0;
_gcry_mpi_release($50);
_llvm_stackrestore(($13|0));
}
if ((label|0) == 3) {
$18 = HEAP32[9420]|0;
$19 = ($18|0)==(-1);
if ($19) {
$20 = (_GNUNET_get_log_call_status(1,0,42542,42555,153)|0);
HEAP32[9420] = $20;
}
$21 = (_GNUNET_get_log_skip()|0);
$22 = ($21|0)>(0);
if ($22) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$23 = HEAP32[9420]|0;
$24 = ($23|0)==(0);
if ($24) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer6>>2] = 42542;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 153;
_GNUNET_log_nocheck(1,70521,$vararg_buffer6);
_GNUNET_abort_();
// unreachable;
}
else if ((label|0) == 11) {
$27 = HEAP32[9421]|0;
$28 = ($27|0)==(-1);
if ($28) {
$29 = (_GNUNET_get_log_call_status(1,0,42542,42555,160)|0);
HEAP32[9421] = $29;
}
$30 = (_GNUNET_get_log_skip()|0);
$31 = ($30|0)>(0);
if ($31) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$32 = HEAP32[9421]|0;
$33 = ($32|0)==(0);
if ($33) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer10>>2] = 42542;
$vararg_ptr13 = ((($vararg_buffer10)) + 4|0);
HEAP32[$vararg_ptr13>>2] = 160;
_GNUNET_log_nocheck(1,70521,$vararg_buffer10);
_GNUNET_abort_();
// unreachable;
}
else if ((label|0) == 19) {
$38 = HEAP32[9422]|0;
$39 = ($38|0)==(-1);
if ($39) {
$40 = (_GNUNET_get_log_call_status(1,0,42542,42555,163)|0);
HEAP32[9422] = $40;
}
$41 = (_GNUNET_get_log_skip()|0);
$42 = ($41|0)>(0);
if ($42) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$43 = HEAP32[9422]|0;
$44 = ($43|0)==(0);
if ($44) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer14>>2] = 42542;
$vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
HEAP32[$vararg_ptr17>>2] = 163;
_GNUNET_log_nocheck(1,70521,$vararg_buffer14);
_GNUNET_abort_();
// unreachable;
}
else if ((label|0) == 28) {
_llvm_stackrestore(($13|0));
STACKTOP = sp;return;
}
}
function _GNUNET_CRYPTO_mpi_print_unsigned($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer8 = sp + 24|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$3 = sp + 36|0;
$4 = sp + 32|0;
$5 = (_gcry_mpi_get_flag($2,2)|0);
$6 = ($5|0)==(0);
if (!($6)) {
$7 = (_gcry_mpi_get_opaque($2,$4)|0);
$8 = ($7|0)==(0|0);
if (!($8)) {
$16 = HEAP32[$4>>2]|0;
$17 = (($16) + 7)|0;
$18 = $17 >>> 3;
$19 = ($18>>>0)>($1>>>0);
$spec$select = $19 ? $1 : $18;
HEAP32[$3>>2] = $spec$select;
$20 = ($spec$select|0)==(0);
if (!($20)) {
_memcpy(($0|0),($7|0),($spec$select|0))|0;
}
$21 = ($18>>>0)<($1>>>0);
if ($21) {
$22 = (($1) - ($spec$select))|0;
$23 = (($0) + ($spec$select)|0);
_memset(($23|0),0,($22|0))|0;
}
STACKTOP = sp;return;
}
$9 = HEAP32[9423]|0;
$10 = ($9|0)==(-1);
if ($10) {
$11 = (_GNUNET_get_log_call_status(1,0,42581,42594,87)|0);
HEAP32[9423] = $11;
}
$12 = (_GNUNET_get_log_skip()|0);
$13 = ($12|0)>(0);
if ($13) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$14 = HEAP32[9423]|0;
$15 = ($14|0)==(0);
if ($15) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 42581;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 87;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
HEAP32[$3>>2] = $1;
$24 = (_gcry_mpi_print(5,$0,$1,$3,$2)|0);
$25 = ($24|0)==(0);
if ($25) {
$41 = HEAP32[$3>>2]|0;
$42 = ($41>>>0)<($1>>>0);
$43 = (($1) - ($41))|0;
if (!($42)) {
STACKTOP = sp;return;
}
$44 = (($0) + ($43)|0);
_memmove(($44|0),($0|0),($41|0))|0;
_memset(($0|0),0,($43|0))|0;
STACKTOP = sp;return;
}
$26 = HEAP32[9424]|0;
$27 = ($26|0)==(-1);
if ($27) {
$28 = (_GNUNET_get_log_call_status(1,42627,42581,42594,108)|0);
HEAP32[9424] = $28;
}
$29 = (_GNUNET_get_log_skip()|0);
$30 = ($29|0)>(0);
if ($30) {
_GNUNET_log_skip(-1,0);
} else {
$31 = HEAP32[9424]|0;
$32 = ($31|0)==(0);
if (!($32)) {
$33 = (_gcry_strerror($24)|0);
HEAP32[$vararg_buffer2>>2] = 42680;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 42581;
$vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
HEAP32[$vararg_ptr6>>2] = 108;
$vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
HEAP32[$vararg_ptr7>>2] = $33;
_GNUNET_log_from_nocheck(1,42627,42643,$vararg_buffer2);
}
}
$34 = HEAP32[9425]|0;
$35 = ($34|0)==(-1);
if ($35) {
$36 = (_GNUNET_get_log_call_status(1,0,42581,42594,109)|0);
HEAP32[9425] = $36;
}
$37 = (_GNUNET_get_log_skip()|0);
$38 = ($37|0)>(0);
if ($38) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$39 = HEAP32[9425]|0;
$40 = ($39|0)==(0);
if ($40) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer8>>2] = 42581;
$vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
HEAP32[$vararg_ptr11>>2] = 109;
_GNUNET_log_nocheck(1,70521,$vararg_buffer8);
_GNUNET_abort_();
// unreachable;
}
function _GNUNET_CRYPTO_mpi_scan_unsigned($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0;
var $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer4 = sp + 16|0;
$vararg_buffer = sp;
$3 = sp + 24|0;
HEAP32[$3>>2] = $2;
$4 = (_gcry_mpi_scan($0,5,$1,$2,$3)|0);
$5 = ($4|0)==(0);
if ($5) {
STACKTOP = sp;return;
}
$6 = HEAP32[9426]|0;
$7 = ($6|0)==(-1);
if ($7) {
$8 = (_GNUNET_get_log_call_status(1,42627,42581,42695,138)|0);
HEAP32[9426] = $8;
}
$9 = (_GNUNET_get_log_skip()|0);
$10 = ($9|0)>(0);
if ($10) {
_GNUNET_log_skip(-1,0);
} else {
$11 = HEAP32[9426]|0;
$12 = ($11|0)==(0);
if (!($12)) {
$13 = (_gcry_strerror($4)|0);
HEAP32[$vararg_buffer>>2] = 42727;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 42581;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 138;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $13;
_GNUNET_log_from_nocheck(1,42627,42643,$vararg_buffer);
}
}
$14 = HEAP32[9427]|0;
$15 = ($14|0)==(-1);
if ($15) {
$16 = (_GNUNET_get_log_call_status(1,0,42581,42695,139)|0);
HEAP32[9427] = $16;
}
$17 = (_GNUNET_get_log_skip()|0);
$18 = ($17|0)>(0);
if ($18) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$19 = HEAP32[9427]|0;
$20 = ($19|0)==(0);
if ($20) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer4>>2] = 42581;
$vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
HEAP32[$vararg_ptr7>>2] = 139;
_GNUNET_log_nocheck(1,70521,$vararg_buffer4);
_GNUNET_abort_();
// unreachable;
}
function _GNUNET_CRYPTO_random_init() {
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr18 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer22 = sp + 56|0;
$vararg_buffer19 = sp + 48|0;
$vararg_buffer15 = sp + 40|0;
$vararg_buffer12 = sp + 32|0;
$vararg_buffer8 = sp + 24|0;
$vararg_buffer5 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = sp + 60|0;
$1 = (_gcry_check_version(42741)|0);
$2 = ($1|0)==(0|0);
if (!($2)) {
_gcry_set_allocation_handler(54,54,55,56,57);
HEAP32[$vararg_buffer5>>2] = 0;
$11 = (_gcry_control(37,$vararg_buffer5)|0);
$12 = ($11|0)==(0);
if (!($12)) {
$13 = HEAP32[10138]|0;
$14 = (_gcry_strerror($11)|0);
HEAP32[$vararg_buffer8>>2] = 42894;
$vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
HEAP32[$vararg_ptr11>>2] = $14;
(_fprintf($13,42855,$vararg_buffer8)|0);
}
HEAP32[$vararg_buffer12>>2] = 0;
$15 = (_gcry_control(44,$vararg_buffer12)|0);
$16 = ($15|0)==(0);
if (!($16)) {
$17 = HEAP32[10138]|0;
$18 = (_gcry_strerror($15)|0);
HEAP32[$vararg_buffer15>>2] = 42909;
$vararg_ptr18 = ((($vararg_buffer15)) + 4|0);
HEAP32[$vararg_ptr18>>2] = $18;
(_fprintf($17,42855,$vararg_buffer15)|0);
}
HEAP32[$vararg_buffer19>>2] = 0;
(_gcry_control(38,$vararg_buffer19)|0);
HEAP32[$vararg_buffer22>>2] = 0;
(_gcry_control(48,$vararg_buffer22)|0);
$19 = (_time((0|0))|0);
while(1) {
_gcry_create_nonce($0,4);
$20 = HEAP32[$0>>2]|0;
$21 = ($20|0)==(-1);
if (!($21)) {
break;
}
}
$22 = $20 ^ $19;
_srandom($22);
STACKTOP = sp;return;
}
$3 = HEAP32[10138]|0;
HEAP32[$vararg_buffer>>2] = 42741;
(_fprintf($3,42747,$vararg_buffer)|0);
$4 = HEAP32[9428]|0;
$5 = ($4|0)==(-1);
if ($5) {
$6 = (_GNUNET_get_log_call_status(1,0,42813,42829,306)|0);
HEAP32[9428] = $6;
}
$7 = (_GNUNET_get_log_skip()|0);
$8 = ($7|0)>(0);
if ($8) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$9 = HEAP32[9428]|0;
$10 = ($9|0)==(0);
if ($10) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer1>>2] = 42813;
$vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
HEAP32[$vararg_ptr4>>2] = 306;
_GNUNET_log_nocheck(1,70521,$vararg_buffer1);
_GNUNET_abort_();
// unreachable;
}
function _w_malloc($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_calloc($0,1)|0);
return ($1|0);
}
function _w_check($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function _GNUNET_CRYPTO_random_fini() {
var label = 0, sp = 0;
sp = STACKTOP;
_gcry_set_progress_handler(0,0);
return;
}
function _GNUNET_CRYPTO_random_block($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr7 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
switch ($0|0) {
case 1: {
$3 = HEAP32[18078]|0;
$4 = (($3) + 1)|0;
HEAP32[18078] = $4;
$5 = $3 & 255;
$6 = ($5|0)==(0);
if ($6) {
HEAP32[$vararg_buffer>>2] = 0;
(_gcry_control(48,$vararg_buffer)|0);
}
_gcry_randomize($1,$2,1);
STACKTOP = sp;return;
break;
}
case 2: {
_gcry_create_nonce($1,$2);
STACKTOP = sp;return;
break;
}
case 0: {
$7 = HEAP32[18078]|0;
$8 = (($7) + 1)|0;
HEAP32[18078] = $8;
$9 = $7 & 255;
$10 = ($9|0)==(0);
if ($10) {
HEAP32[$vararg_buffer1>>2] = 0;
(_gcry_control(48,$vararg_buffer1)|0);
}
_gcry_randomize($1,$2,0);
STACKTOP = sp;return;
break;
}
default: {
$11 = HEAP32[9429]|0;
$12 = ($11|0)==(-1);
if ($12) {
$13 = (_GNUNET_get_log_call_status(1,0,42813,42929,133)|0);
HEAP32[9429] = $13;
}
$14 = (_GNUNET_get_log_skip()|0);
$15 = ($14|0)>(0);
if ($15) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$16 = HEAP32[9429]|0;
$17 = ($16|0)==(0);
if ($17) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer4>>2] = 42813;
$vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
HEAP32[$vararg_ptr7>>2] = 133;
_GNUNET_log_nocheck(1,70521,$vararg_buffer4);
_GNUNET_abort_();
// unreachable;
}
}
}
function _GNUNET_CRYPTO_random_u32($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0;
var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0;
var $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer5 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$2 = sp + 24|0;
$3 = ($1|0)==(0);
if ($3) {
$4 = HEAP32[9430]|0;
$5 = ($4|0)==(-1);
if ($5) {
$6 = (_GNUNET_get_log_call_status(1,0,42813,42956,155)|0);
HEAP32[9430] = $6;
}
$7 = (_GNUNET_get_log_skip()|0);
$8 = ($7|0)>(0);
if ($8) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$9 = HEAP32[9430]|0;
$10 = ($9|0)==(0);
if ($10) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 42813;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 155;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
switch ($0|0) {
case 1: {
$11 = HEAP32[18079]|0;
$12 = (($11) + 1)|0;
HEAP32[18079] = $12;
$13 = $11 & 255;
$14 = ($13|0)==(0);
if ($14) {
HEAP32[$vararg_buffer2>>2] = 0;
(_gcry_control(48,$vararg_buffer2)|0);
}
$15 = (4294967295 % ($1>>>0))&-1;
$16 = $15 ^ -1;
while(1) {
_gcry_randomize($2,4,1);
$17 = HEAP32[$2>>2]|0;
$18 = ($17>>>0)<($16>>>0);
if ($18) {
break;
}
}
$19 = (($17>>>0) % ($1>>>0))&-1;
$$0 = $19;
STACKTOP = sp;return ($$0|0);
break;
}
case 2: {
$20 = (4294967295 % ($1>>>0))&-1;
$21 = $20 ^ -1;
while(1) {
_gcry_create_nonce($2,4);
$22 = HEAP32[$2>>2]|0;
$23 = ($22>>>0)<($21>>>0);
if ($23) {
break;
}
}
$24 = (($22>>>0) % ($1>>>0))&-1;
$$0 = $24;
STACKTOP = sp;return ($$0|0);
break;
}
case 0: {
$25 = (+($1>>>0));
$26 = (_random()|0);
$27 = (+($26|0));
$28 = $27 / 2147483647.0;
$29 = $28 * $25;
$30 = (~~(($29))>>>0);
$31 = ($30>>>0)<($1>>>0);
$32 = (($1) + -1)|0;
$spec$select = $31 ? $30 : $32;
HEAP32[$2>>2] = $spec$select;
$$0 = $spec$select;
STACKTOP = sp;return ($$0|0);
break;
}
default: {
$33 = HEAP32[9431]|0;
$34 = ($33|0)==(-1);
if ($34) {
$35 = (_GNUNET_get_log_call_status(1,0,42813,42956,187)|0);
HEAP32[9431] = $35;
}
$36 = (_GNUNET_get_log_skip()|0);
$37 = ($36|0)>(0);
if ($37) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$38 = HEAP32[9431]|0;
$39 = ($38|0)==(0);
if ($39) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer5>>2] = 42813;
$vararg_ptr8 = ((($vararg_buffer5)) + 4|0);
HEAP32[$vararg_ptr8>>2] = 187;
_GNUNET_log_nocheck(1,70521,$vararg_buffer5);
_GNUNET_abort_();
// unreachable;
}
}
return (0)|0;
}
function _GNUNET_CRYPTO_rsa_private_key_create($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer5 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$1 = sp + 28|0;
$2 = sp + 24|0;
HEAP32[$vararg_buffer>>2] = $0;
$3 = (_gcry_sexp_build($2,0,42981,$vararg_buffer)|0);
$4 = ($3|0)==(0);
if (!($4)) {
$5 = HEAP32[9432]|0;
$6 = ($5|0)==(-1);
if ($6) {
$7 = (_GNUNET_get_log_call_status(1,0,43005,43018,159)|0);
HEAP32[9432] = $7;
}
$8 = (_GNUNET_get_log_skip()|0);
$9 = ($8|0)>(0);
if ($9) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$10 = HEAP32[9432]|0;
$11 = ($10|0)==(0);
if ($11) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer1>>2] = 43005;
$vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
HEAP32[$vararg_ptr4>>2] = 159;
_GNUNET_log_nocheck(1,70521,$vararg_buffer1);
_GNUNET_abort_();
// unreachable;
}
$12 = HEAP32[$2>>2]|0;
$13 = (_gcry_pk_genkey($1,$12)|0);
$14 = ($13|0)==(0);
if ($14) {
$22 = HEAP32[$2>>2]|0;
_gcry_sexp_release($22);
$23 = (_GNUNET_xmalloc_(4,43005,168)|0);
$24 = HEAP32[$1>>2]|0;
HEAP32[$23>>2] = $24;
STACKTOP = sp;return ($23|0);
}
$15 = HEAP32[9433]|0;
$16 = ($15|0)==(-1);
if ($16) {
$17 = (_GNUNET_get_log_call_status(1,0,43005,43018,162)|0);
HEAP32[9433] = $17;
}
$18 = (_GNUNET_get_log_skip()|0);
$19 = ($18|0)>(0);
if ($19) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$20 = HEAP32[9433]|0;
$21 = ($20|0)==(0);
if ($21) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer5>>2] = 43005;
$vararg_ptr8 = ((($vararg_buffer5)) + 4|0);
HEAP32[$vararg_ptr8>>2] = 162;
_GNUNET_log_nocheck(1,70521,$vararg_buffer5);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_CRYPTO_rsa_private_key_free($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
_gcry_sexp_release($1);
_GNUNET_xfree_($0,43005,184);
return;
}
function _GNUNET_CRYPTO_rsa_private_key_encode($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = HEAP32[$0>>2]|0;
$3 = (_gcry_sexp_sprint($2,0,0,0)|0);
$4 = (_GNUNET_xmalloc_($3,43005,207)|0);
$5 = (($3) + -1)|0;
$6 = HEAP32[$0>>2]|0;
$7 = (_gcry_sexp_sprint($6,0,$4,$3)|0);
$8 = ($5|0)==($7|0);
if ($8) {
HEAP32[$1>>2] = $4;
STACKTOP = sp;return ($3|0);
}
$9 = HEAP32[9434]|0;
$10 = ($9|0)==(-1);
if ($10) {
$11 = (_GNUNET_get_log_call_status(1,0,43005,43055,212)|0);
HEAP32[9434] = $11;
}
$12 = (_GNUNET_get_log_skip()|0);
$13 = ($12|0)>(0);
if ($13) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$14 = HEAP32[9434]|0;
$15 = ($14|0)==(0);
if ($15) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 43005;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 212;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_CRYPTO_rsa_private_key_decode($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$2 = (_GNUNET_xmalloc_(4,43005,231)|0);
$3 = (_gcry_sexp_new($2,$0,$1,0)|0);
$4 = ($3|0)==(0);
if (!($4)) {
$5 = HEAP32[9435]|0;
$6 = ($5|0)==(-1);
if ($6) {
$7 = (_GNUNET_get_log_call_status(2,43092,43005,43108,239)|0);
HEAP32[9435] = $7;
}
$8 = (_GNUNET_get_log_skip()|0);
$9 = ($8|0)>(0);
if ($9) {
_GNUNET_log_skip(-1,0);
} else {
$10 = HEAP32[9435]|0;
$11 = ($10|0)==(0);
if (!($11)) {
_GNUNET_log_from_nocheck(2,43092,43145,$vararg_buffer);
}
}
_GNUNET_xfree_($2,43005,240);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$12 = HEAP32[$2>>2]|0;
$13 = (_gcry_pk_testkey($12)|0);
$14 = ($13|0)==(0);
if ($14) {
$$0 = $2;
STACKTOP = sp;return ($$0|0);
}
$15 = HEAP32[9436]|0;
$16 = ($15|0)==(-1);
if ($16) {
$17 = (_GNUNET_get_log_call_status(2,43092,43005,43108,246)|0);
HEAP32[9436] = $17;
}
$18 = (_GNUNET_get_log_skip()|0);
$19 = ($18|0)>(0);
if ($19) {
_GNUNET_log_skip(-1,0);
} else {
$20 = HEAP32[9436]|0;
$21 = ($20|0)==(0);
if (!($21)) {
_GNUNET_log_from_nocheck(2,43092,43145,$vararg_buffer1);
}
}
$22 = HEAP32[$2>>2]|0;
_gcry_sexp_release($22);
_GNUNET_xfree_($2,43005,184);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _GNUNET_CRYPTO_rsa_private_key_get_public($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$1 = sp + 24|0;
$2 = sp + 16|0;
$3 = HEAP32[$0>>2]|0;
$4 = (_key_from_sexp_105($1,$3,59755,60969)|0);
$5 = ($4|0)==(0);
if (!($5)) {
$6 = HEAP32[$0>>2]|0;
$7 = (_key_from_sexp_105($1,$6,59743,60969)|0);
$8 = ($7|0)==(0);
if (!($8)) {
$9 = HEAP32[$0>>2]|0;
$10 = (_key_from_sexp_105($1,$9,61102,60969)|0);
$11 = ($10|0)==(0);
if (!($11)) {
$12 = HEAP32[9437]|0;
$13 = ($12|0)==(-1);
if ($13) {
$14 = (_GNUNET_get_log_call_status(2,0,43005,43179,277)|0);
HEAP32[9437] = $14;
}
$15 = (_GNUNET_get_log_skip()|0);
$16 = ($15|0)>(0);
if ($16) {
_GNUNET_log_skip(-1,0);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$17 = HEAP32[9437]|0;
$18 = ($17|0)==(0);
if ($18) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
HEAP32[$vararg_buffer>>2] = 43005;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 277;
_GNUNET_log_nocheck(66,43220,$vararg_buffer);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
}
$19 = HEAP32[$1>>2]|0;
$20 = ((($1)) + 4|0);
$21 = HEAP32[$20>>2]|0;
HEAP32[$vararg_buffer2>>2] = $19;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = $21;
(_gcry_sexp_build($2,0,43268,$vararg_buffer2)|0);
_gcry_mpi_release($19);
_gcry_mpi_release($21);
$22 = (_GNUNET_xmalloc_(4,43005,287)|0);
$23 = HEAP32[$2>>2]|0;
HEAP32[$22>>2] = $23;
$$0 = $22;
STACKTOP = sp;return ($$0|0);
}
function _key_from_sexp_105($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$04551 = 0, $$04657 = 0, $$04756 = 0, $$048 = 0, $$052 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond63 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (_gcry_sexp_find_token($1,$2,0)|0);
$5 = ($4|0)==(0|0);
if ($5) {
$$048 = 1;
return ($$048|0);
}
$6 = (_gcry_sexp_cadr($4)|0);
_gcry_sexp_release($4);
$7 = ($6|0)==(0|0);
if ($7) {
$$048 = 2;
return ($$048|0);
}
$8 = HEAP8[$3>>0]|0;
$9 = ($8<<24>>24)==(0);
L7: do {
if (!($9)) {
$$04657 = 0;$$04756 = $3;
while(1) {
$10 = (_gcry_sexp_find_token($6,$$04756,1)|0);
$11 = ($10|0)==(0|0);
if ($11) {
label = 6;
break;
}
$16 = (_gcry_sexp_nth_mpi($10,1,5)|0);
$17 = (($0) + ($$04657<<2)|0);
HEAP32[$17>>2] = $16;
_gcry_sexp_release($10);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0|0);
if ($19) {
label = 11;
break;
}
$24 = ((($$04756)) + 1|0);
$25 = (($$04657) + 1)|0;
$26 = HEAP8[$24>>0]|0;
$27 = ($26<<24>>24)==(0);
if ($27) {
break L7;
} else {
$$04657 = $25;$$04756 = $24;
}
}
if ((label|0) == 6) {
$12 = ($$04657|0)==(0);
if (!($12)) {
$$04551 = 0;
while(1) {
$13 = (($0) + ($$04551<<2)|0);
$14 = HEAP32[$13>>2]|0;
_gcry_free($14);
HEAP32[$13>>2] = 0;
$15 = (($$04551) + 1)|0;
$exitcond = ($15|0)==($$04657|0);
if ($exitcond) {
break;
} else {
$$04551 = $15;
}
}
}
_gcry_sexp_release($6);
$$048 = 3;
return ($$048|0);
}
else if ((label|0) == 11) {
$20 = ($$04657|0)==(0);
if (!($20)) {
$$052 = 0;
while(1) {
$21 = (($0) + ($$052<<2)|0);
$22 = HEAP32[$21>>2]|0;
_gcry_free($22);
HEAP32[$21>>2] = 0;
$23 = (($$052) + 1)|0;
$exitcond63 = ($23|0)==($$04657|0);
if ($exitcond63) {
break;
} else {
$$052 = $23;
}
}
}
_gcry_sexp_release($6);
$$048 = 4;
return ($$048|0);
}
}
} while(0);
_gcry_sexp_release($6);
$$048 = 0;
return ($$048|0);
}
function _GNUNET_CRYPTO_rsa_public_key_free($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
_gcry_sexp_release($1);
_GNUNET_xfree_($0,43005,303);
return;
}
function _GNUNET_CRYPTO_rsa_public_key_encode($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = HEAP32[$0>>2]|0;
$3 = (_gcry_sexp_sprint($2,3,0,0)|0);
$4 = (_GNUNET_xmalloc_($3,43005,326)|0);
$5 = (($3) + -1)|0;
$6 = HEAP32[$0>>2]|0;
$7 = (_gcry_sexp_sprint($6,3,$4,$3)|0);
$8 = ($5|0)==($7|0);
if ($8) {
HEAP32[$1>>2] = $4;
STACKTOP = sp;return ($3|0);
}
$9 = HEAP32[9438]|0;
$10 = ($9|0)==(-1);
if ($10) {
$11 = (_GNUNET_get_log_call_status(1,0,43005,43298,331)|0);
HEAP32[9438] = $11;
}
$12 = (_GNUNET_get_log_skip()|0);
$13 = ($12|0)>(0);
if ($13) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$14 = HEAP32[9438]|0;
$15 = ($14|0)==(0);
if ($15) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 43005;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 331;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_CRYPTO_rsa_public_key_decode($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$2 = sp + 16|0;
$3 = (_GNUNET_xmalloc_(4,43005,375)|0);
$4 = (_gcry_sexp_new($3,$0,$1,0)|0);
$5 = ($4|0)==(0);
if (!($5)) {
$6 = HEAP32[9439]|0;
$7 = ($6|0)==(-1);
if ($7) {
$8 = (_GNUNET_get_log_call_status(2,0,43005,43334,382)|0);
HEAP32[9439] = $8;
}
$9 = (_GNUNET_get_log_skip()|0);
$10 = ($9|0)>(0);
if ($10) {
_GNUNET_log_skip(-1,0);
} else {
$11 = HEAP32[9439]|0;
$12 = ($11|0)==(0);
if (!($12)) {
HEAP32[$vararg_buffer>>2] = 43005;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 382;
_GNUNET_log_nocheck(66,43220,$vararg_buffer);
}
}
_GNUNET_xfree_($3,43005,383);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$13 = HEAP32[$3>>2]|0;
$14 = (_key_from_sexp_105($2,$13,59755,60983)|0);
$15 = ($14|0)==(0);
if (!($15)) {
$16 = HEAP32[$3>>2]|0;
$17 = (_key_from_sexp_105($2,$16,61102,60983)|0);
$18 = ($17|0)==(0);
if (!($18)) {
$19 = HEAP32[9440]|0;
$20 = ($19|0)==(-1);
if ($20) {
$21 = (_GNUNET_get_log_call_status(1,0,43005,43334,393)|0);
HEAP32[9440] = $21;
}
$22 = (_GNUNET_get_log_skip()|0);
$23 = ($22|0)>(0);
if ($23) {
_GNUNET_log_skip(-1,0);
} else {
$24 = HEAP32[9440]|0;
$25 = ($24|0)==(0);
if (!($25)) {
HEAP32[$vararg_buffer2>>2] = 43005;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 393;
_GNUNET_log_nocheck(1,43837,$vararg_buffer2);
}
}
$26 = HEAP32[$3>>2]|0;
_gcry_sexp_release($26);
_GNUNET_xfree_($3,43005,395);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
$27 = HEAP32[$2>>2]|0;
_gcry_mpi_release($27);
$$0 = $3;
STACKTOP = sp;return ($$0|0);
}
function _GNUNET_CRYPTO_rsa_signature_encode($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = HEAP32[$0>>2]|0;
$3 = (_gcry_sexp_sprint($2,3,0,0)|0);
$4 = (_GNUNET_xmalloc_($3,43005,974)|0);
$5 = (($3) + -1)|0;
$6 = HEAP32[$0>>2]|0;
$7 = (_gcry_sexp_sprint($6,3,$4,$3)|0);
$8 = ($5|0)==($7|0);
if ($8) {
HEAP32[$1>>2] = $4;
STACKTOP = sp;return ($3|0);
}
$9 = HEAP32[9441]|0;
$10 = ($9|0)==(-1);
if ($10) {
$11 = (_GNUNET_get_log_call_status(1,0,43005,43370,979)|0);
HEAP32[9441] = $11;
}
$12 = (_GNUNET_get_log_skip()|0);
$13 = ($12|0)>(0);
if ($13) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$14 = HEAP32[9441]|0;
$15 = ($14|0)==(0);
if ($15) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 43005;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 979;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_CRYPTO_rsa_blind($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer6 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$5 = sp + 36|0;
$6 = sp + 32|0;
$7 = sp + 24|0;
$8 = ($3|0)!=(0|0);
$9 = ($4|0)!=(0|0);
$or$cond = $8 & $9;
if (!($or$cond)) {
$10 = HEAP32[9442]|0;
$11 = ($10|0)==(-1);
if ($11) {
$12 = (_GNUNET_get_log_call_status(1,0,43005,43405,748)|0);
HEAP32[9442] = $12;
}
$13 = (_GNUNET_get_log_skip()|0);
$14 = ($13|0)>(0);
if ($14) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$15 = HEAP32[9442]|0;
$16 = ($15|0)==(0);
if ($16) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 43005;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 748;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
$17 = HEAP32[$2>>2]|0;
$18 = (_key_from_sexp_105($7,$17,59755,60969)|0);
$19 = ($18|0)==(0);
if (!($19)) {
$20 = HEAP32[$2>>2]|0;
$21 = (_key_from_sexp_105($7,$20,61102,60969)|0);
$22 = ($21|0)==(0);
if (!($22)) {
$23 = HEAP32[9443]|0;
$24 = ($23|0)==(-1);
if ($24) {
$25 = (_GNUNET_get_log_call_status(1,0,43005,43405,754)|0);
HEAP32[9443] = $25;
}
$26 = (_GNUNET_get_log_skip()|0);
$27 = ($26|0)>(0);
if ($27) {
_GNUNET_log_skip(-1,0);
} else {
$28 = HEAP32[9443]|0;
$29 = ($28|0)==(0);
if (!($29)) {
HEAP32[$vararg_buffer2>>2] = 43005;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 754;
_GNUNET_log_nocheck(1,43837,$vararg_buffer2);
}
}
HEAP32[$3>>2] = 0;
HEAP32[$4>>2] = 0;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
$30 = (_rsa_full_domain_hash($2,$0)|0);
$31 = ($30|0)==(0|0);
do {
if (!($31)) {
$32 = (_rsa_blinding_key_derive($2,$1)|0);
$33 = ($32|0)==(0|0);
if ($33) {
_gcry_mpi_release($30);
break;
}
$34 = (_gcry_mpi_new(0)|0);
$35 = HEAP32[$32>>2]|0;
$36 = ((($7)) + 4|0);
$37 = HEAP32[$36>>2]|0;
$38 = HEAP32[$7>>2]|0;
_gcry_mpi_powm($34,$35,$37,$38);
$39 = (_gcry_mpi_new(0)|0);
_gcry_mpi_mulm($39,$30,$34,$38);
_gcry_mpi_release($30);
_gcry_mpi_release($38);
_gcry_mpi_release($37);
_gcry_mpi_release($34);
$40 = HEAP32[$32>>2]|0;
_gcry_mpi_release($40);
_GNUNET_xfree_($32,43005,639);
(_gcry_mpi_print(5,0,0,$5,$39)|0);
$41 = HEAP32[$5>>2]|0;
$42 = (_GNUNET_xmalloc_($41,43005,663)|0);
$43 = HEAP32[$5>>2]|0;
$44 = (_gcry_mpi_print(5,$42,$43,$6,$39)|0);
$45 = ($44|0)==(0);
if ($45) {
HEAP32[$3>>2] = $42;
$53 = HEAP32[$5>>2]|0;
HEAP32[$4>>2] = $53;
_gcry_mpi_release($39);
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$46 = HEAP32[9444]|0;
$47 = ($46|0)==(-1);
if ($47) {
$48 = (_GNUNET_get_log_call_status(1,0,43005,43429,669)|0);
HEAP32[9444] = $48;
}
$49 = (_GNUNET_get_log_skip()|0);
$50 = ($49|0)>(0);
if ($50) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$51 = HEAP32[9444]|0;
$52 = ($51|0)==(0);
if ($52) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer6>>2] = 43005;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 669;
_GNUNET_log_nocheck(1,70521,$vararg_buffer6);
_GNUNET_abort_();
// unreachable;
}
} while(0);
$54 = HEAP32[$7>>2]|0;
_gcry_mpi_release($54);
$55 = ((($7)) + 4|0);
$56 = HEAP32[$55>>2]|0;
_gcry_mpi_release($56);
HEAP32[$3>>2] = 0;
HEAP32[$4>>2] = 0;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _rsa_full_domain_hash($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$2 = sp + 24|0;
$3 = sp + 20|0;
$4 = sp + 16|0;
$5 = HEAP32[$0>>2]|0;
$6 = (_key_from_sexp_105($3,$5,61102,60983)|0);
$7 = ($6|0)==(0);
if (!($7)) {
$8 = HEAP32[9448]|0;
$9 = ($8|0)==(-1);
if ($9) {
$10 = (_GNUNET_get_log_call_status(1,0,43005,43523,697)|0);
HEAP32[9448] = $10;
}
$11 = (_GNUNET_get_log_skip()|0);
$12 = ($11|0)>(0);
if ($12) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$13 = HEAP32[9448]|0;
$14 = ($13|0)==(0);
if ($14) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 43005;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 697;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
$15 = HEAP32[$3>>2]|0;
$16 = (_gcry_mpi_get_flag($15,2)|0);
$17 = ($16|0)==(0);
if ($17) {
$25 = (_GNUNET_CRYPTO_rsa_public_key_encode($0,$4)|0);
$26 = HEAP32[$4>>2]|0;
_GNUNET_CRYPTO_kdf_mod_mpi($2,$15,$26,$25,$1,64,43544);
_GNUNET_xfree_($26,43005,712);
$27 = HEAP32[$2>>2]|0;
$28 = (_gcry_mpi_new(0)|0);
$29 = (_gcry_mpi_gcd($28,$27,$15)|0);
_gcry_mpi_release($28);
_gcry_mpi_release($15);
$30 = ($29|0)==(0);
$31 = HEAP32[$2>>2]|0;
if (!($30)) {
$$0 = $31;
STACKTOP = sp;return ($$0|0);
}
_gcry_mpi_release($31);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$18 = HEAP32[9449]|0;
$19 = ($18|0)==(-1);
if ($19) {
$20 = (_GNUNET_get_log_call_status(1,0,43005,43523,699)|0);
HEAP32[9449] = $20;
}
$21 = (_GNUNET_get_log_skip()|0);
$22 = ($21|0)>(0);
if ($22) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$23 = HEAP32[9449]|0;
$24 = ($23|0)==(0);
if ($24) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 43005;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 699;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _rsa_blinding_key_derive($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0;
var $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer6 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$2 = sp + 24|0;
$3 = (_GNUNET_xmalloc_(4,43005,442)|0);
$4 = ($3|0)==(0|0);
if ($4) {
$5 = HEAP32[9445]|0;
$6 = ($5|0)==(-1);
if ($6) {
$7 = (_GNUNET_get_log_call_status(1,0,43005,43455,443)|0);
HEAP32[9445] = $7;
}
$8 = (_GNUNET_get_log_skip()|0);
$9 = ($8|0)>(0);
if ($9) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$10 = HEAP32[9445]|0;
$11 = ($10|0)==(0);
if ($11) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 43005;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 443;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
$12 = HEAP32[$0>>2]|0;
$13 = (_key_from_sexp_105($2,$12,61102,60983)|0);
$14 = ($13|0)==(0);
if (!($14)) {
$15 = HEAP32[9446]|0;
$16 = ($15|0)==(-1);
if ($16) {
$17 = (_GNUNET_get_log_call_status(1,0,43005,43455,446)|0);
HEAP32[9446] = $17;
}
$18 = (_GNUNET_get_log_skip()|0);
$19 = ($18|0)>(0);
if ($19) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$20 = HEAP32[9446]|0;
$21 = ($20|0)==(0);
if ($21) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 43005;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 446;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
}
$22 = HEAP32[$2>>2]|0;
$23 = (_gcry_mpi_get_flag($22,2)|0);
$24 = ($23|0)==(0);
if ($24) {
_GNUNET_CRYPTO_kdf_mod_mpi($3,$22,43479,30,$1,32,43510);
$32 = HEAP32[$3>>2]|0;
$33 = (_gcry_mpi_new(0)|0);
$34 = (_gcry_mpi_gcd($33,$32,$22)|0);
_gcry_mpi_release($33);
$35 = ($34|0)==(0);
if (!($35)) {
$$0 = $3;
_gcry_mpi_release($22);
STACKTOP = sp;return ($$0|0);
}
_GNUNET_xfree_($3,43005,456);
$$0 = 0;
_gcry_mpi_release($22);
STACKTOP = sp;return ($$0|0);
}
$25 = HEAP32[9447]|0;
$26 = ($25|0)==(-1);
if ($26) {
$27 = (_GNUNET_get_log_call_status(1,0,43005,43455,448)|0);
HEAP32[9447] = $27;
}
$28 = (_GNUNET_get_log_skip()|0);
$29 = ($28|0)>(0);
if ($29) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$30 = HEAP32[9447]|0;
$31 = ($30|0)==(0);
if ($31) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer6>>2] = 43005;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 448;
_GNUNET_log_nocheck(1,70521,$vararg_buffer6);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _mpi_to_sexp($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$1 = sp + 16|0;
HEAP32[$1>>2] = 0;
HEAP32[$vararg_buffer>>2] = $0;
$2 = (_gcry_sexp_build($1,0,43559,$vararg_buffer)|0);
$3 = ($2|0)==(0);
if ($3) {
$11 = HEAP32[$1>>2]|0;
STACKTOP = sp;return ($11|0);
}
$4 = HEAP32[9450]|0;
$5 = ($4|0)==(-1);
if ($5) {
$6 = (_GNUNET_get_log_call_status(1,0,43005,43589,819)|0);
HEAP32[9450] = $6;
}
$7 = (_GNUNET_get_log_skip()|0);
$8 = ($7|0)>(0);
if ($8) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$9 = HEAP32[9450]|0;
$10 = ($9|0)==(0);
if ($10) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer1>>2] = 43005;
$vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
HEAP32[$vararg_ptr4>>2] = 819;
_GNUNET_log_nocheck(1,70521,$vararg_buffer1);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_CRYPTO_rsa_signature_free($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
_gcry_sexp_release($1);
_GNUNET_xfree_($0,43005,952);
return;
}
function _GNUNET_CRYPTO_rsa_signature_decode($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$2 = sp + 16|0;
$3 = (_GNUNET_xmalloc_(4,43005,1001)|0);
$4 = (_gcry_sexp_new($3,$0,$1,0)|0);
$5 = ($4|0)==(0);
if (!($5)) {
$6 = HEAP32[9451]|0;
$7 = ($6|0)==(-1);
if ($7) {
$8 = (_GNUNET_get_log_call_status(2,0,43005,43601,1008)|0);
HEAP32[9451] = $8;
}
$9 = (_GNUNET_get_log_skip()|0);
$10 = ($9|0)>(0);
if ($10) {
_GNUNET_log_skip(-1,0);
} else {
$11 = HEAP32[9451]|0;
$12 = ($11|0)==(0);
if (!($12)) {
HEAP32[$vararg_buffer>>2] = 43005;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 1008;
_GNUNET_log_nocheck(66,43220,$vararg_buffer);
}
}
_GNUNET_xfree_($3,43005,1009);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$13 = HEAP32[$3>>2]|0;
$14 = (_key_from_sexp_105($2,$13,59605,60981)|0);
$15 = ($14|0)==(0);
if (!($15)) {
$16 = HEAP32[$3>>2]|0;
$17 = (_key_from_sexp_105($2,$16,61102,60981)|0);
$18 = ($17|0)==(0);
if (!($18)) {
$19 = HEAP32[9452]|0;
$20 = ($19|0)==(-1);
if ($20) {
$21 = (_GNUNET_get_log_call_status(2,0,43005,43601,1019)|0);
HEAP32[9452] = $21;
}
$22 = (_GNUNET_get_log_skip()|0);
$23 = ($22|0)>(0);
if ($23) {
_GNUNET_log_skip(-1,0);
} else {
$24 = HEAP32[9452]|0;
$25 = ($24|0)==(0);
if (!($25)) {
HEAP32[$vararg_buffer2>>2] = 43005;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 1019;
_GNUNET_log_nocheck(66,43220,$vararg_buffer2);
}
}
$26 = HEAP32[$3>>2]|0;
_gcry_sexp_release($26);
_GNUNET_xfree_($3,43005,1021);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
$27 = HEAP32[$2>>2]|0;
_gcry_mpi_release($27);
$$0 = $3;
STACKTOP = sp;return ($$0|0);
}
function _GNUNET_CRYPTO_rsa_unblind($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer17 = sp + 40|0;
$vararg_buffer14 = sp + 32|0;
$vararg_buffer10 = sp + 24|0;
$vararg_buffer6 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$3 = sp + 52|0;
$4 = sp + 48|0;
$5 = HEAP32[$2>>2]|0;
$6 = (_key_from_sexp_105($3,$5,59755,60983)|0);
$7 = ($6|0)==(0);
if (!($7)) {
$8 = HEAP32[$2>>2]|0;
$9 = (_key_from_sexp_105($3,$8,61102,60983)|0);
$10 = ($9|0)==(0);
if (!($10)) {
$11 = HEAP32[9453]|0;
$12 = ($11|0)==(-1);
if ($12) {
$13 = (_GNUNET_get_log_call_status(2,0,43005,43636,1084)|0);
HEAP32[9453] = $13;
}
$14 = (_GNUNET_get_log_skip()|0);
$15 = ($14|0)>(0);
if ($15) {
_GNUNET_log_skip(-1,0);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$16 = HEAP32[9453]|0;
$17 = ($16|0)==(0);
if ($17) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
HEAP32[$vararg_buffer>>2] = 43005;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 1084;
_GNUNET_log_nocheck(66,43220,$vararg_buffer);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
$18 = HEAP32[$0>>2]|0;
$19 = (_key_from_sexp_105($4,$18,59605,60981)|0);
$20 = ($19|0)==(0);
if (!($20)) {
$21 = HEAP32[$0>>2]|0;
$22 = (_key_from_sexp_105($4,$21,61102,60981)|0);
$23 = ($22|0)==(0);
if (!($23)) {
$24 = HEAP32[$3>>2]|0;
_gcry_mpi_release($24);
$25 = HEAP32[9454]|0;
$26 = ($25|0)==(-1);
if ($26) {
$27 = (_GNUNET_get_log_call_status(2,0,43005,43636,1093)|0);
HEAP32[9454] = $27;
}
$28 = (_GNUNET_get_log_skip()|0);
$29 = ($28|0)>(0);
if ($29) {
_GNUNET_log_skip(-1,0);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$30 = HEAP32[9454]|0;
$31 = ($30|0)==(0);
if ($31) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
HEAP32[$vararg_buffer2>>2] = 43005;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 1093;
_GNUNET_log_nocheck(66,43220,$vararg_buffer2);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
$32 = (_rsa_blinding_key_derive($2,$1)|0);
$33 = ($32|0)==(0|0);
if ($33) {
$34 = HEAP32[9455]|0;
$35 = ($34|0)==(-1);
if ($35) {
$36 = (_GNUNET_get_log_call_status(2,0,43005,43636,1104)|0);
HEAP32[9455] = $36;
}
$37 = (_GNUNET_get_log_skip()|0);
$38 = ($37|0)>(0);
if ($38) {
_GNUNET_log_skip(-1,0);
} else {
$39 = HEAP32[9455]|0;
$40 = ($39|0)==(0);
if (!($40)) {
HEAP32[$vararg_buffer6>>2] = 43005;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 1104;
_GNUNET_log_nocheck(66,43220,$vararg_buffer6);
}
}
$41 = HEAP32[$3>>2]|0;
_gcry_mpi_release($41);
$42 = HEAP32[$4>>2]|0;
_gcry_mpi_release($42);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$43 = (_gcry_mpi_new(0)|0);
$44 = HEAP32[$32>>2]|0;
$45 = HEAP32[$3>>2]|0;
$46 = (_gcry_mpi_invm($43,$44,$45)|0);
$47 = ($46|0)==(1);
if (!($47)) {
$48 = HEAP32[9456]|0;
$49 = ($48|0)==(-1);
if ($49) {
$50 = (_GNUNET_get_log_call_status(2,0,43005,43636,1118)|0);
HEAP32[9456] = $50;
}
$51 = (_GNUNET_get_log_skip()|0);
$52 = ($51|0)>(0);
if ($52) {
_GNUNET_log_skip(-1,0);
} else {
$53 = HEAP32[9456]|0;
$54 = ($53|0)==(0);
if (!($54)) {
HEAP32[$vararg_buffer10>>2] = 43005;
$vararg_ptr13 = ((($vararg_buffer10)) + 4|0);
HEAP32[$vararg_ptr13>>2] = 1118;
_GNUNET_log_nocheck(66,43220,$vararg_buffer10);
}
}
_gcry_mpi_release($43);
$55 = HEAP32[$32>>2]|0;
_gcry_mpi_release($55);
_GNUNET_xfree_($32,43005,639);
_gcry_mpi_release($45);
$56 = HEAP32[$4>>2]|0;
_gcry_mpi_release($56);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$57 = (_gcry_mpi_new(0)|0);
$58 = HEAP32[$4>>2]|0;
_gcry_mpi_mulm($57,$58,$43,$45);
_gcry_mpi_release($45);
_gcry_mpi_release($43);
_gcry_mpi_release($58);
$59 = HEAP32[$32>>2]|0;
_gcry_mpi_release($59);
_GNUNET_xfree_($32,43005,639);
$60 = (_GNUNET_xmalloc_(4,43005,1133)|0);
HEAP32[$vararg_buffer14>>2] = $57;
$61 = (_gcry_sexp_build($60,0,43662,$vararg_buffer14)|0);
$62 = ($61|0)==(0);
if ($62) {
_gcry_mpi_release($57);
$$0 = $60;
STACKTOP = sp;return ($$0|0);
}
$63 = HEAP32[9457]|0;
$64 = ($63|0)==(-1);
if ($64) {
$65 = (_GNUNET_get_log_call_status(1,0,43005,43636,1138)|0);
HEAP32[9457] = $65;
}
$66 = (_GNUNET_get_log_skip()|0);
$67 = ($66|0)>(0);
if ($67) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$68 = HEAP32[9457]|0;
$69 = ($68|0)==(0);
if ($69) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer17>>2] = 43005;
$vararg_ptr20 = ((($vararg_buffer17)) + 4|0);
HEAP32[$vararg_ptr20>>2] = 1138;
_GNUNET_log_nocheck(1,70521,$vararg_buffer17);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _GNUNET_CRYPTO_rsa_verify($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$3 = (_rsa_full_domain_hash($2,$0)|0);
$4 = ($3|0)==(0|0);
if ($4) {
$5 = HEAP32[9458]|0;
$6 = ($5|0)==(-1);
if ($6) {
$7 = (_GNUNET_get_log_call_status(2,0,43005,43685,1167)|0);
HEAP32[9458] = $7;
}
$8 = (_GNUNET_get_log_skip()|0);
$9 = ($8|0)>(0);
if ($9) {
_GNUNET_log_skip(-1,0);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$10 = HEAP32[9458]|0;
$11 = ($10|0)==(0);
if ($11) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
HEAP32[$vararg_buffer>>2] = 43005;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 1167;
_GNUNET_log_nocheck(66,43220,$vararg_buffer);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$12 = (_mpi_to_sexp($3)|0);
_gcry_mpi_release($3);
$13 = HEAP32[$1>>2]|0;
$14 = HEAP32[$2>>2]|0;
$15 = (_gcry_pk_verify($13,$12,$14)|0);
_gcry_sexp_release($12);
$16 = ($15|0)==(0);
if ($16) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$17 = HEAP32[9459]|0;
$18 = ($17|0)==(-1);
if ($18) {
$19 = (_GNUNET_get_log_call_status(2,43092,43005,43685,1190)|0);
HEAP32[9459] = $19;
}
$20 = (_GNUNET_get_log_skip()|0);
$21 = ($20|0)>(0);
if ($21) {
_GNUNET_log_skip(-1,0);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$22 = HEAP32[9459]|0;
$23 = ($22|0)==(0);
if ($23) {
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$24 = (_gcry_strerror($15)|0);
HEAP32[$vararg_buffer2>>2] = 43005;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 1189;
$vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
HEAP32[$vararg_ptr6>>2] = $24;
_GNUNET_log_from_nocheck(2,43092,43710,$vararg_buffer2);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
function _GNUNET_STRINGS_relative_time_to_string($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$0 = 0, $$036 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond38 = 0, $or$cond40 = 0, $or$cond42 = 0, $or$cond44 = 0, $or$cond46 = 0;
var $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = $0;
$3 = $2;
$4 = HEAP32[$3>>2]|0;
$5 = (($2) + 4)|0;
$6 = $5;
$7 = HEAP32[$6>>2]|0;
$8 = (_GNUNET_TIME_relative_get_forever_()|0);
$9 = tempRet0;
$10 = ($8|0)==($4|0);
$11 = ($9|0)==($7|0);
$12 = $10 & $11;
if ($12) {
$$0 = 43776;
STACKTOP = sp;return ($$0|0);
}
$13 = ($4|0)==(0);
$14 = ($7|0)==(0);
$15 = $13 & $14;
if ($15) {
$$0 = 43802;
STACKTOP = sp;return ($$0|0);
}
$16 = ($1|0)==(1);
$17 = ($7>>>0)>(0);
$18 = ($4>>>0)>(5000);
$19 = ($7|0)==(0);
$20 = $19 & $18;
$21 = $17 | $20;
$or$cond = $16 & $21;
$22 = (___udivdi3(($4|0),($7|0),1000,0)|0);
$23 = tempRet0;
$24 = (___muldi3(($22|0),($23|0),1000,0)|0);
$25 = tempRet0;
$26 = (_i64Subtract(($4|0),($7|0),($24|0),($25|0))|0);
$27 = tempRet0;
$28 = ($26|0)==(0);
$29 = ($27|0)==(0);
$30 = $28 & $29;
$or$cond38 = $or$cond | $30;
if ($or$cond38) {
$31 = ($7>>>0)>(0);
$32 = ($4>>>0)>(5000999);
$33 = ($7|0)==(0);
$34 = $33 & $32;
$35 = $31 | $34;
$or$cond3 = $16 & $35;
$36 = (___uremdi3(($22|0),($23|0),1000,0)|0);
$37 = tempRet0;
$38 = ($36|0)==(0);
$39 = ($37|0)==(0);
$40 = $38 & $39;
$or$cond40 = $or$cond3 | $40;
if ($or$cond40) {
$41 = (___udivdi3(($4|0),($7|0),1000000,0)|0);
$42 = tempRet0;
$43 = ($7>>>0)>(0);
$44 = ($4>>>0)>(300999999);
$45 = ($7|0)==(0);
$46 = $45 & $44;
$47 = $43 | $46;
$or$cond5 = $16 & $47;
$48 = (___uremdi3(($41|0),($42|0),60,0)|0);
$49 = tempRet0;
$50 = ($48|0)==(0);
$51 = ($49|0)==(0);
$52 = $50 & $51;
$or$cond42 = $or$cond5 | $52;
if ($or$cond42) {
$53 = (___udivdi3(($4|0),($7|0),60000000,0)|0);
$54 = tempRet0;
$55 = ($7>>>0)>(4);
$56 = ($4>>>0)>(880130815);
$57 = ($7|0)==(4);
$58 = $57 & $56;
$59 = $55 | $58;
$or$cond7 = $16 & $59;
$60 = (___uremdi3(($53|0),($54|0),60,0)|0);
$61 = tempRet0;
$62 = ($60|0)==(0);
$63 = ($61|0)==(0);
$64 = $62 & $63;
$or$cond44 = $or$cond7 | $64;
if ($or$cond44) {
$65 = (___udivdi3(($4|0),($7|0),-694967296,0)|0);
$66 = tempRet0;
$67 = ($7>>>0)>(101);
$68 = ($4>>>0)>(1808303103);
$69 = ($7|0)==(101);
$70 = $69 & $68;
$71 = $67 | $70;
$or$cond9 = $16 & $71;
$72 = (___uremdi3(($65|0),($66|0),24,0)|0);
$73 = tempRet0;
$74 = ($72|0)==(0);
$75 = ($73|0)==(0);
$76 = $74 & $75;
$or$cond46 = $or$cond9 | $76;
if ($or$cond46) {
$77 = (_i64Add(($4|0),($7|0),-500654080,-21)|0);
$78 = tempRet0;
$79 = ($78>>>0)<(20);
$80 = ($77>>>0)<(500654080);
$81 = ($78|0)==(20);
$82 = $81 & $80;
$83 = $79 | $82;
$$ = $83 ? 43789 : 43793;
$84 = (___udivdi3(($4|0),($7|0),500654080,20)|0);
$85 = tempRet0;
$$036 = $$;$88 = $84;$91 = $85;
} else {
$$036 = 57458;$88 = $65;$91 = $66;
}
} else {
$$036 = 43787;$88 = $53;$91 = $54;
}
} else {
$$036 = 60981;$88 = $41;$91 = $42;
}
} else {
$$036 = 43784;$88 = $22;$91 = $23;
}
} else {
$$036 = 43798;$88 = $4;$91 = $7;
}
$86 = $vararg_buffer;
$87 = $86;
HEAP32[$87>>2] = $88;
$89 = (($86) + 4)|0;
$90 = $89;
HEAP32[$90>>2] = $91;
$vararg_ptr1 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr1>>2] = $$036;
(_GNUNET_snprintf(70992,128,43768,$vararg_buffer)|0);
$$0 = 70992;
STACKTOP = sp;return ($$0|0);
}
function _GNUNET_STRINGS_data_to_string($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$0103$lcssa = 0, $$0103134 = 0, $$0105133 = 0, $$0107132 = 0, $$0109131 = 0, $$1135 = 0, $$2 = 0, $$2111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer6 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$4 = $1 << 3;
$5 = $4 | 4;
$6 = (($5>>>0) / 5)&-1;
$7 = ($6>>>0)>($3>>>0);
if ($7) {
$8 = HEAP32[9460]|0;
$9 = ($8|0)==(-1);
if ($9) {
$10 = (_GNUNET_get_log_call_status(1,0,43758,43807,914)|0);
HEAP32[9460] = $10;
}
$11 = (_GNUNET_get_log_skip()|0);
$12 = ($11|0)>(0);
if ($12) {
_GNUNET_log_skip(-1,0);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$13 = HEAP32[9460]|0;
$14 = ($13|0)==(0);
if ($14) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
HEAP32[$vararg_buffer>>2] = 43758;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 914;
_GNUNET_log_nocheck(1,43837,$vararg_buffer);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$15 = ($1|0)==(0);
L15: do {
if ($15) {
$$0103$lcssa = 0;
} else {
$16 = (($4>>>0) % 5)&-1;
$17 = (5 - ($16))|0;
$$0103134 = 0;$$0105133 = 0;$$0107132 = 0;$$0109131 = 0;$19 = 1;
while(1) {
$18 = ($$0109131>>>0)<(5);
$or$cond = $18 & $19;
if ($or$cond) {
$20 = (($$0109131) + 8)|0;
$21 = (($0) + ($$0105133)|0);
$22 = (($$0105133) + 1)|0;
$23 = $$0107132 << 8;
$24 = HEAP8[$21>>0]|0;
$25 = $24&255;
$26 = $23 | $25;
$$1135 = $22;$$2 = $26;$$2111 = $20;
} else {
$27 = ($$0109131>>>0)<(5);
if ($27) {
$28 = ($$0109131|0)==($16|0);
if (!($28)) {
label = 14;
break;
}
$36 = $$0107132 << $17;
$$1135 = $$0105133;$$2 = $36;$$2111 = 5;
} else {
$$1135 = $$0105133;$$2 = $$0107132;$$2111 = $$0109131;
}
}
$37 = ($$0103134>>>0)<($3>>>0);
if (!($37)) {
label = 23;
break;
}
$45 = (($$2111) + -5)|0;
$46 = $$2 >>> $45;
$47 = $46 & 31;
$48 = (43865 + ($47)|0);
$49 = HEAP8[$48>>0]|0;
$50 = (($$0103134) + 1)|0;
$51 = (($2) + ($$0103134)|0);
HEAP8[$51>>0] = $49;
$52 = ($$1135>>>0)<($1>>>0);
$53 = ($45|0)!=(0);
$54 = $53 | $52;
if ($54) {
$$0103134 = $50;$$0105133 = $$1135;$$0107132 = $$2;$$0109131 = $45;$19 = $52;
} else {
$$0103$lcssa = $50;
break L15;
}
}
if ((label|0) == 14) {
$29 = HEAP32[9461]|0;
$30 = ($29|0)==(-1);
if ($30) {
$31 = (_GNUNET_get_log_call_status(1,0,43758,43807,931)|0);
HEAP32[9461] = $31;
}
$32 = (_GNUNET_get_log_skip()|0);
$33 = ($32|0)>(0);
if ($33) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$34 = HEAP32[9461]|0;
$35 = ($34|0)==(0);
if ($35) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 43758;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 931;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
}
else if ((label|0) == 23) {
$38 = HEAP32[9462]|0;
$39 = ($38|0)==(-1);
if ($39) {
$40 = (_GNUNET_get_log_call_status(1,0,43758,43807,936)|0);
HEAP32[9462] = $40;
}
$41 = (_GNUNET_get_log_skip()|0);
$42 = ($41|0)>(0);
if ($42) {
_GNUNET_log_skip(-1,0);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$43 = HEAP32[9462]|0;
$44 = ($43|0)==(0);
if ($44) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
HEAP32[$vararg_buffer6>>2] = 43758;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 936;
_GNUNET_log_nocheck(1,43837,$vararg_buffer6);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
$55 = ($$0103$lcssa>>>0)<($3>>>0);
$56 = (($2) + ($$0103$lcssa)|0);
if (!($55)) {
$$0 = $56;
STACKTOP = sp;return ($$0|0);
}
HEAP8[$56>>0] = 0;
$$0 = $56;
STACKTOP = sp;return ($$0|0);
}
function _GNUNET_STRINGS_data_to_string_alloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = $1 << 3;
$3 = (($2>>>0) % 5)&-1;
$4 = ($3|0)==(0);
$5 = (5 - ($3))|0;
$6 = $4 ? 0 : $5;
$$019 = (($6) + ($2))|0;
$7 = (($$019>>>0) / 5)&-1;
$8 = (($7) + 1)|0;
$9 = (_GNUNET_xmalloc_($8,43758,970)|0);
$10 = (_GNUNET_STRINGS_data_to_string($0,$1,$9,$7)|0);
$11 = ($10|0)==(0|0);
if ($11) {
_GNUNET_xfree_($9,43758,974);
$$0 = 0;
return ($$0|0);
} else {
HEAP8[$10>>0] = 0;
$$0 = $9;
return ($$0|0);
}
return (0)|0;
}
function _GNUNET_STRINGS_string_to_data($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$ = 0, $$0 = 0, $$065 = 0, $$06787 = 0, $$070 = 0, $$072 = 0, $$075 = 0, $$076 = 0, $$1$lcssa = 0, $$168 = 0, $$17186 = 0, $$173$lcssa = 0, $$17385 = 0, $$188 = 0, $$2 = 0, $$274 = 0, $$80 = 0, $10 = 0, $11 = 0, $12 = 0;
var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0;
var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$4 = $3 << 3;
$5 = ($1|0)==(0);
if ($5) {
$6 = ($3|0)==(0);
$$ = $6 ? 1 : -1;
$$0 = $$;
STACKTOP = sp;return ($$0|0);
}
$7 = (($4>>>0) % 5)&-1;
$8 = ($7|0)==(0);
if ($8) {
$15 = (($1) + -1)|0;
$16 = (($0) + ($15)|0);
$17 = HEAP8[$16>>0]|0;
$18 = (_getValue__($17)|0);
$$065 = $15;$$070 = $18;$$072 = 5;$$075 = $18;$$076 = 0;
} else {
$9 = (5 - ($7))|0;
$10 = (($1) + -1)|0;
$11 = (($0) + ($10)|0);
$12 = HEAP8[$11>>0]|0;
$13 = (_getValue__($12)|0);
$14 = $13 >> $9;
$$065 = $10;$$070 = $14;$$072 = $7;$$075 = $13;$$076 = $9;
}
$19 = (($$076) + ($4))|0;
$20 = (($19>>>0) / 5)&-1;
$21 = ($20|0)!=($1|0);
$22 = ($$075|0)==(-1);
$or$cond = $22 | $21;
if ($or$cond) {
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$23 = ($3|0)==(0);
L12: do {
if ($23) {
$$1$lcssa = $$065;$$173$lcssa = $$072;
} else {
$$06787 = $3;$$17186 = $$070;$$17385 = $$072;$$188 = $$065;
while(1) {
$24 = ($$188|0)==(0);
if ($24) {
break;
}
$32 = (($$188) + -1)|0;
$33 = (($0) + ($32)|0);
$34 = HEAP8[$33>>0]|0;
$35 = (_getValue__($34)|0);
$36 = $35 << $$17385;
$37 = $36 | $$17186;
$38 = ($35|0)==(-1);
if ($38) {
$$0 = -1;
label = 21;
break;
}
$39 = (($$17385) + 5)|0;
$40 = ($39>>>0)>(7);
$41 = (($$06787) + -1)|0;
if ($40) {
$42 = (($$17385) + -3)|0;
$43 = $37 >>> 8;
$44 = (($2) + ($41)|0);
$45 = $37&255;
HEAP8[$44>>0] = $45;
$$168 = $41;$$2 = $43;$$274 = $42;
} else {
$$168 = $$06787;$$2 = $37;$$274 = $39;
}
$46 = ($$168|0)==(0);
if ($46) {
$$1$lcssa = $32;$$173$lcssa = $$274;
break L12;
} else {
$$06787 = $$168;$$17186 = $$2;$$17385 = $$274;$$188 = $32;
}
}
if ((label|0) == 21) {
STACKTOP = sp;return ($$0|0);
}
$25 = HEAP32[9463]|0;
$26 = ($25|0)==(-1);
if ($26) {
$27 = (_GNUNET_get_log_call_status(1,0,43758,43898,1034)|0);
HEAP32[9463] = $27;
}
$28 = (_GNUNET_get_log_skip()|0);
$29 = ($28|0)>(0);
if ($29) {
_GNUNET_log_skip(-1,0);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$30 = HEAP32[9463]|0;
$31 = ($30|0)==(0);
if ($31) {
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
HEAP32[$vararg_buffer>>2] = 43758;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 1034;
_GNUNET_log_nocheck(1,43837,$vararg_buffer);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
} while(0);
$47 = $$1$lcssa | $$173$lcssa;
$48 = ($47|0)==(0);
$$80 = $48 ? 1 : -1;
$$0 = $$80;
STACKTOP = sp;return ($$0|0);
}
function _getValue__($0) {
$0 = $0|0;
var $$021$off = 0, $$021$off31 = 0, $$023 = 0, $$122 = 0, $$122$off = 0, $$1223538 = 0, $$1223539 = 0, $$3$neg = 0, $$neg = 0, $$neg32 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $spec$select26$neg = 0, label = 0, sp = 0;
sp = STACKTOP;
L1: do {
switch ($0<<24>>24) {
case 111: case 79: {
$4 = 48;
label = 4;
break;
}
case 76: case 108: case 73: case 105: {
$4 = 49;
label = 4;
break;
}
case 85: case 117: {
$$1223539 = 86;$19 = 2;$20 = 86;
label = 9;
break;
}
default: {
$1 = $0&255;
$$021$off = (($0) + -48)<<24>>24;
$2 = ($$021$off&255)<(10);
if ($2) {
$4 = $1;
label = 4;
} else {
$$021$off31 = (($0) + -97)<<24>>24;
$5 = ($$021$off31&255)<(26);
if ($5) {
$6 = (_toupper($1)|0);
$7 = $6&255;
$$122 = $7;
} else {
$$122 = $0;
}
$$122$off = (($$122) + -65)<<24>>24;
$8 = ($$122$off&255)<(26);
if ($8) {
$9 = $$122&255;
$10 = ($$122&255)>(73);
$spec$select = $10&1;
$11 = ($$122&255)>(76);
$12 = $10 ? 2 : 1;
if ($11) {
$$1223539 = $$122;$19 = $12;$20 = $9;
label = 9;
break L1;
} else {
$$1223538 = $$122;$15 = $9;$18 = $spec$select;
break L1;
}
} else {
$$023 = -1;
return ($$023|0);
}
}
}
}
} while(0);
if ((label|0) == 4) {
$3 = (($4) + -48)|0;
$$023 = $3;
return ($$023|0);
}
else if ((label|0) == 9) {
$$1223538 = $$1223539;$15 = $20;$18 = $19;
}
$13 = ($$1223538&255)>(79);
$14 = ($$1223538&255)>(85);
$$neg = $14 << 31 >> 31;
$$neg32 = $13 << 31 >> 31;
$spec$select26$neg = (($15) + -55)|0;
$$3$neg = (($spec$select26$neg) + ($$neg32))|0;
$16 = (($$3$neg) + ($$neg))|0;
$17 = (($16) - ($18))|0;
$$023 = $17;
return ($$023|0);
}
function _GNUNET_TIME_get_offset() {
var label = 0, sp = 0;
sp = STACKTOP;
tempRet0 = (0);
return 0;
}
function _GNUNET_TIME_relative_get_forever_() {
var label = 0, sp = 0;
sp = STACKTOP;
tempRet0 = (-1);
return -1;
}
function _GNUNET_TIME_absolute_get() {
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$0 = sp;
(_gettimeofday(($0|0),(0|0))|0);
$1 = HEAP32[$0>>2]|0;
$2 = ($1|0)<(0);
$3 = $2 << 31 >> 31;
$4 = (___muldi3(($1|0),($3|0),1000000,0)|0);
$5 = tempRet0;
$6 = ((($0)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)<(0);
$9 = $8 << 31 >> 31;
$10 = (_i64Add(($4|0),($5|0),($7|0),($9|0))|0);
$11 = tempRet0;
$12 = (_i64Add(($10|0),($11|0),0,0)|0);
$13 = tempRet0;
tempRet0 = ($13);
STACKTOP = sp;return ($12|0);
}
function _GNUNET_TIME_absolute_get_duration($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
(_gettimeofday(($1|0),(0|0))|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)<(0);
$4 = $3 << 31 >> 31;
$5 = (___muldi3(($2|0),($4|0),1000000,0)|0);
$6 = tempRet0;
$7 = ((($1)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)<(0);
$10 = $9 << 31 >> 31;
$11 = (_i64Add(($5|0),($6|0),($8|0),($10|0))|0);
$12 = tempRet0;
$13 = (_i64Add(($11|0),($12|0),0,0)|0);
$14 = tempRet0;
$15 = $0;
$16 = $15;
$17 = HEAP32[$16>>2]|0;
$18 = (($15) + 4)|0;
$19 = $18;
$20 = HEAP32[$19>>2]|0;
$21 = ($14>>>0)<($20>>>0);
$22 = ($13>>>0)<($17>>>0);
$23 = ($14|0)==($20|0);
$24 = $23 & $22;
$25 = $21 | $24;
$26 = (_i64Subtract(($13|0),($14|0),($17|0),($20|0))|0);
$27 = tempRet0;
$28 = $25 ? 0 : $26;
$29 = $25 ? 0 : $27;
tempRet0 = ($29);
STACKTOP = sp;return ($28|0);
}
function _GNUNET_htonll($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_htonl($0)|0);
$3 = (_htonl($1)|0);
tempRet0 = ($2);
return ($3|0);
}
function _GNUNET_ntohll($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_ntohl($0)|0);
$3 = (_ntohl($1)|0);
tempRet0 = ($2);
return ($3|0);
}
function _gcry_strerror($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_gpg_strerror($0)|0);
return ($1|0);
}
function _gcry_check_version($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_check_version($0)|0);
return ($1|0);
}
function _gcry_control($0,$varargs) {
$0 = $0|0;
$varargs = $varargs|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
HEAP32[$1>>2] = $varargs;
$2 = (__gcry_vcontrol($0,$1)|0);
$3 = ($2|0)==(0);
$4 = $2 & 65535;
$5 = $4 | 16777216;
$spec$select$i$i = $3 ? 0 : $5;
STACKTOP = sp;return ($spec$select$i$i|0);
}
function _gcry_sexp_new($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (__gcry_sexp_new($0,$1,$2,$3)|0);
$5 = ($4|0)==(0);
$6 = $4 & 65535;
$7 = $6 | 16777216;
$spec$select$i$i = $5 ? 0 : $7;
return ($spec$select$i$i|0);
}
function _gcry_sexp_build($0,$1,$2,$varargs) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$varargs = $varargs|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
HEAP32[$3>>2] = $varargs;
$4 = (__gcry_sexp_vbuild($0,$1,$2,$3)|0);
$5 = ($4|0)==(0);
$6 = $4 & 65535;
$7 = $6 | 16777216;
$spec$select$i$i = $5 ? 0 : $7;
STACKTOP = sp;return ($spec$select$i$i|0);
}
function _gcry_sexp_release($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_sexp_release($0);
return;
}
function _gcry_sexp_sprint($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (__gcry_sexp_sprint($0,$1,$2,$3)|0);
return ($4|0);
}
function _gcry_sexp_find_token($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_sexp_find_token($0,$1,$2)|0);
return ($3|0);
}
function _gcry_sexp_cadr($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_sexp_cadr($0)|0);
return ($1|0);
}
function _gcry_sexp_nth_mpi($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_sexp_nth_mpi($0,$1,$2)|0);
return ($3|0);
}
function _gcry_mpi_new($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_mpi_new($0)|0);
return ($1|0);
}
function _gcry_mpi_release($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_release($0);
return;
}
function _gcry_mpi_cmp($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_mpi_cmp($0,$1)|0);
return ($2|0);
}
function _gcry_mpi_scan($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = (__gcry_mpi_scan($0,$1,$2,$3,$4)|0);
$6 = ($5|0)==(0);
$7 = $5 & 65535;
$8 = $7 | 16777216;
$spec$select$i$i = $6 ? 0 : $8;
return ($spec$select$i$i|0);
}
function _gcry_mpi_print($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = (__gcry_mpi_print($0,$1,$2,$3,$4)|0);
$6 = ($5|0)==(0);
$7 = $5 & 65535;
$8 = $7 | 16777216;
$spec$select$i$i = $6 ? 0 : $8;
return ($spec$select$i$i|0);
}
function _gcry_mpi_mulm($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_mulm($0,$1,$2,$3);
return;
}
function _gcry_mpi_powm($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_powm($0,$1,$2,$3);
return;
}
function _gcry_mpi_gcd($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_mpi_gcd($0,$1,$2)|0);
return ($3|0);
}
function _gcry_mpi_invm($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_mpi_invm($0,$1,$2)|0);
return ($3|0);
}
function _gcry_mpi_point_new($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_mpi_point_new($0)|0);
return ($1|0);
}
function _gcry_mpi_point_release($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_point_release($0);
return;
}
function _gcry_mpi_ec_new($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_mpi_ec_new($0,$1,$2)|0);
$4 = ($3|0)==(0);
$5 = $3 & 65535;
$6 = $5 | 16777216;
$spec$select$i$i = $4 ? 0 : $6;
return ($spec$select$i$i|0);
}
function _gcry_mpi_ec_get_mpi($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_mpi_ec_get_mpi($0,$1,$2)|0);
return ($3|0);
}
function _gcry_mpi_ec_get_point($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_mpi_ec_get_point($0,$1,$2)|0);
return ($3|0);
}
function _gcry_mpi_ec_get_affine($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (__gcry_ctx_get_pointer($3,1)|0);
$5 = (__gcry_mpi_ec_get_affine($0,$1,$2,$4)|0);
return ($5|0);
}
function _gcry_mpi_ec_mul($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (__gcry_ctx_get_pointer($3,1)|0);
__gcry_mpi_ec_mul_point($0,$1,$2,$4);
return;
}
function _gcry_mpi_get_nbits($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_mpi_get_nbits($0)|0);
return ($1|0);
}
function _gcry_mpi_test_bit($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_mpi_test_bit($0,$1)|0);
return ($2|0);
}
function _gcry_mpi_clear_highbit($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_clear_highbit($0,$1);
return;
}
function _gcry_mpi_get_opaque($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_mpi_get_opaque($0,$1)|0);
return ($2|0);
}
function _gcry_mpi_get_flag($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_mpi_get_flag($0,$1)|0);
return ($2|0);
}
function _gcry_cipher_open($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (__gcry_global_is_operational()|0);
$5 = ($4|0)==(0);
if ($5) {
HEAP32[$0>>2] = 0;
$$0 = 16777392;
return ($$0|0);
} else {
$6 = (__gcry_cipher_open($0,$1,$2,$3)|0);
$7 = ($6|0)==(0);
$8 = $6 & 65535;
$9 = $8 | 16777216;
$spec$select$i$i = $7 ? 0 : $9;
$$0 = $spec$select$i$i;
return ($$0|0);
}
return (0)|0;
}
function _gcry_cipher_close($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_cipher_close($0);
return;
}
function _gcry_cipher_setkey($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_global_is_operational()|0);
$4 = ($3|0)==(0);
if ($4) {
$$0 = 16777392;
return ($$0|0);
}
$5 = (__gcry_cipher_setkey($0,$1,$2)|0);
$6 = ($5|0)==(0);
$7 = $5 & 65535;
$8 = $7 | 536870912;
$spec$select$i$i$i = $6 ? 0 : $8;
$$0 = $spec$select$i$i$i;
return ($$0|0);
}
function _gcry_cipher_setiv($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_global_is_operational()|0);
$4 = ($3|0)==(0);
if ($4) {
$$0 = 16777392;
return ($$0|0);
}
$5 = (__gcry_cipher_setiv($0,$1,$2)|0);
$6 = ($5|0)==(0);
$7 = $5 & 65535;
$8 = $7 | 536870912;
$spec$select$i$i$i = $6 ? 0 : $8;
$$0 = $spec$select$i$i$i;
return ($$0|0);
}
function _gcry_cipher_encrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = (__gcry_global_is_operational()|0);
$6 = ($5|0)==(0);
if (!($6)) {
$8 = (__gcry_cipher_encrypt($0,$1,$2,$3,$4)|0);
$9 = ($8|0)==(0);
$10 = $8 & 65535;
$11 = $10 | 16777216;
$spec$select$i$i = $9 ? 0 : $11;
$$0 = $spec$select$i$i;
return ($$0|0);
}
$7 = ($1|0)==(0|0);
if ($7) {
$$0 = 16777392;
return ($$0|0);
}
_memset(($1|0),66,($2|0))|0;
$$0 = 16777392;
return ($$0|0);
}
function _gcry_cipher_decrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = (__gcry_global_is_operational()|0);
$6 = ($5|0)==(0);
if ($6) {
$$0 = 16777392;
return ($$0|0);
}
$7 = (__gcry_cipher_decrypt($0,$1,$2,$3,$4)|0);
$8 = ($7|0)==(0);
$9 = $7 & 65535;
$10 = $9 | 16777216;
$spec$select$i$i = $8 ? 0 : $10;
$$0 = $spec$select$i$i;
return ($$0|0);
}
function _gcry_pk_sign($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_global_is_operational()|0);
$4 = ($3|0)==(0);
if ($4) {
HEAP32[$0>>2] = 0;
$$0 = 16777392;
return ($$0|0);
} else {
$5 = (__gcry_pk_sign($0,$1,$2)|0);
$6 = ($5|0)==(0);
$7 = $5 & 65535;
$8 = $7 | 16777216;
$spec$select$i$i = $6 ? 0 : $8;
$$0 = $spec$select$i$i;
return ($$0|0);
}
return (0)|0;
}
function _gcry_pk_verify($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_global_is_operational()|0);
$4 = ($3|0)==(0);
if ($4) {
$$0 = 16777392;
return ($$0|0);
}
$5 = (__gcry_pk_verify($0,$1,$2)|0);
$6 = ($5|0)==(0);
$7 = $5 & 65535;
$8 = $7 | 16777216;
$spec$select$i$i = $6 ? 0 : $8;
$$0 = $spec$select$i$i;
return ($$0|0);
}
function _gcry_pk_testkey($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_global_is_operational()|0);
$2 = ($1|0)==(0);
if ($2) {
$$0 = 16777392;
return ($$0|0);
}
$3 = (__gcry_pk_testkey($0)|0);
$4 = ($3|0)==(0);
$5 = $3 & 65535;
$6 = $5 | 16777216;
$spec$select$i$i = $4 ? 0 : $6;
$$0 = $spec$select$i$i;
return ($$0|0);
}
function _gcry_pk_genkey($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_global_is_operational()|0);
$3 = ($2|0)==(0);
if ($3) {
HEAP32[$0>>2] = 0;
$$0 = 16777392;
return ($$0|0);
} else {
$4 = (__gcry_pk_genkey($0,$1)|0);
$5 = ($4|0)==(0);
$6 = $4 & 65535;
$7 = $6 | 16777216;
$spec$select$i$i = $5 ? 0 : $7;
$$0 = $spec$select$i$i;
return ($$0|0);
}
return (0)|0;
}
function _gcry_md_open($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_global_is_operational()|0);
$4 = ($3|0)==(0);
if ($4) {
HEAP32[$0>>2] = 0;
$$0 = 16777392;
return ($$0|0);
} else {
$5 = (__gcry_md_open($0,$1,$2)|0);
$6 = ($5|0)==(0);
$7 = $5 & 65535;
$8 = $7 | 16777216;
$spec$select$i$i = $6 ? 0 : $8;
$$0 = $spec$select$i$i;
return ($$0|0);
}
return (0)|0;
}
function _gcry_md_close($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_md_close($0);
return;
}
function _gcry_md_reset($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_md_reset($0);
return;
}
function _gcry_md_write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_global_is_operational()|0);
$4 = ($3|0)==(0);
if ($4) {
return;
}
__gcry_md_write($0,$1,$2);
return;
}
function _gcry_md_read($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_md_read($0,$1)|0);
return ($2|0);
}
function _gcry_md_hash_buffer($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (__gcry_global_is_operational()|0);
$5 = ($4|0)==(0);
if ($5) {
__gcry_fips_signal_error(43928,1175,43941,0,43961);
}
__gcry_md_hash_buffer($0,$1,$2,$3);
return;
}
function _gcry_md_get_algo($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_global_is_operational()|0);
$2 = ($1|0)==(0);
if ($2) {
__gcry_fips_signal_error(43928,1198,43993,0,44010);
$$0 = 0;
return ($$0|0);
} else {
$3 = (__gcry_md_get_algo($0)|0);
$$0 = $3;
return ($$0|0);
}
return (0)|0;
}
function _gcry_md_get_algo_dlen($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_md_get_algo_dlen($0)|0);
return ($1|0);
}
function _gcry_md_setkey($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_global_is_operational()|0);
$4 = ($3|0)==(0);
if ($4) {
$$0 = 16777392;
return ($$0|0);
}
$5 = (__gcry_md_setkey($0,$1,$2)|0);
$6 = ($5|0)==(0);
$7 = $5 & 65535;
$8 = $7 | 16777216;
$spec$select$i$i = $6 ? 0 : $8;
$$0 = $spec$select$i$i;
return ($$0|0);
}
function _gcry_randomize($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_global_is_operational()|0);
$4 = ($3|0)==(0);
if ($4) {
__gcry_fips_signal_error(43928,1287,44040,1,43961);
__gcry_fips_noreturn();
// unreachable;
} else {
__gcry_randomize($0,$1,$2);
return;
}
}
function _gcry_create_nonce($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_global_is_operational()|0);
$3 = ($2|0)==(0);
if ($3) {
__gcry_fips_signal_error(43928,1340,44055,1,43961);
__gcry_fips_noreturn();
// unreachable;
} else {
__gcry_create_nonce($0,$1);
return;
}
}
function _gcry_ctx_release($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_ctx_release($0);
return;
}
function _gcry_set_progress_handler($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_set_progress_handler($0,$1);
return;
}
function _gcry_set_allocation_handler($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_set_allocation_handler($0,$1,$2,$3,$4);
return;
}
function _gcry_set_fatalerror_handler($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_set_fatalerror_handler($0,$1);
return;
}
function _gcry_free($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_free($0);
return;
}
function __gcry_gettext($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return ($0|0);
}
function __gcry_set_fatalerror_handler($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
HEAP32[18080] = $1;
HEAP32[18081] = $0;
return;
}
function __gcry_fatal_error($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($1|0)==(0|0);
if ($2) {
$3 = (_gpg_strerror($0)|0);
$$0 = $3;
} else {
$$0 = $1;
}
$4 = HEAP32[18081]|0;
$5 = ($4|0)==(0|0);
if (!($5)) {
$6 = (__gcry_fips_mode()|0);
$7 = ($6|0)==(0);
if ($7) {
$8 = HEAP32[18081]|0;
$9 = HEAP32[18080]|0;
FUNCTION_TABLE_viii[$8 & 127]($9,$0,$$0);
}
}
__gcry_fips_signal_error(44073,86,44080,1,$$0);
_write2stderr(44098);
_write2stderr($$0);
_write2stderr(44529);
__gcry_secmem_term();
_abort();
// unreachable;
}
function _write2stderr($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_strlen($0)|0);
(_write(2,$0,$1)|0);
return;
}
function __gcry_set_log_verbosity($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
HEAP32[18082] = $0;
return;
}
function __gcry_log_verbosity($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[18082]|0;
$2 = ($1|0)>=($0|0);
$3 = $2&1;
return ($3|0);
}
function __gcry_logv($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
switch ($0|0) {
case 30: case 20: case 10: case 0: {
break;
}
case 40: {
$3 = HEAP32[10138]|0;
(_fwrite(44113,7,1,$3)|0);
break;
}
case 50: {
$4 = HEAP32[10138]|0;
(_fwrite(44121,13,1,$4)|0);
break;
}
case 100: {
$5 = HEAP32[10138]|0;
(_fwrite(44135,5,1,$5)|0);
break;
}
default: {
$6 = HEAP32[10138]|0;
HEAP32[$vararg_buffer>>2] = $0;
(_fprintf($6,44141,$vararg_buffer)|0);
}
}
$7 = HEAP32[10138]|0;
(_vfprintf($7,$1,$2)|0);
switch ($0|0) {
case 40: case 50: {
__gcry_fips_signal_error(44073,140,44166,1,44177);
__gcry_secmem_term();
_abort();
// unreachable;
break;
}
default: {
STACKTOP = sp;return;
}
}
}
function __gcry_log($0,$1,$varargs) {
$0 = $0|0;
$1 = $1|0;
$varargs = $varargs|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
HEAP32[$2>>2] = $varargs;
__gcry_logv($0,$1,$2);
STACKTOP = sp;return;
}
function __gcry_bug($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $1;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $2;
__gcry_log(50,44207,$vararg_buffer);
_abort();
// unreachable;
}
function __gcry_assert_failed($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $1;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $2;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $3;
__gcry_log(50,44237,$vararg_buffer);
_abort();
// unreachable;
}
function __gcry_log_info($0,$varargs) {
$0 = $0|0;
$varargs = $varargs|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
HEAP32[$1>>2] = $varargs;
$2 = HEAP32[10138]|0;
(_vfprintf($2,$0,$1)|0);
STACKTOP = sp;return;
}
function __gcry_log_info_with_dummy_fp($0,$1,$varargs) {
$0 = $0|0;
$1 = $1|0;
$varargs = $varargs|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
HEAP32[$2>>2] = $varargs;
$3 = HEAP32[10138]|0;
(_vfprintf($3,$1,$2)|0);
STACKTOP = sp;return 0;
}
function __gcry_log_error($0,$varargs) {
$0 = $0|0;
$varargs = $varargs|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
HEAP32[$1>>2] = $varargs;
$2 = HEAP32[10138]|0;
(_vfprintf($2,$0,$1)|0);
STACKTOP = sp;return;
}
function __gcry_log_fatal($0,$varargs) {
$0 = $0|0;
$varargs = $varargs|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
HEAP32[$1>>2] = $varargs;
__gcry_logv(40,$0,$1);
_abort();
// unreachable;
}
function __gcry_log_bug($0,$varargs) {
$0 = $0|0;
$varargs = $varargs|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
HEAP32[$1>>2] = $varargs;
__gcry_logv(50,$0,$1);
_abort();
// unreachable;
}
function __gcry_log_debug($0,$varargs) {
$0 = $0|0;
$varargs = $varargs|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
HEAP32[$1>>2] = $varargs;
$2 = HEAP32[10138]|0;
(_fwrite(44135,5,1,$2)|0);
(_vfprintf($2,$0,$1)|0);
STACKTOP = sp;return;
}
function __gcry_log_printf($0,$varargs) {
$0 = $0|0;
$varargs = $varargs|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
$2 = ($0|0)==(0|0);
if ($2) {
STACKTOP = sp;return;
}
HEAP32[$1>>2] = $varargs;
$3 = HEAP32[10138]|0;
(_vfprintf($3,$0,$1)|0);
STACKTOP = sp;return;
}
function __gcry_log_printhex($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var label = 0, sp = 0;
sp = STACKTOP;
_do_printhex($0,44271,$1,$2);
return;
}
function _do_printhex($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$02834 = 0, $$029 = 0, $$0313237 = 0, $$035 = 0, $$035$us = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0;
var $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer16 = 0, $vararg_buffer2 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr19 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$vararg_buffer22 = sp + 64|0;
$vararg_buffer16 = sp + 48|0;
$vararg_buffer14 = sp + 40|0;
$vararg_buffer11 = sp + 32|0;
$vararg_buffer8 = sp + 24|0;
$vararg_buffer4 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$4 = ($0|0)!=(0|0);
if ($4) {
$5 = HEAP8[$0>>0]|0;
$6 = ($5<<24>>24)==(0);
if ($6) {
$$029 = 0;
label = 5;
} else {
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $1;
__gcry_log_debug(44273,$vararg_buffer);
$7 = ((($1)) + 1|0);
$8 = HEAP8[$7>>0]|0;
$9 = ($8<<24>>24)==(91);
$10 = ($3|0)!=(0);
$or$cond = $10 & $9;
$11 = ($2|0)!=(0|0);
$or$cond3 = $11 & $or$cond;
if ($or$cond3) {
__gcry_log_printf(44529,$vararg_buffer2);
$12 = (_strlen($0)|0);
HEAP32[$vararg_buffer4>>2] = $12;
$vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
HEAP32[$vararg_ptr7>>2] = 73338;
__gcry_log_debug(44279,$vararg_buffer4);
$13 = (($3) + -1)|0;
$$0313237 = 44271;$34 = $13;
label = 9;
} else {
$$029 = 1;
label = 5;
}
}
} else {
$$029 = 0;
label = 5;
}
if ((label|0) == 5) {
$14 = ($3|0)==(0);
if (!($14)) {
$15 = (($3) + -1)|0;
$16 = ($$029|0)==(0);
if ($16) {
$$035$us = $2;$21 = $15;
while(1) {
$17 = HEAP8[$$035$us>>0]|0;
$18 = $17&255;
HEAP32[$vararg_buffer8>>2] = $18;
__gcry_log_printf(44285,$vararg_buffer8);
$19 = ((($$035$us)) + 1|0);
$20 = (($21) + -1)|0;
$22 = ($21|0)==(0);
if ($22) {
break;
} else {
$$035$us = $19;$21 = $20;
}
}
} else {
$$0313237 = $1;$34 = $15;
label = 9;
}
}
}
if ((label|0) == 9) {
$$02834 = 0;$$035 = $2;$28 = $34;
while(1) {
$23 = HEAP8[$$035>>0]|0;
$24 = $23&255;
HEAP32[$vararg_buffer11>>2] = $24;
__gcry_log_printf(44285,$vararg_buffer11);
$25 = (($$02834) + 1)|0;
$26 = ($25|0)==(32);
$27 = ($28|0)!=(0);
$or$cond5 = $27 & $26;
if ($or$cond5) {
__gcry_log_printf(44290,$vararg_buffer14);
$29 = (_strlen($0)|0);
$30 = (_strlen($$0313237)|0);
HEAP32[$vararg_buffer16>>2] = $29;
$vararg_ptr19 = ((($vararg_buffer16)) + 4|0);
HEAP32[$vararg_ptr19>>2] = 73338;
$vararg_ptr20 = ((($vararg_buffer16)) + 8|0);
HEAP32[$vararg_ptr20>>2] = $30;
$vararg_ptr21 = ((($vararg_buffer16)) + 12|0);
HEAP32[$vararg_ptr21>>2] = 73338;
__gcry_log_debug(44294,$vararg_buffer16);
$$1 = 0;
} else {
$$1 = $25;
}
$31 = ((($$035)) + 1|0);
$32 = (($28) + -1)|0;
$33 = ($28|0)==(0);
if ($33) {
break;
} else {
$$02834 = $$1;$$035 = $31;$28 = $32;
}
}
}
if (!($4)) {
STACKTOP = sp;return;
}
__gcry_log_printf(44529,$vararg_buffer22);
STACKTOP = sp;return;
}
function __gcry_log_printmpi($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$vararg_buffer11 = sp + 64|0;
$vararg_buffer7 = sp + 56|0;
$vararg_buffer4 = sp + 48|0;
$vararg_buffer2 = sp + 40|0;
$vararg_buffer = sp + 32|0;
$2 = sp + 76|0;
$3 = sp + 72|0;
$4 = sp + 68|0;
$5 = sp;
$6 = ($1|0)==(0|0);
if ($6) {
$7 = ($0|0)==(0|0);
$8 = $7 ? 44271 : $0;
$9 = HEAP8[$8>>0]|0;
$10 = ($9<<24>>24)==(0);
if (!($10)) {
HEAP32[$vararg_buffer>>2] = $8;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 44302;
__gcry_log_debug(44273,$vararg_buffer);
}
__gcry_log_printf(44529,$vararg_buffer2);
STACKTOP = sp;return;
}
$11 = ((($1)) + 12|0);
$12 = HEAP32[$11>>2]|0;
$13 = $12 & 4;
$14 = ($13|0)==(0);
if (!($14)) {
$15 = (__gcry_mpi_get_opaque($1,$4)|0);
$16 = HEAP32[$4>>2]|0;
HEAP32[$vararg_buffer4>>2] = $16;
(_snprintf($5,30,44310,$vararg_buffer4)|0);
$17 = ($0|0)==(0|0);
$18 = $17 ? 44271 : $0;
$19 = HEAP32[$4>>2]|0;
$20 = (($19) + 7)|0;
$21 = $20 >>> 3;
_do_printhex($18,$5,$15,$21);
STACKTOP = sp;return;
}
$22 = (__gcry_mpi_get_buffer($1,0,$2,$3)|0);
$23 = ($22|0)==(0|0);
if ($23) {
$24 = ($0|0)==(0|0);
$25 = $24 ? 44271 : $0;
$26 = HEAP8[$25>>0]|0;
$27 = ($26<<24>>24)==(0);
if (!($27)) {
HEAP32[$vararg_buffer7>>2] = $25;
$vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
HEAP32[$vararg_ptr10>>2] = 44320;
__gcry_log_debug(44273,$vararg_buffer7);
}
__gcry_log_printf(44529,$vararg_buffer11);
STACKTOP = sp;return;
}
$28 = HEAP32[$2>>2]|0;
$29 = ($28|0)==(0);
$30 = HEAP32[$3>>2]|0;
$31 = ($30|0)==(0);
$32 = $31 ? 44335 : 44337;
if ($29) {
_do_printhex($0,$32,73338,1);
} else {
_do_printhex($0,$32,$22,$28);
}
__gcry_free($22);
STACKTOP = sp;return;
}
function ___gcry_burn_stack($0) {
$0 = $0|0;
var $$1 = 0, $$135 = 0, $$alloca_mul = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0);
$2 = $1&1;
$3 = (($0) + 63)|0;
$4 = (($3) + ($2))|0;
$5 = $4 & -64;
$$alloca_mul = $5;
$6 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
$7 = ($5|0)==(0);
if ($7) {
STACKTOP = sp;return;
}
$$1 = $6;$$135 = $5;
while(1) {
$8 = $$1;
$9 = $8;
HEAP32[$9>>2] = 0;
$10 = (($8) + 4)|0;
$11 = $10;
HEAP32[$11>>2] = 0;
$12 = (($$135) + -8)|0;
$13 = ((($$1)) + 8|0);
$14 = ($12|0)==(0);
if ($14) {
break;
} else {
$$1 = $13;$$135 = $12;
}
}
STACKTOP = sp;return;
}
function ___gcry_burn_stack_dummy() {
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function __gcry_divide_by_zero() {
var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
_gpg_err_set_errno(33);
$0 = (___errno_location()|0);
$1 = HEAP32[$0>>2]|0;
$2 = (_gpg_err_code_from_errno($1)|0);
__gcry_fatal_error($2,44339);
// unreachable;
}
function __gcry_global_is_operational() {
var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[18083]|0;
$1 = ($0|0)==(0);
if ($1) {
_global_init();
}
$2 = (__gcry_fips_is_operational()|0);
return ($2|0);
}
function _global_init() {
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[18083]|0;
$1 = ($0|0)==(0);
if (!($1)) {
return;
}
HEAP32[18083] = 1;
__gcry_set_preferred_rng_type(0);
$2 = HEAP32[18084]|0;
__gcry_initialize_fips_mode($2);
__gcry_detect_hw_features();
$3 = (__gcry_cipher_init()|0);
$4 = ($3|0)==(0);
if ($4) {
$5 = (__gcry_md_init()|0);
$6 = ($5|0)==(0);
if ($6) {
$7 = (__gcry_pk_init()|0);
$8 = ($7|0)==(0);
if ($8) {
$9 = (__gcry_primegen_init()|0);
$10 = ($9|0)==(0);
if ($10) {
$11 = (__gcry_secmem_module_init()|0);
$12 = ($11|0)==(0);
if ($12) {
$13 = (__gcry_mpi_init()|0);
$14 = ($13|0)==(0);
if ($14) {
return;
}
}
}
}
}
}
__gcry_bug(44354,123,44363);
// unreachable;
}
function __gcry_check_version($0) {
$0 = $0|0;
var $$0 = 0, $$01217$i$i29 = 0, $$01217$i44 = 0, $$01217$i59 = 0, $$018$i$i28 = 0, $$018$i43 = 0, $$018$i58 = 0, $$096 = 0, $$194 = 0, $$2 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit$i$i31 = 0, $isdigit$i46 = 0, $isdigit$i61 = 0, $isdigit14$i$i = 0, $isdigit14$i37 = 0, $isdigit14$i52 = 0, $isdigit16$i$i = 0, $isdigit16$i39 = 0, $isdigit16$i54 = 0, $isdigittmp$i$i30 = 0, $isdigittmp$i45 = 0, $isdigittmp$i60 = 0, $isdigittmp13$i$i = 0, $isdigittmp13$i36 = 0;
var $isdigittmp13$i51 = 0, $isdigittmp15$i$i = 0, $isdigittmp15$i38 = 0, $isdigittmp15$i53 = 0, $isdigittmp19$i$i27 = 0, $isdigittmp19$i42 = 0, $isdigittmp19$i57 = 0, $or$cond108 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
_global_init();
$$0 = 44375;
return ($$0|0);
}
$2 = HEAP8[$0>>0]|0;
$3 = ($2<<24>>24)==(1);
if ($3) {
$4 = ((($0)) + 1|0);
$5 = HEAP8[$4>>0]|0;
$6 = ($5<<24>>24)==(1);
if ($6) {
$7 = (__gcry_compat_identification()|0);
$$0 = $7;
return ($$0|0);
}
}
_global_init();
$8 = HEAP8[$0>>0]|0;
$9 = ($8<<24>>24)==(48);
if ($9) {
$10 = ((($0)) + 1|0);
$11 = HEAP8[$10>>0]|0;
$12 = $11 << 24 >> 24;
$isdigittmp13$i$i = (($12) + -48)|0;
$isdigit14$i$i = ($isdigittmp13$i$i>>>0)<(10);
if ($isdigit14$i$i) {
$$0 = 0;
return ($$0|0);
}
}
$13 = $8 << 24 >> 24;
$isdigittmp15$i$i = (($13) + -48)|0;
$isdigit16$i$i = ($isdigittmp15$i$i>>>0)<(10);
if ($isdigit16$i$i) {
$$01217$i$i29 = $0;$$018$i$i28 = 0;$isdigittmp19$i$i27 = $isdigittmp15$i$i;
while(1) {
$14 = ($$018$i$i28*10)|0;
$15 = (($14) + ($isdigittmp19$i$i27))|0;
$16 = ((($$01217$i$i29)) + 1|0);
$17 = HEAP8[$16>>0]|0;
$18 = $17 << 24 >> 24;
$isdigittmp$i$i30 = (($18) + -48)|0;
$isdigit$i$i31 = ($isdigittmp$i$i30>>>0)<(10);
if ($isdigit$i$i31) {
$$01217$i$i29 = $16;$$018$i$i28 = $15;$isdigittmp19$i$i27 = $isdigittmp$i$i30;
} else {
break;
}
}
$19 = ($15|0)<(0);
if ($19) {
$$0 = 0;
return ($$0|0);
} else {
$$096 = $15;$21 = $17;$23 = $16;
}
} else {
$$096 = 0;$21 = $8;$23 = $0;
}
$20 = ($21<<24>>24)==(46);
if (!($20)) {
$$0 = 0;
return ($$0|0);
}
$22 = ((($23)) + 1|0);
$24 = HEAP8[$22>>0]|0;
$25 = ($24<<24>>24)==(48);
if ($25) {
$26 = ((($23)) + 2|0);
$27 = HEAP8[$26>>0]|0;
$28 = $27 << 24 >> 24;
$isdigittmp13$i36 = (($28) + -48)|0;
$isdigit14$i37 = ($isdigittmp13$i36>>>0)<(10);
if ($isdigit14$i37) {
$$0 = 0;
return ($$0|0);
}
}
$29 = $24 << 24 >> 24;
$isdigittmp15$i38 = (($29) + -48)|0;
$isdigit16$i39 = ($isdigittmp15$i38>>>0)<(10);
if ($isdigit16$i39) {
$$01217$i44 = $22;$$018$i43 = 0;$isdigittmp19$i42 = $isdigittmp15$i38;
while(1) {
$30 = ($$018$i43*10)|0;
$31 = (($30) + ($isdigittmp19$i42))|0;
$32 = ((($$01217$i44)) + 1|0);
$33 = HEAP8[$32>>0]|0;
$34 = $33 << 24 >> 24;
$isdigittmp$i45 = (($34) + -48)|0;
$isdigit$i46 = ($isdigittmp$i45>>>0)<(10);
if ($isdigit$i46) {
$$01217$i44 = $32;$$018$i43 = $31;$isdigittmp19$i42 = $isdigittmp$i45;
} else {
break;
}
}
$35 = ($31|0)<(0);
if ($35) {
$$0 = 0;
return ($$0|0);
} else {
$$194 = $31;$37 = $33;$39 = $32;
}
} else {
$$194 = 0;$37 = $24;$39 = $22;
}
$36 = ($37<<24>>24)==(46);
if (!($36)) {
$$0 = 0;
return ($$0|0);
}
$38 = ((($39)) + 1|0);
$40 = HEAP8[$38>>0]|0;
$41 = ($40<<24>>24)==(48);
if ($41) {
$42 = ((($39)) + 2|0);
$43 = HEAP8[$42>>0]|0;
$44 = $43 << 24 >> 24;
$isdigittmp13$i51 = (($44) + -48)|0;
$isdigit14$i52 = ($isdigittmp13$i51>>>0)<(10);
if ($isdigit14$i52) {
$$0 = 0;
return ($$0|0);
}
}
$45 = $40 << 24 >> 24;
$isdigittmp15$i53 = (($45) + -48)|0;
$isdigit16$i54 = ($isdigittmp15$i53>>>0)<(10);
if ($isdigit16$i54) {
$$01217$i59 = $38;$$018$i58 = 0;$isdigittmp19$i57 = $isdigittmp15$i53;
while(1) {
$46 = ($$018$i58*10)|0;
$47 = (($46) + ($isdigittmp19$i57))|0;
$48 = ((($$01217$i59)) + 1|0);
$49 = HEAP8[$48>>0]|0;
$50 = $49 << 24 >> 24;
$isdigittmp$i60 = (($50) + -48)|0;
$isdigit$i61 = ($isdigittmp$i60>>>0)<(10);
if ($isdigit$i61) {
$$01217$i59 = $48;$$018$i58 = $47;$isdigittmp19$i57 = $isdigittmp$i60;
} else {
break;
}
}
$51 = ($47|0)<(0);
if ($51) {
$$0 = 0;
return ($$0|0);
} else {
$$2 = $47;
}
} else {
$$2 = 0;
}
$52 = ($$096|0)<(1);
if ($52) {
$$0 = 44375;
return ($$0|0);
}
$53 = ($$096|0)==(1);
if ($53) {
$54 = ($$194|0)<(7);
if ($54) {
$$0 = 44375;
return ($$0|0);
}
$55 = ($$194|0)==(7);
$56 = ($$2|0)==(0);
$or$cond108 = $55 & $56;
if ($or$cond108) {
$$0 = 44375;
return ($$0|0);
}
}
$$0 = 0;
return ($$0|0);
}
function __gcry_vcontrol($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$i = 0, $$03536$i = 0, $$2 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0;
var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0;
var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current101 = 0, $arglist_current104 = 0, $arglist_current107 = 0, $arglist_current11 = 0, $arglist_current110 = 0, $arglist_current14 = 0, $arglist_current17 = 0, $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current5 = 0, $arglist_current65 = 0, $arglist_current68 = 0, $arglist_current71 = 0, $arglist_current74 = 0;
var $arglist_current77 = 0, $arglist_current8 = 0, $arglist_current80 = 0, $arglist_current83 = 0, $arglist_current86 = 0, $arglist_current89 = 0, $arglist_current92 = 0, $arglist_current95 = 0, $arglist_current98 = 0, $arglist_next = 0, $arglist_next102 = 0, $arglist_next105 = 0, $arglist_next108 = 0, $arglist_next111 = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next3 = 0, $arglist_next6 = 0;
var $arglist_next66 = 0, $arglist_next69 = 0, $arglist_next72 = 0, $arglist_next75 = 0, $arglist_next78 = 0, $arglist_next81 = 0, $arglist_next84 = 0, $arglist_next87 = 0, $arglist_next9 = 0, $arglist_next90 = 0, $arglist_next93 = 0, $arglist_next96 = 0, $arglist_next99 = 0, $expanded = 0, $expanded112 = 0, $expanded114 = 0, $expanded115 = 0, $expanded116 = 0, $expanded118 = 0, $expanded119 = 0;
var $expanded121 = 0, $expanded122 = 0, $expanded123 = 0, $expanded125 = 0, $expanded126 = 0, $expanded128 = 0, $expanded129 = 0, $expanded130 = 0, $expanded132 = 0, $expanded133 = 0, $expanded135 = 0, $expanded136 = 0, $expanded137 = 0, $expanded139 = 0, $expanded140 = 0, $expanded142 = 0, $expanded143 = 0, $expanded144 = 0, $expanded146 = 0, $expanded147 = 0;
var $expanded149 = 0, $expanded150 = 0, $expanded151 = 0, $expanded153 = 0, $expanded154 = 0, $expanded156 = 0, $expanded157 = 0, $expanded158 = 0, $expanded160 = 0, $expanded161 = 0, $expanded163 = 0, $expanded164 = 0, $expanded165 = 0, $expanded167 = 0, $expanded168 = 0, $expanded170 = 0, $expanded171 = 0, $expanded172 = 0, $expanded174 = 0, $expanded175 = 0;
var $expanded177 = 0, $expanded178 = 0, $expanded179 = 0, $expanded181 = 0, $expanded182 = 0, $expanded184 = 0, $expanded185 = 0, $expanded186 = 0, $expanded188 = 0, $expanded189 = 0, $expanded191 = 0, $expanded192 = 0, $expanded193 = 0, $expanded195 = 0, $expanded196 = 0, $expanded198 = 0, $expanded199 = 0, $expanded200 = 0, $expanded202 = 0, $expanded203 = 0;
var $expanded205 = 0, $expanded206 = 0, $expanded207 = 0, $expanded209 = 0, $expanded210 = 0, $expanded212 = 0, $expanded213 = 0, $expanded214 = 0, $expanded216 = 0, $expanded217 = 0, $expanded219 = 0, $expanded220 = 0, $expanded221 = 0, $expanded223 = 0, $expanded224 = 0, $expanded226 = 0, $expanded227 = 0, $expanded228 = 0, $expanded230 = 0, $expanded231 = 0;
var $expanded233 = 0, $expanded234 = 0, $expanded235 = 0, $expanded237 = 0, $expanded238 = 0, $expanded240 = 0, $expanded241 = 0, $expanded242 = 0, $expanded244 = 0, $expanded245 = 0, $expanded247 = 0, $expanded248 = 0, $expanded249 = 0, $expanded251 = 0, $expanded252 = 0, $expanded254 = 0, $expanded255 = 0, $expanded256 = 0, $expanded258 = 0, $expanded259 = 0;
var $expanded261 = 0, $expanded262 = 0, $expanded263 = 0, $expanded265 = 0, $expanded266 = 0, $expanded268 = 0, $expanded269 = 0, $expanded270 = 0, $expanded272 = 0, $expanded273 = 0, $expanded275 = 0, $expanded276 = 0, $expanded277 = 0, $spec$select = 0, $spec$select105 = 0, $spec$select106 = 0, $spec$select107 = 0, $vararg_buffer = 0, $vararg_buffer22 = 0, $vararg_buffer26 = 0;
var $vararg_buffer30 = 0, $vararg_buffer34 = 0, $vararg_buffer37 = 0, $vararg_buffer40 = 0, $vararg_buffer44 = 0, $vararg_buffer47 = 0, $vararg_buffer51 = 0, $vararg_buffer54 = 0, $vararg_buffer59 = 0, $vararg_ptr57 = 0, $vararg_ptr62 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$vararg_buffer59 = sp + 88|0;
$vararg_buffer54 = sp + 80|0;
$vararg_buffer51 = sp + 72|0;
$vararg_buffer47 = sp + 64|0;
$vararg_buffer44 = sp + 56|0;
$vararg_buffer40 = sp + 48|0;
$vararg_buffer37 = sp + 40|0;
$vararg_buffer34 = sp + 32|0;
$vararg_buffer30 = sp + 24|0;
$vararg_buffer26 = sp + 16|0;
$vararg_buffer22 = sp + 8|0;
$vararg_buffer = sp;
$2 = sp + 96|0;
do {
switch ($0|0) {
case 31: {
__gcry_private_enable_m_guard();
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 44: {
__gcry_set_preferred_rng_type(0);
__gcry_enable_quick_random_gen();
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 51: {
$3 = (__gcry_random_is_faked()|0);
$4 = ($3|0)!=(0);
$spec$select = $4&1;
$$2 = $spec$select;
STACKTOP = sp;return ($$2|0);
break;
}
case 13: {
__gcry_random_dump_stats();
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 14: {
__gcry_secmem_dump_stats();
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 30: {
_global_init();
__gcry_secmem_init(0);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 37: {
_global_init();
HEAP32[18085] = 1;
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 24: {
_global_init();
$arglist_current = HEAP32[$1>>2]|0;
$5 = $arglist_current;
$6 = ((0) + 4|0);
$expanded112 = $6;
$expanded = (($expanded112) - 1)|0;
$7 = (($5) + ($expanded))|0;
$8 = ((0) + 4|0);
$expanded116 = $8;
$expanded115 = (($expanded116) - 1)|0;
$expanded114 = $expanded115 ^ -1;
$9 = $7 & $expanded114;
$10 = $9;
$11 = HEAP32[$10>>2]|0;
$arglist_next = ((($10)) + 4|0);
HEAP32[$1>>2] = $arglist_next;
__gcry_secmem_init($11);
$12 = (__gcry_secmem_get_flags()|0);
$13 = $12 >>> 2;
$$lobit = $13 & 1;
$$2 = $$lobit;
STACKTOP = sp;return ($$2|0);
break;
}
case 25: {
_global_init();
__gcry_secmem_term();
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 27: {
__gcry_set_preferred_rng_type(0);
$14 = (__gcry_secmem_get_flags()|0);
$15 = $14 | 1;
__gcry_secmem_set_flags($15);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 28: {
__gcry_set_preferred_rng_type(0);
$16 = (__gcry_secmem_get_flags()|0);
$17 = $16 | 2;
__gcry_secmem_set_flags($17);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 29: {
__gcry_set_preferred_rng_type(0);
$18 = (__gcry_secmem_get_flags()|0);
$19 = $18 & -3;
__gcry_secmem_set_flags($19);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 22: {
_global_init();
__gcry_secure_random_alloc();
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 45: {
__gcry_set_preferred_rng_type(0);
$arglist_current2 = HEAP32[$1>>2]|0;
$20 = $arglist_current2;
$21 = ((0) + 4|0);
$expanded119 = $21;
$expanded118 = (($expanded119) - 1)|0;
$22 = (($20) + ($expanded118))|0;
$23 = ((0) + 4|0);
$expanded123 = $23;
$expanded122 = (($expanded123) - 1)|0;
$expanded121 = $expanded122 ^ -1;
$24 = $22 & $expanded121;
$25 = $24;
$26 = HEAP32[$25>>2]|0;
$arglist_next3 = ((($25)) + 4|0);
HEAP32[$1>>2] = $arglist_next3;
__gcry_set_random_seed_file($26);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 46: {
__gcry_set_preferred_rng_type(0);
$27 = HEAP32[18083]|0;
$28 = ($27|0)==(0);
if ($28) {
_global_init();
}
$29 = (__gcry_fips_is_operational()|0);
$30 = ($29|0)==(0);
if ($30) {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
__gcry_update_random_seed_file();
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 19: {
__gcry_set_preferred_rng_type(0);
$arglist_current5 = HEAP32[$1>>2]|0;
$31 = $arglist_current5;
$32 = ((0) + 4|0);
$expanded126 = $32;
$expanded125 = (($expanded126) - 1)|0;
$33 = (($31) + ($expanded125))|0;
$34 = ((0) + 4|0);
$expanded130 = $34;
$expanded129 = (($expanded130) - 1)|0;
$expanded128 = $expanded129 ^ -1;
$35 = $33 & $expanded128;
$36 = $35;
$37 = HEAP32[$36>>2]|0;
$arglist_next6 = ((($36)) + 4|0);
HEAP32[$1>>2] = $arglist_next6;
__gcry_set_log_verbosity($37);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 20: {
$arglist_current8 = HEAP32[$1>>2]|0;
$38 = $arglist_current8;
$39 = ((0) + 4|0);
$expanded133 = $39;
$expanded132 = (($expanded133) - 1)|0;
$40 = (($38) + ($expanded132))|0;
$41 = ((0) + 4|0);
$expanded137 = $41;
$expanded136 = (($expanded137) - 1)|0;
$expanded135 = $expanded136 ^ -1;
$42 = $40 & $expanded135;
$43 = $42;
$44 = HEAP32[$43>>2]|0;
$arglist_next9 = ((($43)) + 4|0);
HEAP32[$1>>2] = $arglist_next9;
$45 = HEAP32[18086]|0;
$46 = $45 | $44;
HEAP32[18086] = $46;
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 21: {
$arglist_current11 = HEAP32[$1>>2]|0;
$47 = $arglist_current11;
$48 = ((0) + 4|0);
$expanded140 = $48;
$expanded139 = (($expanded140) - 1)|0;
$49 = (($47) + ($expanded139))|0;
$50 = ((0) + 4|0);
$expanded144 = $50;
$expanded143 = (($expanded144) - 1)|0;
$expanded142 = $expanded143 ^ -1;
$51 = $49 & $expanded142;
$52 = $51;
$53 = HEAP32[$52>>2]|0;
$arglist_next12 = ((($52)) + 4|0);
HEAP32[$1>>2] = $arglist_next12;
$54 = $53 ^ -1;
$55 = HEAP32[18086]|0;
$56 = $55 & $54;
HEAP32[18086] = $56;
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 36: {
_global_init();
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 40: {
$57 = HEAP32[18083]|0;
$$2 = $57;
STACKTOP = sp;return ($$2|0);
break;
}
case 39: {
$58 = HEAP32[18087]|0;
$$2 = $58;
STACKTOP = sp;return ($$2|0);
break;
}
case 38: {
$59 = HEAP32[18087]|0;
$60 = ($59|0)==(0);
if (!($60)) {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
_global_init();
__gcry_random_initialize(0);
HEAP32[18087] = 1;
$61 = HEAP32[18083]|0;
$62 = ($61|0)==(0);
if ($62) {
_global_init();
}
(__gcry_fips_is_operational()|0);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 47: {
__gcry_set_preferred_rng_type(0);
_global_init();
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 48: {
__gcry_set_preferred_rng_type(0);
__gcry_random_initialize(1);
$63 = HEAP32[18083]|0;
$64 = ($63|0)==(0);
if ($64) {
_global_init();
}
$65 = (__gcry_fips_is_operational()|0);
$66 = ($65|0)==(0);
if ($66) {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
__gcry_fast_random_poll();
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 52: {
$$2 = 16777276;
STACKTOP = sp;return ($$2|0);
break;
}
case 49: {
__gcry_set_preferred_rng_type(0);
$arglist_current14 = HEAP32[$1>>2]|0;
$67 = $arglist_current14;
$68 = ((0) + 4|0);
$expanded147 = $68;
$expanded146 = (($expanded147) - 1)|0;
$69 = (($67) + ($expanded146))|0;
$70 = ((0) + 4|0);
$expanded151 = $70;
$expanded150 = (($expanded151) - 1)|0;
$expanded149 = $expanded150 ^ -1;
$71 = $69 & $expanded149;
$72 = $71;
$73 = HEAP32[$72>>2]|0;
$arglist_next15 = ((($72)) + 4|0);
HEAP32[$1>>2] = $arglist_next15;
__gcry_set_random_daemon_socket($73);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 50: {
__gcry_set_preferred_rng_type(0);
__gcry_random_initialize(1);
$arglist_current17 = HEAP32[$1>>2]|0;
$74 = $arglist_current17;
$75 = ((0) + 4|0);
$expanded154 = $75;
$expanded153 = (($expanded154) - 1)|0;
$76 = (($74) + ($expanded153))|0;
$77 = ((0) + 4|0);
$expanded158 = $77;
$expanded157 = (($expanded158) - 1)|0;
$expanded156 = $expanded157 ^ -1;
$78 = $76 & $expanded156;
$79 = $78;
$80 = HEAP32[$79>>2]|0;
$arglist_next18 = ((($79)) + 4|0);
HEAP32[$1>>2] = $arglist_next18;
$81 = ($80|0)!=(0);
$82 = $81&1;
(__gcry_use_random_daemon($82)|0);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 70: {
__gcry_random_close_fds();
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 53: {
$arglist_current20 = HEAP32[$1>>2]|0;
$83 = $arglist_current20;
$84 = ((0) + 4|0);
$expanded161 = $84;
$expanded160 = (($expanded161) - 1)|0;
$85 = (($83) + ($expanded160))|0;
$86 = ((0) + 4|0);
$expanded165 = $86;
$expanded164 = (($expanded165) - 1)|0;
$expanded163 = $expanded164 ^ -1;
$87 = $85 & $expanded163;
$88 = $87;
$89 = HEAP32[$88>>2]|0;
$arglist_next21 = ((($88)) + 4|0);
HEAP32[$1>>2] = $arglist_next21;
__gcry_set_preferred_rng_type(0);
$90 = ($89|0)==(0|0);
$91 = $90 ? 58 : 59;
HEAP32[$vararg_buffer>>2] = 44375;
(FUNCTION_TABLE_iiii[$91 & 127]($89,44389,$vararg_buffer)|0);
HEAP32[$vararg_buffer22>>2] = 44415;
(FUNCTION_TABLE_iiii[$91 & 127]($89,44402,$vararg_buffer22)|0);
HEAP32[$vararg_buffer26>>2] = 44440;
(FUNCTION_TABLE_iiii[$91 & 127]($89,44427,$vararg_buffer26)|0);
HEAP32[$vararg_buffer30>>2] = 44461;
(FUNCTION_TABLE_iiii[$91 & 127]($89,44448,$vararg_buffer30)|0);
(FUNCTION_TABLE_iiii[$91 & 127]($89,44475,$vararg_buffer34)|0);
(FUNCTION_TABLE_iiii[$91 & 127]($89,44491,$vararg_buffer37)|0);
$92 = (__gcry_mpi_get_hw_config()|0);
HEAP32[$vararg_buffer40>>2] = $92;
(FUNCTION_TABLE_iiii[$91 & 127]($89,44503,$vararg_buffer40)|0);
$93 = (__gcry_get_hw_features()|0);
(FUNCTION_TABLE_iiii[$91 & 127]($89,44516,$vararg_buffer44)|0);
$94 = (__gcry_enum_hw_features(0,$2)|0);
$95 = ($94|0)==(0|0);
if (!($95)) {
$$03536$i = 0;$99 = $94;
while(1) {
$96 = HEAP32[$2>>2]|0;
$97 = $96 & $93;
$98 = ($97|0)==(0);
if (!($98)) {
HEAP32[$vararg_buffer47>>2] = $99;
(FUNCTION_TABLE_iiii[$91 & 127]($89,44525,$vararg_buffer47)|0);
}
$100 = (($$03536$i) + 1)|0;
$101 = (__gcry_enum_hw_features($100,$2)|0);
$102 = ($101|0)==(0|0);
if ($102) {
break;
} else {
$$03536$i = $100;$99 = $101;
}
}
}
(FUNCTION_TABLE_iiii[$91 & 127]($89,44529,$vararg_buffer51)|0);
$103 = (__gcry_fips_mode()|0);
$104 = ($103|0)==(0);
$105 = $104 ? 110 : 121;
$106 = (__gcry_enforced_fips_mode()|0);
$107 = ($106|0)==(0);
$108 = $107 ? 110 : 121;
HEAP32[$vararg_buffer54>>2] = $105;
$vararg_ptr57 = ((($vararg_buffer54)) + 4|0);
HEAP32[$vararg_ptr57>>2] = $108;
(FUNCTION_TABLE_iiii[$91 & 127]($89,44531,$vararg_buffer54)|0);
$109 = (__gcry_get_rng_type(0)|0);
switch ($109|0) {
case 1: {
$$0$i = 44574;
break;
}
case 2: {
$$0$i = 44569;
break;
}
case 3: {
$$0$i = 44562;
break;
}
default: {
__gcry_bug(44354,321,44549);
// unreachable;
}
}
HEAP32[$vararg_buffer59>>2] = $$0$i;
$vararg_ptr62 = ((($vararg_buffer59)) + 4|0);
HEAP32[$vararg_ptr62>>2] = $109;
(FUNCTION_TABLE_iiii[$91 & 127]($89,44583,$vararg_buffer59)|0);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 54: {
__gcry_set_preferred_rng_type(0);
$110 = (__gcry_fips_test_operational()|0);
$111 = ($110|0)!=(0);
$spec$select105 = $111&1;
$$2 = $spec$select105;
STACKTOP = sp;return ($$2|0);
break;
}
case 55: {
$112 = (__gcry_fips_mode()|0);
$113 = ($112|0)==(0);
if ($113) {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
$114 = (__gcry_is_fips_mode_inactive()|0);
$115 = HEAP32[18085]|0;
$116 = $115 | $114;
$117 = ($116|0)==(0);
$spec$select106 = $117&1;
$$2 = $spec$select106;
STACKTOP = sp;return ($$2|0);
break;
}
case 56: {
__gcry_set_preferred_rng_type(0);
$118 = HEAP32[18083]|0;
$119 = ($118|0)==(0);
if ($119) {
HEAP32[18084] = 1;
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
$120 = (__gcry_fips_test_error_or_operational()|0);
$121 = ($120|0)==(0);
if ($121) {
$122 = (__gcry_fips_is_operational()|0);
$123 = ($122|0)!=(0);
$spec$select107 = $123&1;
STACKTOP = sp;return ($spec$select107|0);
}
(__gcry_fips_run_selftests(1)|0);
$122 = (__gcry_fips_is_operational()|0);
$123 = ($122|0)!=(0);
$spec$select107 = $123&1;
STACKTOP = sp;return ($spec$select107|0);
break;
}
case 57: {
_global_init();
$124 = (__gcry_fips_run_selftests(1)|0);
$$2 = $124;
STACKTOP = sp;return ($$2|0);
break;
}
case 58: {
$arglist_current65 = HEAP32[$1>>2]|0;
$125 = $arglist_current65;
$126 = ((0) + 4|0);
$expanded168 = $126;
$expanded167 = (($expanded168) - 1)|0;
$127 = (($125) + ($expanded167))|0;
$128 = ((0) + 4|0);
$expanded172 = $128;
$expanded171 = (($expanded172) - 1)|0;
$expanded170 = $expanded171 ^ -1;
$129 = $127 & $expanded170;
$130 = $129;
$131 = HEAP32[$130>>2]|0;
$arglist_next66 = ((($130)) + 4|0);
HEAP32[$1>>2] = $arglist_next66;
$arglist_current68 = HEAP32[$1>>2]|0;
$132 = $arglist_current68;
$133 = ((0) + 4|0);
$expanded175 = $133;
$expanded174 = (($expanded175) - 1)|0;
$134 = (($132) + ($expanded174))|0;
$135 = ((0) + 4|0);
$expanded179 = $135;
$expanded178 = (($expanded179) - 1)|0;
$expanded177 = $expanded178 ^ -1;
$136 = $134 & $expanded177;
$137 = $136;
$138 = HEAP32[$137>>2]|0;
$arglist_next69 = ((($137)) + 4|0);
HEAP32[$1>>2] = $arglist_next69;
$arglist_current71 = HEAP32[$1>>2]|0;
$139 = $arglist_current71;
$140 = ((0) + 4|0);
$expanded182 = $140;
$expanded181 = (($expanded182) - 1)|0;
$141 = (($139) + ($expanded181))|0;
$142 = ((0) + 4|0);
$expanded186 = $142;
$expanded185 = (($expanded186) - 1)|0;
$expanded184 = $expanded185 ^ -1;
$143 = $141 & $expanded184;
$144 = $143;
$145 = HEAP32[$144>>2]|0;
$arglist_next72 = ((($144)) + 4|0);
HEAP32[$1>>2] = $arglist_next72;
$arglist_current74 = HEAP32[$1>>2]|0;
$146 = $arglist_current74;
$147 = ((0) + 4|0);
$expanded189 = $147;
$expanded188 = (($expanded189) - 1)|0;
$148 = (($146) + ($expanded188))|0;
$149 = ((0) + 4|0);
$expanded193 = $149;
$expanded192 = (($expanded193) - 1)|0;
$expanded191 = $expanded192 ^ -1;
$150 = $148 & $expanded191;
$151 = $150;
$152 = HEAP32[$151>>2]|0;
$arglist_next75 = ((($151)) + 4|0);
HEAP32[$1>>2] = $arglist_next75;
$arglist_current77 = HEAP32[$1>>2]|0;
$153 = $arglist_current77;
$154 = ((0) + 4|0);
$expanded196 = $154;
$expanded195 = (($expanded196) - 1)|0;
$155 = (($153) + ($expanded195))|0;
$156 = ((0) + 4|0);
$expanded200 = $156;
$expanded199 = (($expanded200) - 1)|0;
$expanded198 = $expanded199 ^ -1;
$157 = $155 & $expanded198;
$158 = $157;
$159 = HEAP32[$158>>2]|0;
$arglist_next78 = ((($158)) + 4|0);
HEAP32[$1>>2] = $arglist_next78;
$arglist_current80 = HEAP32[$1>>2]|0;
$160 = $arglist_current80;
$161 = ((0) + 4|0);
$expanded203 = $161;
$expanded202 = (($expanded203) - 1)|0;
$162 = (($160) + ($expanded202))|0;
$163 = ((0) + 4|0);
$expanded207 = $163;
$expanded206 = (($expanded207) - 1)|0;
$expanded205 = $expanded206 ^ -1;
$164 = $162 & $expanded205;
$165 = $164;
$166 = HEAP32[$165>>2]|0;
$arglist_next81 = ((($165)) + 4|0);
HEAP32[$1>>2] = $arglist_next81;
$arglist_current83 = HEAP32[$1>>2]|0;
$167 = $arglist_current83;
$168 = ((0) + 4|0);
$expanded210 = $168;
$expanded209 = (($expanded210) - 1)|0;
$169 = (($167) + ($expanded209))|0;
$170 = ((0) + 4|0);
$expanded214 = $170;
$expanded213 = (($expanded214) - 1)|0;
$expanded212 = $expanded213 ^ -1;
$171 = $169 & $expanded212;
$172 = $171;
$173 = HEAP32[$172>>2]|0;
$arglist_next84 = ((($172)) + 4|0);
HEAP32[$1>>2] = $arglist_next84;
$arglist_current86 = HEAP32[$1>>2]|0;
$174 = $arglist_current86;
$175 = ((0) + 4|0);
$expanded217 = $175;
$expanded216 = (($expanded217) - 1)|0;
$176 = (($174) + ($expanded216))|0;
$177 = ((0) + 4|0);
$expanded221 = $177;
$expanded220 = (($expanded221) - 1)|0;
$expanded219 = $expanded220 ^ -1;
$178 = $176 & $expanded219;
$179 = $178;
$180 = HEAP32[$179>>2]|0;
$arglist_next87 = ((($179)) + 4|0);
HEAP32[$1>>2] = $arglist_next87;
$181 = HEAP32[18083]|0;
$182 = ($181|0)==(0);
if ($182) {
_global_init();
}
$183 = (__gcry_fips_is_operational()|0);
$184 = ($183|0)==(0);
if ($184) {
$$2 = 176;
STACKTOP = sp;return ($$2|0);
}
$185 = (__gcry_random_init_external_test($131,$138,$145,$152,$159,$166,$173,$180)|0);
$$2 = $185;
STACKTOP = sp;return ($$2|0);
break;
}
case 59: {
$arglist_current89 = HEAP32[$1>>2]|0;
$186 = $arglist_current89;
$187 = ((0) + 4|0);
$expanded224 = $187;
$expanded223 = (($expanded224) - 1)|0;
$188 = (($186) + ($expanded223))|0;
$189 = ((0) + 4|0);
$expanded228 = $189;
$expanded227 = (($expanded228) - 1)|0;
$expanded226 = $expanded227 ^ -1;
$190 = $188 & $expanded226;
$191 = $190;
$192 = HEAP32[$191>>2]|0;
$arglist_next90 = ((($191)) + 4|0);
HEAP32[$1>>2] = $arglist_next90;
$arglist_current92 = HEAP32[$1>>2]|0;
$193 = $arglist_current92;
$194 = ((0) + 4|0);
$expanded231 = $194;
$expanded230 = (($expanded231) - 1)|0;
$195 = (($193) + ($expanded230))|0;
$196 = ((0) + 4|0);
$expanded235 = $196;
$expanded234 = (($expanded235) - 1)|0;
$expanded233 = $expanded234 ^ -1;
$197 = $195 & $expanded233;
$198 = $197;
$199 = HEAP32[$198>>2]|0;
$arglist_next93 = ((($198)) + 4|0);
HEAP32[$1>>2] = $arglist_next93;
$arglist_current95 = HEAP32[$1>>2]|0;
$200 = $arglist_current95;
$201 = ((0) + 4|0);
$expanded238 = $201;
$expanded237 = (($expanded238) - 1)|0;
$202 = (($200) + ($expanded237))|0;
$203 = ((0) + 4|0);
$expanded242 = $203;
$expanded241 = (($expanded242) - 1)|0;
$expanded240 = $expanded241 ^ -1;
$204 = $202 & $expanded240;
$205 = $204;
$206 = HEAP32[$205>>2]|0;
$arglist_next96 = ((($205)) + 4|0);
HEAP32[$1>>2] = $arglist_next96;
$207 = HEAP32[18083]|0;
$208 = ($207|0)==(0);
if ($208) {
_global_init();
}
$209 = (__gcry_fips_is_operational()|0);
$210 = ($209|0)==(0);
if ($210) {
$$2 = 176;
STACKTOP = sp;return ($$2|0);
}
$211 = (__gcry_random_run_external_test($192,$199,$206)|0);
$$2 = $211;
STACKTOP = sp;return ($$2|0);
break;
}
case 60: {
$arglist_current98 = HEAP32[$1>>2]|0;
$212 = $arglist_current98;
$213 = ((0) + 4|0);
$expanded245 = $213;
$expanded244 = (($expanded245) - 1)|0;
$214 = (($212) + ($expanded244))|0;
$215 = ((0) + 4|0);
$expanded249 = $215;
$expanded248 = (($expanded249) - 1)|0;
$expanded247 = $expanded248 ^ -1;
$216 = $214 & $expanded247;
$217 = $216;
$218 = HEAP32[$217>>2]|0;
$arglist_next99 = ((($217)) + 4|0);
HEAP32[$1>>2] = $arglist_next99;
__gcry_random_deinit_external_test($218);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 61: {
$arglist_current101 = HEAP32[$1>>2]|0;
$219 = $arglist_current101;
$220 = ((0) + 4|0);
$expanded252 = $220;
$expanded251 = (($expanded252) - 1)|0;
$221 = (($219) + ($expanded251))|0;
$222 = ((0) + 4|0);
$expanded256 = $222;
$expanded255 = (($expanded256) - 1)|0;
$expanded254 = $expanded255 ^ -1;
$223 = $221 & $expanded254;
$224 = $223;
$225 = HEAP32[$224>>2]|0;
$arglist_next102 = ((($224)) + 4|0);
HEAP32[$1>>2] = $arglist_next102;
switch ($225|0) {
case 30111: {
$226 = (_gpgrt_lock_init(37856)|0);
$$2 = $226;
STACKTOP = sp;return ($$2|0);
break;
}
case 30112: {
$227 = (_gpgrt_lock_lock(37856)|0);
$$2 = $227;
STACKTOP = sp;return ($$2|0);
break;
}
case 30113: {
$228 = (_gpgrt_lock_unlock(37856)|0);
$$2 = $228;
STACKTOP = sp;return ($$2|0);
break;
}
case 30114: {
$229 = (_gpgrt_lock_destroy(37856)|0);
$$2 = $229;
STACKTOP = sp;return ($$2|0);
break;
}
default: {
$$2 = 61;
STACKTOP = sp;return ($$2|0);
}
}
break;
}
case 63: {
$arglist_current104 = HEAP32[$1>>2]|0;
$230 = $arglist_current104;
$231 = ((0) + 4|0);
$expanded259 = $231;
$expanded258 = (($expanded259) - 1)|0;
$232 = (($230) + ($expanded258))|0;
$233 = ((0) + 4|0);
$expanded263 = $233;
$expanded262 = (($expanded263) - 1)|0;
$expanded261 = $expanded262 ^ -1;
$234 = $232 & $expanded261;
$235 = $234;
$236 = HEAP32[$235>>2]|0;
$arglist_next105 = ((($235)) + 4|0);
HEAP32[$1>>2] = $arglist_next105;
$237 = (__gcry_disable_hw_feature($236)|0);
$$2 = $237;
STACKTOP = sp;return ($$2|0);
break;
}
case 64: {
$238 = HEAP32[18083]|0;
$239 = ($238|0)==(0);
if (!($239)) {
$$2 = 1;
STACKTOP = sp;return ($$2|0);
}
__gcry_set_preferred_rng_type(0);
__gcry_set_enforced_fips_mode();
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 65: {
$arglist_current107 = HEAP32[$1>>2]|0;
$240 = $arglist_current107;
$241 = ((0) + 4|0);
$expanded266 = $241;
$expanded265 = (($expanded266) - 1)|0;
$242 = (($240) + ($expanded265))|0;
$243 = ((0) + 4|0);
$expanded270 = $243;
$expanded269 = (($expanded270) - 1)|0;
$expanded268 = $expanded269 ^ -1;
$244 = $242 & $expanded268;
$245 = $244;
$246 = HEAP32[$245>>2]|0;
$arglist_next108 = ((($245)) + 4|0);
HEAP32[$1>>2] = $arglist_next108;
$247 = ($246|0)>(0);
if (!($247)) {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
__gcry_set_preferred_rng_type($246);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 66: {
$arglist_current110 = HEAP32[$1>>2]|0;
$248 = $arglist_current110;
$249 = ((0) + 4|0);
$expanded273 = $249;
$expanded272 = (($expanded273) - 1)|0;
$250 = (($248) + ($expanded272))|0;
$251 = ((0) + 4|0);
$expanded277 = $251;
$expanded276 = (($expanded277) - 1)|0;
$expanded275 = $expanded276 ^ -1;
$252 = $250 & $expanded275;
$253 = $252;
$254 = HEAP32[$253>>2]|0;
$arglist_next111 = ((($253)) + 4|0);
HEAP32[$1>>2] = $arglist_next111;
$255 = ($254|0)==(0|0);
if ($255) {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
$256 = HEAP32[18083]|0;
$257 = $256 ^ 1;
$258 = (__gcry_get_rng_type($257)|0);
HEAP32[$254>>2] = $258;
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 67: {
__gcry_set_preferred_rng_type(0);
$259 = (__gcry_secmem_get_flags()|0);
$260 = $259 | 8;
__gcry_secmem_set_flags($260);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 68: {
__gcry_set_preferred_rng_type(0);
$261 = (__gcry_secmem_get_flags()|0);
$262 = $261 | 16;
__gcry_secmem_set_flags($262);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
case 72: case 71: {
$$2 = 69;
STACKTOP = sp;return ($$2|0);
break;
}
case 62: case 23: {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
break;
}
default: {
__gcry_set_preferred_rng_type(0);
$$2 = 61;
STACKTOP = sp;return ($$2|0);
}
}
} while(0);
return (0)|0;
}
function __gcry_set_allocation_handler($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
_global_init();
$5 = (__gcry_fips_mode()|0);
$6 = ($5|0)==(0);
if (!($6)) {
__gcry_inactivate_fips_mode(44600);
}
HEAP32[18088] = $0;
HEAP32[18089] = $1;
HEAP32[18090] = $2;
HEAP32[18091] = $3;
HEAP32[18092] = $4;
return;
}
function __gcry_malloc($0) {
$0 = $0|0;
var $$0 = 0, $$0$i = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[18088]|0;
$2 = ($1|0)==(0|0);
if ($2) {
$4 = (__gcry_private_malloc($0)|0);
$$0$i = $4;
} else {
$3 = (FUNCTION_TABLE_ii[$1 & 63]($0)|0);
$$0$i = $3;
}
$5 = ($$0$i|0)==(0|0);
if (!($5)) {
$$0 = $$0$i;
return ($$0|0);
}
$6 = (___errno_location()|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0);
if ($8) {
_gpg_err_set_errno(12);
}
$9 = (___errno_location()|0);
$10 = HEAP32[$9>>2]|0;
(_gpg_err_code_from_errno($10)|0);
$$0 = 0;
return ($$0|0);
}
function __gcry_malloc_secure($0) {
$0 = $0|0;
var $$0 = 0, $$0$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[18085]|0;
$2 = ($1|0)==(0);
do {
if ($2) {
label = 5;
} else {
$3 = (__gcry_enforced_fips_mode()|0);
$4 = ($3|0)==(0);
if (!($4)) {
HEAP32[18085] = 0;
label = 5;
break;
}
$5 = HEAP32[18085]|0;
$6 = ($5|0)==(0);
if ($6) {
label = 5;
} else {
$11 = HEAP32[18088]|0;
$12 = ($11|0)==(0|0);
if ($12) {
$14 = (__gcry_private_malloc($0)|0);
$$0$i = $14;
break;
} else {
$13 = (FUNCTION_TABLE_ii[$11 & 63]($0)|0);
$$0$i = $13;
break;
}
}
}
} while(0);
do {
if ((label|0) == 5) {
$7 = HEAP32[18089]|0;
$8 = ($7|0)==(0|0);
if ($8) {
$10 = (__gcry_private_malloc_secure($0)|0);
$$0$i = $10;
break;
} else {
$9 = (FUNCTION_TABLE_ii[$7 & 63]($0)|0);
$$0$i = $9;
break;
}
}
} while(0);
$15 = ($$0$i|0)==(0|0);
if (!($15)) {
$$0 = $$0$i;
return ($$0|0);
}
$16 = (___errno_location()|0);
$17 = HEAP32[$16>>2]|0;
$18 = ($17|0)==(0);
if ($18) {
_gpg_err_set_errno(12);
}
$19 = (___errno_location()|0);
$20 = HEAP32[$19>>2]|0;
(_gpg_err_code_from_errno($20)|0);
$$0 = 0;
return ($$0|0);
}
function __gcry_is_secure($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[18085]|0;
$2 = ($1|0)==(0);
do {
if (!($2)) {
$3 = (__gcry_enforced_fips_mode()|0);
$4 = ($3|0)==(0);
if (!($4)) {
HEAP32[18085] = 0;
break;
}
$5 = HEAP32[18085]|0;
$6 = ($5|0)==(0);
if (!($6)) {
$$0 = 0;
return ($$0|0);
}
}
} while(0);
$7 = HEAP32[18090]|0;
$8 = ($7|0)==(0|0);
if ($8) {
$10 = (__gcry_private_is_secure($0)|0);
$$0 = $10;
return ($$0|0);
} else {
$9 = (FUNCTION_TABLE_ii[$7 & 63]($0)|0);
$$0 = $9;
return ($$0|0);
}
return (0)|0;
}
function __gcry_realloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$0$i$i = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
$3 = HEAP32[18088]|0;
$4 = ($3|0)==(0|0);
if ($4) {
$6 = (__gcry_private_malloc($1)|0);
$$0$i$i = $6;
} else {
$5 = (FUNCTION_TABLE_ii[$3 & 63]($1)|0);
$$0$i$i = $5;
}
$7 = ($$0$i$i|0)==(0|0);
if (!($7)) {
$$010 = $$0$i$i;
return ($$010|0);
}
$8 = (___errno_location()|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0);
if ($10) {
_gpg_err_set_errno(12);
}
$11 = (___errno_location()|0);
$12 = HEAP32[$11>>2]|0;
(_gpg_err_code_from_errno($12)|0);
$$010 = 0;
return ($$010|0);
}
$13 = ($1|0)==(0);
if ($13) {
$14 = (___errno_location()|0);
$15 = HEAP32[$14>>2]|0;
$16 = HEAP32[18092]|0;
$17 = ($16|0)==(0|0);
if ($17) {
__gcry_private_free($0);
} else {
FUNCTION_TABLE_vi[$16 & 127]($0);
}
$18 = ($15|0)==(0);
if ($18) {
$$010 = 0;
return ($$010|0);
}
_gpg_err_set_errno($15);
$$010 = 0;
return ($$010|0);
}
$19 = HEAP32[18091]|0;
$20 = ($19|0)==(0|0);
if ($20) {
$22 = (__gcry_private_realloc($0,$1)|0);
$$0 = $22;
} else {
$21 = (FUNCTION_TABLE_iii[$19 & 127]($0,$1)|0);
$$0 = $21;
}
$23 = ($$0|0)==(0|0);
if (!($23)) {
$$010 = $$0;
return ($$010|0);
}
$24 = (___errno_location()|0);
$25 = HEAP32[$24>>2]|0;
$26 = ($25|0)==(0);
if (!($26)) {
$$010 = 0;
return ($$010|0);
}
_gpg_err_set_errno(12);
$$010 = 0;
return ($$010|0);
}
function __gcry_free($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = (___errno_location()|0);
$3 = HEAP32[$2>>2]|0;
$4 = HEAP32[18092]|0;
$5 = ($4|0)==(0|0);
if ($5) {
__gcry_private_free($0);
} else {
FUNCTION_TABLE_vi[$4 & 127]($0);
}
$6 = ($3|0)==(0);
if ($6) {
return;
}
_gpg_err_set_errno($3);
return;
}
function __gcry_calloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$0$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = Math_imul($1, $0)|0;
$3 = ($1|0)==(0);
if (!($3)) {
$4 = (($2>>>0) / ($1>>>0))&-1;
$5 = ($4|0)==($0|0);
if (!($5)) {
_gpg_err_set_errno(12);
$$0 = 0;
return ($$0|0);
}
}
$6 = HEAP32[18088]|0;
$7 = ($6|0)==(0|0);
if ($7) {
$9 = (__gcry_private_malloc($2)|0);
$$0$i$i = $9;
} else {
$8 = (FUNCTION_TABLE_ii[$6 & 63]($2)|0);
$$0$i$i = $8;
}
$10 = ($$0$i$i|0)==(0|0);
if (!($10)) {
_memset(($$0$i$i|0),0,($2|0))|0;
$$0 = $$0$i$i;
return ($$0|0);
}
$11 = (___errno_location()|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0);
if ($13) {
_gpg_err_set_errno(12);
}
$14 = (___errno_location()|0);
$15 = HEAP32[$14>>2]|0;
(_gpg_err_code_from_errno($15)|0);
$$0 = 0;
return ($$0|0);
}
function __gcry_calloc_secure($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = Math_imul($1, $0)|0;
$3 = ($1|0)==(0);
if (!($3)) {
$4 = (($2>>>0) / ($1>>>0))&-1;
$5 = ($4|0)==($0|0);
if (!($5)) {
_gpg_err_set_errno(12);
$$0 = 0;
return ($$0|0);
}
}
$6 = (__gcry_malloc_secure($2)|0);
$7 = ($6|0)==(0|0);
if ($7) {
$$0 = 0;
return ($$0|0);
}
_memset(($6|0),0,($2|0))|0;
$$0 = $6;
return ($$0|0);
}
function __gcry_strdup($0) {
$0 = $0|0;
var $$0$i = 0, $$0$i$i = 0, $$010 = 0, $$012 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_strlen($0)|0);
$2 = HEAP32[18085]|0;
$3 = ($2|0)==(0);
do {
if ($3) {
label = 6;
} else {
$4 = (__gcry_enforced_fips_mode()|0);
$5 = ($4|0)==(0);
if (!($5)) {
HEAP32[18085] = 0;
label = 6;
break;
}
$6 = HEAP32[18085]|0;
$7 = ($6|0)==(0);
if ($7) {
label = 6;
} else {
$8 = (($1) + 1)|0;
$17 = $8;
label = 10;
}
}
} while(0);
if ((label|0) == 6) {
$9 = HEAP32[18090]|0;
$10 = ($9|0)==(0|0);
if ($10) {
$12 = (__gcry_private_is_secure($0)|0);
$$0$i = $12;
} else {
$11 = (FUNCTION_TABLE_ii[$9 & 63]($0)|0);
$$0$i = $11;
}
$13 = ($$0$i|0)==(0);
$14 = (($1) + 1)|0;
if ($13) {
$17 = $14;
label = 10;
} else {
$26 = (__gcry_malloc_secure($14)|0);
$27 = ($26|0)==(0|0);
if ($27) {
$$010 = 0;
return ($$010|0);
} else {
$$012 = $26;
}
}
}
if ((label|0) == 10) {
$15 = HEAP32[18088]|0;
$16 = ($15|0)==(0|0);
if ($16) {
$19 = (__gcry_private_malloc($17)|0);
$$0$i$i = $19;
} else {
$18 = (FUNCTION_TABLE_ii[$15 & 63]($17)|0);
$$0$i$i = $18;
}
$20 = ($$0$i$i|0)==(0|0);
if ($20) {
$21 = (___errno_location()|0);
$22 = HEAP32[$21>>2]|0;
$23 = ($22|0)==(0);
if ($23) {
_gpg_err_set_errno(12);
}
$24 = (___errno_location()|0);
$25 = HEAP32[$24>>2]|0;
(_gpg_err_code_from_errno($25)|0);
$$010 = 0;
return ($$010|0);
} else {
$$012 = $$0$i$i;
}
}
(_strcpy($$012,$0)|0);
$$010 = $$012;
return ($$010|0);
}
function __gcry_xmalloc($0) {
$0 = $0|0;
var $$0$i$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[18088]|0;
$2 = ($1|0)==(0|0);
if ($2) {
$4 = (__gcry_private_malloc($0)|0);
$$0$i$i = $4;
} else {
$3 = (FUNCTION_TABLE_ii[$1 & 63]($0)|0);
$$0$i$i = $3;
}
$5 = ($$0$i$i|0)==(0|0);
if (!($5)) {
return ($$0$i$i|0);
}
$6 = (___errno_location()|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0);
if ($8) {
_gpg_err_set_errno(12);
}
$9 = (___errno_location()|0);
$10 = HEAP32[$9>>2]|0;
(_gpg_err_code_from_errno($10)|0);
$11 = (___errno_location()|0);
$12 = HEAP32[$11>>2]|0;
$13 = (_gpg_err_code_from_errno($12)|0);
__gcry_fatal_error($13,0);
// unreachable;
return (0)|0;
}
function __gcry_xrealloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_realloc($0,$1)|0);
$3 = ($2|0)==(0|0);
if (!($3)) {
return ($2|0);
}
$4 = (__gcry_fips_mode()|0);
$5 = ($4|0)==(0);
$6 = (0|0)!=(0|0);
$or$cond = $5 & $6;
if (!($or$cond)) {
$13 = (___errno_location()|0);
$14 = HEAP32[$13>>2]|0;
$15 = (_gpg_err_code_from_errno($14)|0);
__gcry_fatal_error($15,0);
// unreachable;
}
$7 = HEAP32[18085]|0;
$8 = ($7|0)==(0);
if (!($8)) {
$9 = (__gcry_enforced_fips_mode()|0);
$10 = ($9|0)==(0);
if (!($10)) {
HEAP32[18085] = 0;
}
}
$11 = HEAP32[18090]|0;
$12 = ($11|0)==(0|0);
if ($12) {
(__gcry_private_is_secure($0)|0);
// unreachable;
} else {
(FUNCTION_TABLE_ii[$11 & 63]($0)|0);
// unreachable;
}
return (0)|0;
}
function __gcry_xmalloc_secure($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_malloc_secure($0)|0);
$2 = ($1|0)==(0|0);
if ($2) {
$3 = (___errno_location()|0);
$4 = HEAP32[$3>>2]|0;
$5 = (_gpg_err_code_from_errno($4)|0);
$6 = (__gcry_gettext(44626)|0);
__gcry_fatal_error($5,$6);
// unreachable;
} else {
return ($1|0);
}
return (0)|0;
}
function __gcry_xcalloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = Math_imul($1, $0)|0;
$3 = ($1|0)==(0);
if (!($3)) {
$4 = (($2>>>0) / ($1>>>0))&-1;
$5 = ($4|0)==($0|0);
if (!($5)) {
_gpg_err_set_errno(12);
$6 = (___errno_location()|0);
$7 = HEAP32[$6>>2]|0;
$8 = (_gpg_err_code_from_errno($7)|0);
__gcry_fatal_error($8,0);
// unreachable;
}
}
$9 = (__gcry_xmalloc($2)|0);
_memset(($9|0),0,($2|0))|0;
return ($9|0);
}
function __gcry_xcalloc_secure($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = Math_imul($1, $0)|0;
$3 = ($1|0)==(0);
if (!($3)) {
$4 = (($2>>>0) / ($1>>>0))&-1;
$5 = ($4|0)==($0|0);
if (!($5)) {
_gpg_err_set_errno(12);
$6 = (___errno_location()|0);
$7 = HEAP32[$6>>2]|0;
$8 = (_gpg_err_code_from_errno($7)|0);
__gcry_fatal_error($8,0);
// unreachable;
}
}
$9 = (__gcry_xmalloc_secure($2)|0);
_memset(($9|0),0,($2|0))|0;
return ($9|0);
}
function __gcry_xstrdup($0) {
$0 = $0|0;
var $$0$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$1 = (__gcry_strdup($0)|0);
$2 = ($1|0)==(0|0);
if (!($2)) {
return ($1|0);
}
$3 = HEAP32[18085]|0;
$4 = ($3|0)==(0);
do {
if ($4) {
label = 6;
} else {
$5 = (__gcry_enforced_fips_mode()|0);
$6 = ($5|0)==(0);
if ($6) {
$7 = HEAP32[18085]|0;
$8 = ($7|0)==(0);
if ($8) {
label = 6;
break;
} else {
$$0$i = 0;
break;
}
} else {
HEAP32[18085] = 0;
label = 6;
break;
}
}
} while(0);
do {
if ((label|0) == 6) {
$9 = HEAP32[18090]|0;
$10 = ($9|0)==(0|0);
if ($10) {
$12 = (__gcry_private_is_secure($0)|0);
$$0$i = $12;
break;
} else {
$11 = (FUNCTION_TABLE_ii[$9 & 63]($0)|0);
$$0$i = $11;
break;
}
}
} while(0);
$13 = ($$0$i|0)!=(0);
$14 = (___errno_location()|0);
$15 = HEAP32[$14>>2]|0;
$16 = (_gpg_err_code_from_errno($15)|0);
if (!($13)) {
$18 = 0;
__gcry_fatal_error($16,$18);
// unreachable;
}
$17 = (__gcry_gettext(44626)|0);
$18 = $17;
__gcry_fatal_error($16,$18);
// unreachable;
return (0)|0;
}
function __gcry_get_debug_flag($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_fips_mode()|0);
$2 = ($1|0)==(0);
$3 = HEAP32[18086]|0;
$4 = $3 & $0;
$$0 = $2 ? $4 : 0;
return ($$0|0);
}
function __gcry_set_progress_handler($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_register_primegen_progress($0,$1);
__gcry_register_random_progress($0,$1);
return;
}
function __gcry_sexp_canon_len($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0134 = 0, $$087133 = 0, $$089132 = 0, $$091131 = 0, $$093130 = 0, $$095 = 0, $$097 = 0, $$1 = 0, $$188 = 0, $$190 = 0, $$192 = 0, $$194 = 0, $$off = 0, $$off110 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$4 = sp + 4|0;
$5 = sp;
$6 = ($2|0)==(0|0);
$spec$select = $6 ? $4 : $2;
$7 = ($3|0)==(0|0);
$$095 = $7 ? $5 : $3;
HEAP32[$$095>>2] = 0;
HEAP32[$spec$select>>2] = 0;
$8 = ($0|0)==(0|0);
L1: do {
if ($8) {
$$097 = 0;
} else {
$9 = HEAP8[$0>>0]|0;
$10 = ($9<<24>>24)==(40);
if (!($10)) {
HEAP32[$$095>>2] = 204;
$$097 = 0;
break;
}
$11 = (($1) + -1)|0;
$$0134 = 0;$$087133 = 0;$$089132 = 0;$$091131 = 0;$$093130 = $0;$15 = 40;
L6: while(1) {
$13 = ($$089132|0)==(0);
$14 = $15&255;
L8: do {
if ($13) {
switch ($15<<24>>24) {
case 40: {
$24 = ($$091131|0)==(0|0);
if (!($24)) {
label = 16;
break L6;
}
$25 = (($$0134) + 1)|0;
$$1 = $25;$$188 = $$087133;$$190 = 0;$$192 = 0;$$194 = $$093130;
break L8;
break;
}
case 41: {
$26 = ($$0134|0)==(0);
if ($26) {
label = 19;
break L6;
}
$27 = ($$091131|0)==(0|0);
if (!($27)) {
label = 21;
break L6;
}
$28 = (($$0134) + -1)|0;
$29 = ($28|0)==(0);
if ($29) {
label = 23;
break L6;
} else {
$$1 = $28;$$188 = $$087133;$$190 = 0;$$192 = 0;$$194 = $$093130;
break L8;
}
break;
}
case 91: {
$31 = ($$091131|0)==(0|0);
if ($31) {
$$1 = $$0134;$$188 = $$087133;$$190 = 0;$$192 = $$093130;$$194 = $$093130;
break L8;
} else {
label = 25;
break L6;
}
break;
}
case 93: {
$32 = ($$091131|0)==(0|0);
if ($32) {
label = 27;
break L6;
} else {
$$1 = $$0134;$$188 = $$087133;$$190 = 0;$$192 = 0;$$194 = $$093130;
break L8;
}
break;
}
default: {
$$off110 = (($15) + -48)<<24>>24;
$33 = ($$off110&255)<(10);
if (!($33)) {
label = 32;
break L6;
}
$34 = ($15<<24>>24)==(48);
if ($34) {
label = 30;
break L6;
}
$35 = (($14) + -48)|0;
$$1 = $$0134;$$188 = $$087133;$$190 = $35;$$192 = $$091131;$$194 = $$093130;
break L8;
}
}
} else {
$16 = ($15<<24>>24)==(58);
if ($16) {
$17 = (($$087133) + ($$089132))|0;
$18 = ($11>>>0)<($17>>>0);
if ($18) {
label = 9;
break L6;
}
$19 = (($$093130) + ($$089132)|0);
$$1 = $$0134;$$188 = $17;$$190 = 0;$$192 = $$091131;$$194 = $19;
break;
} else {
$$off = (($15) + -48)<<24>>24;
$20 = ($$off&255)<(10);
if (!($20)) {
label = 13;
break L6;
}
$21 = ($$089132*10)|0;
$22 = (($14) + -48)|0;
$23 = (($22) + ($21))|0;
$$1 = $$0134;$$188 = $$087133;$$190 = $23;$$192 = $$091131;$$194 = $$093130;
break;
}
}
} while(0);
$36 = ((($$194)) + 1|0);
$12 = (($$188) + 1)|0;
$37 = ($11>>>0)<($12>>>0);
if ($37) {
label = 5;
break;
}
$$pre = HEAP8[$36>>0]|0;
$$0134 = $$1;$$087133 = $12;$$089132 = $$190;$$091131 = $$192;$$093130 = $36;$15 = $$pre;
}
switch (label|0) {
case 5: {
HEAP32[$spec$select>>2] = $12;
HEAP32[$$095>>2] = 202;
$$097 = 0;
break L1;
break;
}
case 9: {
HEAP32[$spec$select>>2] = $$087133;
HEAP32[$$095>>2] = 202;
$$097 = 0;
break L1;
break;
}
case 13: {
HEAP32[$spec$select>>2] = $$087133;
HEAP32[$$095>>2] = 201;
$$097 = 0;
break L1;
break;
}
case 16: {
HEAP32[$spec$select>>2] = $$087133;
HEAP32[$$095>>2] = 209;
$$097 = 0;
break L1;
break;
}
case 19: {
HEAP32[$spec$select>>2] = $$087133;
HEAP32[$$095>>2] = 203;
$$097 = 0;
break L1;
break;
}
case 21: {
HEAP32[$spec$select>>2] = $$087133;
HEAP32[$$095>>2] = 209;
$$097 = 0;
break L1;
break;
}
case 23: {
$30 = (($$087133) + 1)|0;
$$097 = $30;
break L1;
break;
}
case 25: {
HEAP32[$spec$select>>2] = $$087133;
HEAP32[$$095>>2] = 208;
$$097 = 0;
break L1;
break;
}
case 27: {
HEAP32[$spec$select>>2] = $$087133;
HEAP32[$$095>>2] = 209;
$$097 = 0;
break L1;
break;
}
case 30: {
HEAP32[$spec$select>>2] = $$087133;
HEAP32[$$095>>2] = 207;
$$097 = 0;
break L1;
break;
}
case 32: {
switch ($15<<24>>24) {
case 92: case 38: {
HEAP32[$spec$select>>2] = $$087133;
HEAP32[$$095>>2] = 210;
$$097 = 0;
break L1;
break;
}
default: {
HEAP32[$spec$select>>2] = $$087133;
HEAP32[$$095>>2] = 205;
$$097 = 0;
break L1;
}
}
break;
}
}
}
} while(0);
STACKTOP = sp;return ($$097|0);
}
function _do_sexp_sscan($0,$1,$2,$3,$4,$5,$varargs) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$varargs = $varargs|0;
var $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$6 = sp;
HEAP32[$6>>2] = $varargs;
$7 = (_do_vsexp_sscan($0,$1,$2,$3,$4,$5,$6)|0);
STACKTOP = sp;return ($7|0);
}
function _do_vsexp_sscan($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$0 = 0, $$0$copyload$i = 0, $$0$copyload$i740 = 0, $$0$i738 = 0, $$0112$i = 0, $$02830$i = 0, $$031$i = 0, $$048$lcssa$i = 0, $$04859$i = 0, $$050$lcssa$i = 0, $$05058$i = 0, $$0575$lcssa = 0, $$05751592 = 0, $$0576$lcssa = 0, $$05761591 = 0, $$0584$lcssa = 0, $$05841619 = 0, $$05881618 = 0, $$05921617 = 0, $$05941616 = 0;
var $$05971615 = 0, $$0600 = 0, $$0601$pn1600 = 0, $$06011614 = 0, $$06061613 = 0, $$06081612 = 0, $$06101611 = 0, $$0612 = 0, $$06131610 = 0, $$06151609 = 0, $$06171608 = 0, $$062$i = 0, $$0627 = 0, $$0628$lcssa = 0, $$06281607 = 0, $$0657 = 0, $$0658 = 0, $$0659 = 0, $$0660 = 0, $$0661999 = 0;
var $$072$lcssa$i$ph = 0, $$072111$i = 0, $$075110$i = 0, $$078109$i = 0, $$0880 = 0, $$1 = 0, $$1$i695904 = 0, $$1$i697920 = 0, $$1$i712934 = 0, $$1$i714948 = 0, $$1$i716967 = 0, $$1$i718986 = 0, $$1$i7201009 = 0, $$1$i7221029 = 0, $$1$i7241048 = 0, $$1$i727 = 0, $$1$i7281067 = 0, $$1$i7301084 = 0, $$1$i7321099 = 0, $$1$i7361114 = 0;
var $$1$i741 = 0, $$1$i891 = 0, $$10 = 0, $$129$i = 0, $$149$i = 0, $$15$ph = 0, $$151$i = 0, $$1577 = 0, $$1593 = 0, $$1598 = 0, $$1602 = 0, $$1602$val = 0, $$16021598 = 0, $$16021601 = 0, $$1607 = 0, $$1609 = 0, $$1611 = 0, $$1614 = 0, $$1616 = 0, $$1618 = 0;
var $$1629 = 0, $$179$i = 0, $$2 = 0, $$2$i = 0, $$2$i742 = 0, $$252$i = 0, $$2578 = 0, $$2596 = 0, $$2599 = 0, $$2603$val = 0, $$26031169 = 0, $$26031595 = 0, $$2619 = 0, $$274$i = 0, $$277$i = 0, $$2882 = 0, $$31 = 0, $$31$ph = 0, $$31$ph1947 = 0, $$311119 = 0;
var $$31590 = 0, $$35356$i = 0, $$357$i = 0, $$35791589 = 0, $$3587 = 0, $$3591 = 0, $$3604 = 0, $$4605 = 0, $$4621 = 0, $$5622 = 0, $$6623 = 0, $$7624 = 0, $$9626 = 0, $$cast = 0, $$cast665 = 0, $$cast666 = 0, $$off = 0, $$off$i = 0, $$off$i699 = 0, $$off$i704 = 0;
var $$off1133 = 0, $$off1139 = 0, $$off1140 = 0, $$off13$i = 0, $$off13$i705 = 0, $$off14$i = 0, $$off14$i706 = 0, $$off95$i = 0, $$pn = 0, $$pn1138 = 0, $$pre$phi1937Z2D = 0, $$pre$phi1940Z2D = 0, $$pre$phiZ2D = 0, $$pre1939 = 0, $$sroa$0$0 = 0, $$sroa$0$0$in = 0, $$sroa$0$1$lcssa = 0, $$sroa$0$10 = 0, $$sroa$0$10$ph = 0, $$sroa$0$11606 = 0;
var $$sroa$0$11962$ph = 0, $$sroa$0$13 = 0, $$sroa$0$15 = 0, $$sroa$0$15$ph = 0, $$sroa$0$16981$ph = 0, $$sroa$0$171004$ph = 0, $$sroa$0$19 = 0, $$sroa$0$211024$ph = 0, $$sroa$0$221043$ph = 0, $$sroa$0$231062$ph = 0, $$sroa$0$251079$ph = 0, $$sroa$0$261094$ph = 0, $$sroa$0$27 = 0, $$sroa$0$281109$ph = 0, $$sroa$0$2886$ph = 0, $$sroa$0$29 = 0, $$sroa$0$29$ph = 0, $$sroa$0$29$ph1946 = 0, $$sroa$0$291118 = 0, $$sroa$0$291950 = 0;
var $$sroa$0$3 = 0, $$sroa$0$4899$ph = 0, $$sroa$0$5915$ph = 0, $$sroa$0$6929$ph = 0, $$sroa$0$7943$ph = 0, $$sroa$0$9 = 0, $$sroa$47$0$lcssa = 0, $$sroa$47$01605 = 0, $$sroa$47$10 = 0, $$sroa$47$10$ph = 0, $$sroa$47$11980$ph = 0, $$sroa$47$121003$ph = 0, $$sroa$47$131023$ph = 0, $$sroa$47$141042$ph = 0, $$sroa$47$151061$ph = 0, $$sroa$47$171078$ph = 0, $$sroa$47$181093$ph = 0, $$sroa$47$1885$ph = 0, $$sroa$47$19 = 0, $$sroa$47$2 = 0;
var $$sroa$47$201108$ph = 0, $$sroa$47$21 = 0, $$sroa$47$21$ph = 0, $$sroa$47$21$ph1945 = 0, $$sroa$47$211117 = 0, $$sroa$47$3898$ph = 0, $$sroa$47$4914$ph = 0, $$sroa$47$5928$ph = 0, $$sroa$47$6942$ph = 0, $$sroa$47$7 = 0, $$sroa$47$7$ph = 0, $$sroa$47$8960$ph = 0, $$sroa$81$0$lcssa = 0, $$sroa$81$0$ptr = 0, $$sroa$81$0$ptr$lcssa = 0, $$sroa$81$0$ptr$le = 0, $$sroa$81$0$ptr1621 = 0, $$sroa$81$01604 = 0, $$sroa$81$11$ptr = 0, $$sroa$81$12$ph = 0;
var $$sroa$81$13959$ph = 0, $$sroa$81$13959$ph$ptr$pre$phiZZZZZZ2D = 0, $$sroa$81$15$ptr = 0, $$sroa$81$17 = 0, $$sroa$81$1884$ph$ptr = 0, $$sroa$81$18979$ph$ptr = 0, $$sroa$81$2 = 0, $$sroa$81$2$ptr = 0, $$sroa$81$201002$ph = 0, $$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D = 0, $$sroa$81$22$ptr = 0, $$sroa$81$241022$ph$ptr = 0, $$sroa$81$261041$ph$ptr = 0, $$sroa$81$281060$ph$ptr = 0, $$sroa$81$301077$ph$ptr = 0, $$sroa$81$311092$ph$ptr = 0, $$sroa$81$32 = 0, $$sroa$81$331107$ptr$ph = 0, $$sroa$81$3897$ph$ptr = 0, $$sroa$81$5913$ph$ptr = 0;
var $$sroa$81$61599 = 0, $$sroa$81$7 = 0, $$sroa$81$8927$ph$ptr = 0, $$sroa$81$9941$ph = 0, $$sroa$81$9941$ph$ptr$pre$phiZZZZZZ2D = 0, $$v$i = 0, $$v80$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0;
var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0;
var $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0;
var $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0;
var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0;
var $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0;
var $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0;
var $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0;
var $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0;
var $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0;
var $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0;
var $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0;
var $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0;
var $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0;
var $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0;
var $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0;
var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0;
var $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0;
var $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0;
var $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0;
var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0;
var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0;
var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0;
var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0;
var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0;
var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0;
var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0;
var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0;
var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0;
var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0;
var $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0;
var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0;
var $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0;
var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $84 = 0, $85 = 0, $86 = 0;
var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current5 = 0;
var $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next21 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $cond$i = 0, $expanded = 0, $expanded22 = 0, $expanded24 = 0, $expanded25 = 0, $expanded26 = 0, $expanded28 = 0, $expanded29 = 0, $expanded31 = 0, $expanded32 = 0, $expanded33 = 0, $expanded35 = 0;
var $expanded36 = 0, $expanded38 = 0, $expanded39 = 0, $expanded40 = 0, $expanded42 = 0, $expanded43 = 0, $expanded45 = 0, $expanded46 = 0, $expanded47 = 0, $expanded49 = 0, $expanded50 = 0, $expanded52 = 0, $expanded53 = 0, $expanded54 = 0, $expanded56 = 0, $expanded57 = 0, $expanded59 = 0, $expanded60 = 0, $expanded61 = 0, $expanded63 = 0;
var $expanded64 = 0, $expanded66 = 0, $expanded67 = 0, $expanded68 = 0, $memchr = 0, $memchr663 = 0, $memchr664 = 0, $or$cond = 0, $or$cond1130 = 0, $or$cond14 = 0, $scevgep = 0, $scevgep$i = 0, $spec$select = 0, $spec$select$i = 0, $spec$select$i700 = 0, $spec$select$i707 = 0, $spec$select1129 = 0, $spec$select675 = 0, $spec$select676 = 0, $spec$select677 = 0;
var $spec$select678 = 0, $spec$select682 = 0, $spec$select81$i = 0, $spec$select82$i = 0, $spec$select83$i = 0, $vararg_buffer = 0, $vararg_buffer16 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$vararg_buffer16 = sp + 96|0;
$vararg_buffer = sp + 88|0;
$7 = sp + 108|0;
$8 = sp + 104|0;
$9 = sp + 100|0;
$10 = sp + 48|0;
$11 = sp;
$12 = ($0|0)==(0|0);
if ($12) {
$$0 = 45;
STACKTOP = sp;return ($$0|0);
}
HEAP32[$0>>2] = 0;
$13 = ($2|0)==(0|0);
if ($13) {
$$0 = 45;
STACKTOP = sp;return ($$0|0);
}
$14 = ($1|0)==(0|0);
$spec$select = $14 ? $7 : $1;
$15 = (($3) + 2)|0;
$16 = ($3|0)==(0);
if ($16) {
label = 6;
} else {
$17 = (__gcry_is_secure($2)|0);
$18 = ($17|0)==(0);
if ($18) {
label = 6;
} else {
$19 = (__gcry_malloc_secure($15)|0);
$$sroa$0$0$in = $19;
}
}
if ((label|0) == 6) {
$20 = (__gcry_malloc($15)|0);
$$sroa$0$0$in = $20;
}
$$sroa$0$0 = $$sroa$0$0$in;
$21 = ($$sroa$0$0$in|0)==(0|0);
L13: do {
if ($21) {
$22 = (___errno_location()|0);
$23 = HEAP32[$22>>2]|0;
$24 = (_gpg_err_code_from_errno($23)|0);
HEAP32[$spec$select>>2] = 0;
$$31 = $24;$$sroa$0$29 = $$sroa$0$0;$$sroa$47$21 = $15;
label = 287;
} else {
L16: do {
if ($16) {
$$0584$lcssa = $2;$$0628$lcssa = 0;$$sroa$0$1$lcssa = $$sroa$0$0;$$sroa$47$0$lcssa = 2;$$sroa$81$0$lcssa = $$sroa$0$0;$$sroa$81$0$ptr$lcssa = $$sroa$0$0$in;
} else {
$25 = ($5|0)==(0|0);
$26 = ($4|0)!=(0);
$$05841619 = $2;$$05881618 = $3;$$05921617 = 0;$$05941616 = 0;$$05971615 = 0;$$06011614 = 0;$$06061613 = 0;$$06081612 = 0;$$06101611 = 0;$$06131610 = 0;$$06151609 = 0;$$06171608 = 0;$$06281607 = 0;$$sroa$0$11606 = $$sroa$0$0;$$sroa$47$01605 = $15;$$sroa$81$0$ptr1621 = $$sroa$0$0$in;$$sroa$81$01604 = $$sroa$0$0;
L18: while(1) {
$27 = ($$05971615|0)==(0|0);
$28 = ($$06011614|0)!=(0|0);
$or$cond = $28 | $27;
if ($or$cond) {
$$1598 = $$05971615;$$sroa$0$3 = $$sroa$0$11606;$$sroa$47$2 = $$sroa$47$01605;$$sroa$81$2 = $$sroa$81$01604;
label = 20;
} else {
$29 = HEAP8[$$05841619>>0]|0;
$30 = $29 << 24 >> 24;
$memchr = (_memchr(16,$30,71)|0);
$31 = ($memchr|0)==(0|0);
if ($31) {
$32 = $$05841619;
$33 = $$05971615;
$34 = (($32) - ($33))|0;
$35 = $$sroa$0$11606;
$36 = (($$sroa$81$01604) - ($$sroa$0$11606))|0;
$37 = (($36) + 3)|0;
$38 = (($37) + ($34))|0;
$39 = ($38>>>0)<($$sroa$47$01605>>>0);
do {
if ($39) {
$$sroa$0$2886$ph = $$sroa$0$11606;$$sroa$47$1885$ph = $$sroa$47$01605;$$sroa$81$1884$ph$ptr = $$sroa$81$0$ptr1621;
} else {
$40 = $34 << 1;
$41 = (($$sroa$47$01605) + 6)|0;
$42 = (($41) + ($40))|0;
$43 = ($42>>>0)>($$sroa$47$01605>>>0);
if (!($43)) {
$$1$i891 = 67;
label = 18;
break L18;
}
$44 = (__gcry_realloc($35,$42)|0);
$45 = ($44|0)==(0|0);
if ($45) {
$48 = (___errno_location()|0);
$49 = HEAP32[$48>>2]|0;
$50 = (_gpg_err_code_from_errno($49)|0);
$51 = ($50|0)==(0);
if ($51) {
$$sroa$0$2886$ph = $$sroa$0$11606;$$sroa$47$1885$ph = $$sroa$47$01605;$$sroa$81$1884$ph$ptr = $$sroa$81$0$ptr1621;
break;
} else {
$$1$i891 = $50;
label = 18;
break L18;
}
} else {
$46 = (($44) + ($36)|0);
$47 = $44;
$$sroa$0$2886$ph = $47;$$sroa$47$1885$ph = $42;$$sroa$81$1884$ph$ptr = $46;
break;
}
}
} while(0);
$54 = ((($$sroa$81$1884$ph$ptr)) + 1|0);
HEAP8[$$sroa$81$1884$ph$ptr>>0] = 1;
$55 = $34&65535;
HEAP8[$54>>0]=$55&255;HEAP8[$54+1>>0]=$55>>8;
$56 = ((($$sroa$81$1884$ph$ptr)) + 3|0);
_memcpy(($56|0),($$05971615|0),($34|0))|0;
$57 = (($56) + ($34)|0);
$58 = $57;
$$1598 = 0;$$sroa$0$3 = $$sroa$0$2886$ph;$$sroa$47$2 = $$sroa$47$1885$ph;$$sroa$81$2 = $58;
label = 20;
} else {
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$05971615;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$11606;$$sroa$47$19 = $$sroa$47$01605;$$sroa$81$32 = $$sroa$81$01604;
}
}
L30: do {
if ((label|0) == 20) {
label = 0;
$$sroa$81$2$ptr = $$sroa$81$2;
$59 = ($$05941616|0)==(0|0);
if (!($59)) {
$60 = ($$06151609|0)==(0);
$61 = HEAP8[$$05841619>>0]|0;
if (!($60)) {
$62 = $61 << 24 >> 24;
switch ($62|0) {
case 92: case 39: case 34: case 114: case 102: case 110: case 118: case 116: case 98: {
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48: {
$63 = ($$05881618>>>0)>(2);
if (!($63)) {
label = 26;
break L18;
}
$64 = ((($$05841619)) + 1|0);
$65 = HEAP8[$64>>0]|0;
$66 = $65 & -8;
$67 = ($66<<24>>24)==(48);
if (!($67)) {
label = 26;
break L18;
}
$68 = ((($$05841619)) + 2|0);
$69 = HEAP8[$68>>0]|0;
$70 = $69 & -8;
$71 = ($70<<24>>24)==(48);
if (!($71)) {
label = 26;
break L18;
}
$75 = (($$05881618) + -2)|0;
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $68;$$3591 = $75;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
case 120: {
$76 = ($$05881618>>>0)>(2);
if (!($76)) {
label = 33;
break L18;
}
$77 = ((($$05841619)) + 1|0);
$78 = HEAP8[$77>>0]|0;
$$off = (($78) + -48)<<24>>24;
$79 = ($$off&255)<(10);
if (!($79)) {
switch ($78<<24>>24) {
case 65: case 66: case 67: case 68: case 69: case 70: case 97: case 98: case 99: case 100: case 101: case 102: {
break;
}
default: {
label = 33;
break L18;
}
}
}
$80 = ((($$05841619)) + 2|0);
$81 = HEAP8[$80>>0]|0;
$$off1133 = (($81) + -48)<<24>>24;
$82 = ($$off1133&255)<(10);
if (!($82)) {
switch ($81<<24>>24) {
case 65: case 66: case 67: case 68: case 69: case 70: case 97: case 98: case 99: case 100: case 101: case 102: {
break;
}
default: {
label = 33;
break L18;
}
}
}
$86 = (($$05881618) + -2)|0;
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $80;$$3591 = $86;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
case 13: {
$87 = ((($$05841619)) + 1|0);
$88 = HEAP8[$87>>0]|0;
$89 = ($88<<24>>24)==(10);
$90 = $89 << 31 >> 31;
$spec$select675 = (($$05881618) + ($90))|0;
$spec$select676 = $89 ? $87 : $$05841619;
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $spec$select676;$$3591 = $spec$select675;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
case 10: {
$91 = ((($$05841619)) + 1|0);
$92 = HEAP8[$91>>0]|0;
$93 = ($92<<24>>24)==(13);
$94 = $93 << 31 >> 31;
$spec$select677 = (($$05881618) + ($94))|0;
$spec$select678 = $93 ? $91 : $$05841619;
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $spec$select678;$$3591 = $spec$select677;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
default: {
label = 37;
break L18;
}
}
}
switch ($61<<24>>24) {
case 92: {
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 1;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
case 34: {
break;
}
default: {
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05941616;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
}
}
$98 = ((($$05941616)) + 1|0);
$99 = $$05841619;
$100 = $98;
$101 = (($99) - ($100))|0;
$102 = $$sroa$0$3;
$103 = (($$sroa$81$2) - ($$sroa$0$3))|0;
$104 = (($101) + 3)|0;
$105 = (($104) + ($103))|0;
$106 = ($105>>>0)<($$sroa$47$2>>>0);
do {
if ($106) {
$$sroa$0$4899$ph = $$sroa$0$3;$$sroa$47$3898$ph = $$sroa$47$2;$$sroa$81$3897$ph$ptr = $$sroa$81$2$ptr;
} else {
$107 = $101 << 1;
$108 = (($$sroa$47$2) + 6)|0;
$109 = (($108) + ($107))|0;
$110 = ($109>>>0)>($$sroa$47$2>>>0);
if (!($110)) {
$$1$i695904 = 67;
label = 82;
break L18;
}
$111 = (__gcry_realloc($102,$109)|0);
$112 = ($111|0)==(0|0);
if ($112) {
$115 = (___errno_location()|0);
$116 = HEAP32[$115>>2]|0;
$117 = (_gpg_err_code_from_errno($116)|0);
$118 = ($117|0)==(0);
if ($118) {
$$sroa$0$4899$ph = $$sroa$0$3;$$sroa$47$3898$ph = $$sroa$47$2;$$sroa$81$3897$ph$ptr = $$sroa$81$2$ptr;
break;
} else {
$$1$i695904 = $117;
label = 82;
break L18;
}
} else {
$113 = (($111) + ($103)|0);
$114 = $111;
$$sroa$0$4899$ph = $114;$$sroa$47$3898$ph = $109;$$sroa$81$3897$ph$ptr = $113;
break;
}
}
} while(0);
$119 = ((($$sroa$81$3897$ph$ptr)) + 1|0);
HEAP8[$$sroa$81$3897$ph$ptr>>0] = 1;
HEAP8[$119>>0]=0&255;HEAP8[$119+1>>0]=0>>8;
$120 = ((($$sroa$81$3897$ph$ptr)) + 3|0);
$121 = $120;
$122 = ($101|0)==(0);
if ($122) {
$$pre$phi1940Z2D = $121;
} else {
$$0112$i = $101;$$072111$i = $120;$$075110$i = $98;$$078109$i = 0;
L64: while(1) {
$123 = ($$078109$i|0)==(0);
$124 = HEAP8[$$075110$i>>0]|0;
$125 = $124&255;
L66: do {
if ($123) {
$191 = ($124<<24>>24)==(92);
if ($191) {
$$179$i = 1;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
} else {
$192 = ((($$072111$i)) + 1|0);
HEAP8[$$072111$i>>0] = $124;
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $192;$$277$i = $$075110$i;
}
} else {
do {
switch ($124<<24>>24) {
case 98: {
$126 = ((($$072111$i)) + 1|0);
HEAP8[$$072111$i>>0] = 8;
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $126;$$277$i = $$075110$i;
break L66;
break;
}
case 116: {
$127 = ((($$072111$i)) + 1|0);
HEAP8[$$072111$i>>0] = 9;
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $127;$$277$i = $$075110$i;
break L66;
break;
}
case 118: {
$128 = ((($$072111$i)) + 1|0);
HEAP8[$$072111$i>>0] = 11;
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $128;$$277$i = $$075110$i;
break L66;
break;
}
case 110: {
$129 = ((($$072111$i)) + 1|0);
HEAP8[$$072111$i>>0] = 10;
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $129;$$277$i = $$075110$i;
break L66;
break;
}
case 102: {
$130 = ((($$072111$i)) + 1|0);
HEAP8[$$072111$i>>0] = 12;
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $130;$$277$i = $$075110$i;
break L66;
break;
}
case 114: {
$131 = ((($$072111$i)) + 1|0);
HEAP8[$$072111$i>>0] = 13;
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $131;$$277$i = $$075110$i;
break L66;
break;
}
case 34: {
$132 = ((($$072111$i)) + 1|0);
HEAP8[$$072111$i>>0] = 34;
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $132;$$277$i = $$075110$i;
break L66;
break;
}
case 39: {
$133 = ((($$072111$i)) + 1|0);
HEAP8[$$072111$i>>0] = 39;
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $133;$$277$i = $$075110$i;
break L66;
break;
}
case 92: {
$134 = ((($$072111$i)) + 1|0);
HEAP8[$$072111$i>>0] = 92;
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $134;$$277$i = $$075110$i;
break L66;
break;
}
case 13: {
$135 = ($$0112$i>>>0)>(1);
$136 = ((($$075110$i)) + 1|0);
if (!($135)) {
$$072$lcssa$i$ph = $$072111$i;
break L64;
}
$137 = HEAP8[$136>>0]|0;
$138 = ($137<<24>>24)==(10);
$spec$select$i = $138 ? $136 : $$075110$i;
$139 = $138 << 31 >> 31;
$spec$select81$i = (($$0112$i) + ($139))|0;
$$179$i = 0;$$2$i = $spec$select81$i;$$274$i = $$072111$i;$$277$i = $spec$select$i;
break L66;
break;
}
case 10: {
$140 = ($$0112$i>>>0)>(1);
$141 = ((($$075110$i)) + 1|0);
if (!($140)) {
$$072$lcssa$i$ph = $$072111$i;
break L64;
}
$142 = HEAP8[$141>>0]|0;
$143 = ($142<<24>>24)==(13);
$spec$select82$i = $143 ? $141 : $$075110$i;
$144 = $143 << 31 >> 31;
$spec$select83$i = (($$0112$i) + ($144))|0;
$$179$i = 0;$$2$i = $spec$select83$i;$$274$i = $$072111$i;$$277$i = $spec$select82$i;
break L66;
break;
}
case 120: {
$145 = ($$0112$i>>>0)>(2);
if (!($145)) {
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
break L66;
}
$146 = ((($$075110$i)) + 1|0);
$147 = HEAP8[$146>>0]|0;
$148 = ($147&255)<(58);
$$off$i = (($147) + -48)<<24>>24;
$149 = ($$off$i&255)<(10);
if (!($149)) {
switch ($147<<24>>24) {
case 65: case 66: case 67: case 68: case 69: case 70: case 97: case 98: case 99: case 100: case 101: case 102: {
break;
}
default: {
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
break L66;
}
}
}
$150 = ((($$075110$i)) + 2|0);
$151 = HEAP8[$150>>0]|0;
$152 = ($151&255)<(58);
$$off95$i = (($151) + -48)<<24>>24;
$153 = ($$off95$i&255)<(10);
if (!($153)) {
switch ($151<<24>>24) {
case 65: case 66: case 67: case 68: case 69: case 70: case 97: case 98: case 99: case 100: case 101: case 102: {
break;
}
default: {
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
break L66;
}
}
}
$154 = $147&255;
if ($148) {
$155 = (($154) + -48)|0;
$159 = $155;
} else {
$156 = ($147&255)<(71);
$$v$i = $156 ? -55 : -87;
$157 = (($$v$i) + ($154))|0;
$159 = $157;
}
$158 = $159 << 4;
$160 = $151&255;
if ($152) {
$161 = (($160) + -48)|0;
$165 = $161;
} else {
$162 = ($151&255)<(71);
$$v80$i = $162 ? -55 : -87;
$163 = (($$v80$i) + ($160))|0;
$165 = $163;
}
$164 = (($165) + ($158))|0;
$166 = $164&255;
$167 = ((($$072111$i)) + 1|0);
HEAP8[$$072111$i>>0] = $166;
$168 = (($$0112$i) + -2)|0;
$$179$i = 0;$$2$i = $168;$$274$i = $167;$$277$i = $150;
break L66;
break;
}
default: {
$169 = ($$0112$i>>>0)>(2);
$170 = $124 & -8;
$171 = ($170<<24>>24)==(48);
$172 = $169 & $171;
if (!($172)) {
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
break L66;
}
$173 = ((($$075110$i)) + 1|0);
$174 = HEAP8[$173>>0]|0;
$175 = $174 & -8;
$176 = ($175<<24>>24)==(48);
if (!($176)) {
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
break L66;
}
$177 = ((($$075110$i)) + 2|0);
$178 = HEAP8[$177>>0]|0;
$179 = $178 & -8;
$180 = ($179<<24>>24)==(48);
if (!($180)) {
$$179$i = 0;$$2$i = $$0112$i;$$274$i = $$072111$i;$$277$i = $$075110$i;
break L66;
}
$181 = (($$0112$i) + -2)|0;
$182 = ((($$072111$i)) + 1|0);
$183 = $125 << 6;
$184 = $174&255;
$185 = $184 << 3;
$186 = $178&255;
$187 = (($183) + 80)|0;
$188 = (($187) + ($185))|0;
$189 = (($188) + ($186))|0;
$190 = $189&255;
HEAP8[$$072111$i>>0] = $190;
$$179$i = 0;$$2$i = $181;$$274$i = $182;$$277$i = $177;
break L66;
}
}
} while(0);
}
} while(0);
$193 = (($$2$i) + -1)|0;
$194 = ((($$277$i)) + 1|0);
$195 = ($193|0)==(0);
if ($195) {
$$072$lcssa$i$ph = $$274$i;
break;
} else {
$$0112$i = $193;$$072111$i = $$274$i;$$075110$i = $194;$$078109$i = $$179$i;
}
}
$$pre1939 = $$072$lcssa$i$ph;
$$pre$phi1940Z2D = $$pre1939;
}
$196 = (($$pre$phi1940Z2D) - ($121))|0;
$197 = $196&65535;
HEAP8[$119>>0]=$197&255;HEAP8[$119+1>>0]=$197>>8;
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$4899$ph;$$sroa$47$19 = $$sroa$47$3898$ph;$$sroa$81$32 = $$pre$phi1940Z2D;
break;
}
if ($28) {
$200 = HEAP8[$$05841619>>0]|0;
$201 = $200 << 24 >> 24;
$202 = (_isxdigit($201)|0);
$203 = ($202|0)==(0);
if (!($203)) {
$204 = (($$06131610) + 1)|0;
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $204;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break;
}
$205 = ($200<<24>>24)==(35);
if (!($205)) {
switch ($201|0) {
case 10: case 13: case 12: case 11: case 9: case 32: {
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$06011614;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
default: {
label = 114;
break L18;
}
}
}
$206 = $$06131610 & 1;
$207 = ($206|0)==(0);
if (!($207)) {
label = 88;
break L18;
}
$211 = (($$06131610|0) / 2)&-1;
$212 = $$sroa$0$3;
$213 = (($$sroa$81$2) - ($$sroa$0$3))|0;
$214 = (($211) + 3)|0;
$215 = (($214) + ($213))|0;
$216 = ($215>>>0)<($$sroa$47$2>>>0);
do {
if ($216) {
$$sroa$0$5915$ph = $$sroa$0$3;$$sroa$47$4914$ph = $$sroa$47$2;$$sroa$81$5913$ph$ptr = $$sroa$81$2$ptr;
} else {
$217 = $211 << 1;
$218 = (($$sroa$47$2) + 6)|0;
$219 = (($218) + ($217))|0;
$220 = ($219>>>0)>($$sroa$47$2>>>0);
if (!($220)) {
$$1$i697920 = 67;
label = 94;
break L18;
}
$221 = (__gcry_realloc($212,$219)|0);
$222 = ($221|0)==(0|0);
if ($222) {
$225 = (___errno_location()|0);
$226 = HEAP32[$225>>2]|0;
$227 = (_gpg_err_code_from_errno($226)|0);
$228 = ($227|0)==(0);
if ($228) {
$$sroa$0$5915$ph = $$sroa$0$3;$$sroa$47$4914$ph = $$sroa$47$2;$$sroa$81$5913$ph$ptr = $$sroa$81$2$ptr;
break;
} else {
$$1$i697920 = $227;
label = 94;
break L18;
}
} else {
$223 = (($221) + ($213)|0);
$224 = $221;
$$sroa$0$5915$ph = $224;$$sroa$47$4914$ph = $219;$$sroa$81$5913$ph$ptr = $223;
break;
}
}
} while(0);
$232 = ((($$sroa$81$5913$ph$ptr)) + 1|0);
HEAP8[$$sroa$81$5913$ph$ptr>>0] = 1;
$233 = $211&65535;
HEAP8[$232>>0]=$233&255;HEAP8[$232+1>>0]=$233>>8;
$234 = ((($$sroa$81$5913$ph$ptr)) + 3|0);
$235 = $234;
$$16021598 = ((($$06011614)) + 1|0);
$236 = ($$16021598>>>0)<($$05841619>>>0);
if (!($236)) {
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$5915$ph;$$sroa$47$19 = $$sroa$47$4914$ph;$$sroa$81$32 = $235;
break;
}
$$0601$pn1600 = $$06011614;$$16021601 = $$16021598;$$sroa$81$61599 = $235;
while(1) {
$$1602$val = HEAP8[$$16021601>>0]|0;
$237 = $$1602$val << 24 >> 24;
switch ($237|0) {
case 10: case 13: case 12: case 11: case 9: case 32: {
$$3604 = $$16021601;$$sroa$81$7 = $$sroa$81$61599;
break;
}
default: {
$238 = $$1602$val&255;
$$off$i699 = (($238) + -48)|0;
$239 = ($$off$i699>>>0)<(10);
do {
if ($239) {
$250 = $$off$i699;
} else {
$$off13$i = (($238) + -65)|0;
$240 = ($$off13$i>>>0)<(6);
if ($240) {
$241 = (($238) + -55)|0;
$250 = $241;
break;
} else {
$$off14$i = (($238) + -97)|0;
$242 = ($$off14$i>>>0)<(6);
$243 = (($238) + -87)|0;
$spec$select$i700 = $242 ? $243 : 0;
$250 = $spec$select$i700;
break;
}
}
} while(0);
$244 = ((($$0601$pn1600)) + 2|0);
$245 = ($244>>>0)<($$05841619>>>0);
L135: do {
if ($245) {
$$26031595 = $244;
L137: while(1) {
$$2603$val = HEAP8[$$26031595>>0]|0;
$246 = $$2603$val << 24 >> 24;
switch ($246|0) {
case 10: case 13: case 12: case 11: case 9: case 32: {
break;
}
default: {
break L137;
}
}
$247 = ((($$26031595)) + 1|0);
$248 = ($247>>>0)<($$05841619>>>0);
if ($248) {
$$26031595 = $247;
} else {
$$0657 = $250;$$26031169 = $247;
break L135;
}
}
$249 = $250 << 4;
$251 = $$2603$val&255;
$$off$i704 = (($251) + -48)|0;
$252 = ($$off$i704>>>0)<(10);
do {
if ($252) {
$258 = $$off$i704;
} else {
$$off13$i705 = (($251) + -65)|0;
$253 = ($$off13$i705>>>0)<(6);
if ($253) {
$254 = (($251) + -55)|0;
$258 = $254;
break;
} else {
$$off14$i706 = (($251) + -97)|0;
$255 = ($$off14$i706>>>0)<(6);
$256 = (($251) + -87)|0;
$spec$select$i707 = $255 ? $256 : 0;
$258 = $spec$select$i707;
break;
}
}
} while(0);
$257 = (($258) + ($249))|0;
$$0657 = $257;$$26031169 = $$26031595;
} else {
$$0657 = $250;$$26031169 = $244;
}
} while(0);
$259 = $$0657&255;
$260 = $$sroa$81$61599;
$261 = ((($260)) + 1|0);
$262 = $261;
HEAP8[$260>>0] = $259;
$$3604 = $$26031169;$$sroa$81$7 = $262;
}
}
$$1602 = ((($$3604)) + 1|0);
$263 = ($$1602>>>0)<($$05841619>>>0);
if ($263) {
$$0601$pn1600 = $$3604;$$16021601 = $$1602;$$sroa$81$61599 = $$sroa$81$7;
} else {
$$1593 = $$05921617;$$1607 = $$06061613;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$5915$ph;$$sroa$47$19 = $$sroa$47$4914$ph;$$sroa$81$32 = $$sroa$81$7;
break L30;
}
}
}
$267 = ($$06061613|0)==(0|0);
if (!($267)) {
$268 = HEAP8[$$05841619>>0]|0;
$269 = ($268<<24>>24)==(124);
$spec$select682 = $269 ? 0 : $$06061613;
$$1593 = $$05921617;$$1607 = $spec$select682;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break;
}
$270 = ($$05921617|0)==(0|0);
if (!($270)) {
$271 = HEAP8[$$05841619>>0]|0;
$$off1139 = (($271) + -48)<<24>>24;
$272 = ($$off1139&255)<(10);
if ($272) {
$$1593 = $$05921617;$$1607 = 0;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break;
}
switch ($271<<24>>24) {
case 34: {
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05841619;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
case 58: {
$273 = (_atoi($$05921617)|0);
$274 = (($$05881618) + -1)|0;
$275 = ($273>>>0)>($274>>>0);
if ($275) {
label = 121;
break L18;
}
$279 = $$sroa$0$3;
$280 = (($$sroa$81$2) - ($$sroa$0$3))|0;
$281 = (($280) + 3)|0;
$282 = (($281) + ($273))|0;
$283 = ($282>>>0)<($$sroa$47$2>>>0);
do {
if ($283) {
$$sroa$0$6929$ph = $$sroa$0$3;$$sroa$47$5928$ph = $$sroa$47$2;$$sroa$81$8927$ph$ptr = $$sroa$81$2$ptr;
} else {
$284 = $273 << 1;
$285 = (($$sroa$47$2) + 6)|0;
$286 = (($285) + ($284))|0;
$287 = ($286>>>0)>($$sroa$47$2>>>0);
if (!($287)) {
$$1$i712934 = 67;
label = 127;
break L18;
}
$288 = (__gcry_realloc($279,$286)|0);
$289 = ($288|0)==(0|0);
if ($289) {
$292 = (___errno_location()|0);
$293 = HEAP32[$292>>2]|0;
$294 = (_gpg_err_code_from_errno($293)|0);
$295 = ($294|0)==(0);
if ($295) {
$$sroa$0$6929$ph = $$sroa$0$3;$$sroa$47$5928$ph = $$sroa$47$2;$$sroa$81$8927$ph$ptr = $$sroa$81$2$ptr;
break;
} else {
$$1$i712934 = $294;
label = 127;
break L18;
}
} else {
$290 = (($288) + ($280)|0);
$291 = $288;
$$sroa$0$6929$ph = $291;$$sroa$47$5928$ph = $286;$$sroa$81$8927$ph$ptr = $290;
break;
}
}
} while(0);
$299 = ((($$sroa$81$8927$ph$ptr)) + 1|0);
HEAP8[$$sroa$81$8927$ph$ptr>>0] = 1;
$300 = $273&65535;
HEAP8[$299>>0]=$300&255;HEAP8[$299+1>>0]=$300>>8;
$301 = ((($$sroa$81$8927$ph$ptr)) + 3|0);
$302 = ((($$05841619)) + 1|0);
_memcpy(($301|0),($302|0),($273|0))|0;
$303 = (($301) + ($273)|0);
$304 = $303;
$305 = (($$05881618) - ($273))|0;
$306 = (($$05841619) + ($273)|0);
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $306;$$3591 = $305;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$6929$ph;$$sroa$47$19 = $$sroa$47$5928$ph;$$sroa$81$32 = $304;
break L30;
break;
}
case 35: {
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = 0;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$05841619;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
case 124: {
$$1593 = 0;$$1607 = $$05841619;$$1609 = $$06081612;$$1611 = $$06101611;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
default: {
label = 131;
break L18;
}
}
}
$310 = ($$06101611|0)==(0|0);
$311 = HEAP8[$$05841619>>0]|0;
if ($310) {
switch ($311<<24>>24) {
case 34: {
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = 0;$$1629 = $$06281607;$$2596 = $$05841619;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
case 40: {
$652 = ($$06081612|0)==(0|0);
if (!($652)) {
label = 239;
break L18;
}
$656 = $$sroa$0$3;
$657 = (($$sroa$81$2) - ($$sroa$0$3))|0;
$658 = (($657) + 3)|0;
$659 = ($658>>>0)<($$sroa$47$2>>>0);
do {
if ($659) {
$$sroa$0$251079$ph = $$sroa$0$3;$$sroa$47$171078$ph = $$sroa$47$2;$$sroa$81$301077$ph$ptr = $$sroa$81$2$ptr;
} else {
$660 = (($$sroa$47$2) + 6)|0;
$661 = ($$sroa$47$2>>>0)<(4294967290);
if (!($661)) {
$$1$i7301084 = 67;
label = 245;
break L18;
}
$662 = (__gcry_realloc($656,$660)|0);
$663 = ($662|0)==(0|0);
if ($663) {
$666 = (___errno_location()|0);
$667 = HEAP32[$666>>2]|0;
$668 = (_gpg_err_code_from_errno($667)|0);
$669 = ($668|0)==(0);
if ($669) {
$$sroa$0$251079$ph = $$sroa$0$3;$$sroa$47$171078$ph = $$sroa$47$2;$$sroa$81$301077$ph$ptr = $$sroa$81$2$ptr;
break;
} else {
$$1$i7301084 = $668;
label = 245;
break L18;
}
} else {
$664 = (($662) + ($657)|0);
$665 = $662;
$$sroa$0$251079$ph = $665;$$sroa$47$171078$ph = $660;$$sroa$81$301077$ph$ptr = $664;
break;
}
}
} while(0);
$673 = ((($$sroa$81$301077$ph$ptr)) + 1|0);
$674 = $673;
HEAP8[$$sroa$81$301077$ph$ptr>>0] = 3;
$675 = (($$06281607) + 1)|0;
$$1593 = 0;$$1607 = 0;$$1609 = 0;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $675;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$251079$ph;$$sroa$47$19 = $$sroa$47$171078$ph;$$sroa$81$32 = $674;
break L30;
break;
}
case 41: {
$676 = ($$06081612|0)==(0|0);
if (!($676)) {
label = 248;
break L18;
}
$680 = $$sroa$0$3;
$681 = (($$sroa$81$2) - ($$sroa$0$3))|0;
$682 = (($681) + 3)|0;
$683 = ($682>>>0)<($$sroa$47$2>>>0);
do {
if ($683) {
$$sroa$0$261094$ph = $$sroa$0$3;$$sroa$47$181093$ph = $$sroa$47$2;$$sroa$81$311092$ph$ptr = $$sroa$81$2$ptr;
} else {
$684 = (($$sroa$47$2) + 6)|0;
$685 = ($$sroa$47$2>>>0)<(4294967290);
if (!($685)) {
$$1$i7321099 = 67;
label = 254;
break L18;
}
$686 = (__gcry_realloc($680,$684)|0);
$687 = ($686|0)==(0|0);
if ($687) {
$690 = (___errno_location()|0);
$691 = HEAP32[$690>>2]|0;
$692 = (_gpg_err_code_from_errno($691)|0);
$693 = ($692|0)==(0);
if ($693) {
$$sroa$0$261094$ph = $$sroa$0$3;$$sroa$47$181093$ph = $$sroa$47$2;$$sroa$81$311092$ph$ptr = $$sroa$81$2$ptr;
break;
} else {
$$1$i7321099 = $692;
label = 254;
break L18;
}
} else {
$688 = (($686) + ($681)|0);
$689 = $686;
$$sroa$0$261094$ph = $689;$$sroa$47$181093$ph = $684;$$sroa$81$311092$ph$ptr = $688;
break;
}
}
} while(0);
$697 = ((($$sroa$81$311092$ph$ptr)) + 1|0);
$698 = $697;
HEAP8[$$sroa$81$311092$ph$ptr>>0] = 4;
$699 = (($$06281607) + -1)|0;
$$1593 = 0;$$1607 = 0;$$1609 = 0;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $699;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$261094$ph;$$sroa$47$19 = $$sroa$47$181093$ph;$$sroa$81$32 = $698;
break L30;
break;
}
case 35: {
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = 0;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = $$05841619;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
case 124: {
$$1593 = 0;$$1607 = $$05841619;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
case 91: {
$700 = ($$06081612|0)==(0|0);
if ($700) {
$$1593 = 0;$$1607 = 0;$$1609 = $$05841619;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
} else {
label = 259;
break L18;
}
break;
}
case 93: {
$704 = ($$06081612|0)==(0|0);
if ($704) {
label = 261;
break L18;
} else {
$$1593 = 0;$$1607 = 0;$$1609 = 0;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
}
break;
}
default: {
$$off1140 = (($311) + -48)<<24>>24;
$708 = ($$off1140&255)<(10);
if ($708) {
$709 = ($311<<24>>24)==(48);
if ($709) {
label = 264;
break L18;
} else {
$$1593 = $$05841619;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
}
}
$713 = $311 << 24 >> 24;
$memchr663 = (_memchr(16,$713,71)|0);
$714 = ($memchr663|0)==(0|0);
if (!($714)) {
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$05841619;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
}
switch ($713|0) {
case 10: case 13: case 12: case 11: case 9: case 32: {
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
break;
}
default: {
}
}
$715 = ($311<<24>>24)==(123);
if ($715) {
label = 268;
break L18;
}
$memchr664 = (_memchr(44690,$713,3)|0);
$719 = ($memchr664|0)==(0|0);
if (!($719)) {
label = 270;
break L18;
}
$723 = ($311<<24>>24)==(37);
$or$cond1130 = $26 & $723;
if ($or$cond1130) {
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = $$05841619;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$06171608;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
} else {
label = 272;
break L18;
}
}
}
}
switch ($311<<24>>24) {
case 77: case 109: {
HEAP32[$8>>2] = 0;
$312 = HEAP8[$$05841619>>0]|0;
$313 = ($312<<24>>24)==(109);
$314 = $313 ? 1 : 5;
if ($25) {
$arglist_current = HEAP32[$6>>2]|0;
$315 = $arglist_current;
$316 = ((0) + 4|0);
$expanded22 = $316;
$expanded = (($expanded22) - 1)|0;
$317 = (($315) + ($expanded))|0;
$318 = ((0) + 4|0);
$expanded26 = $318;
$expanded25 = (($expanded26) - 1)|0;
$expanded24 = $expanded25 ^ -1;
$319 = $317 & $expanded24;
$320 = $319;
$321 = HEAP32[$320>>2]|0;
$arglist_next = ((($320)) + 4|0);
HEAP32[$6>>2] = $arglist_next;
$$0658 = $321;$$1618 = $$06171608;
} else {
$322 = (($$06171608) + 1)|0;
$323 = (($5) + ($$06171608<<2)|0);
$324 = HEAP32[$323>>2]|0;
$325 = HEAP32[$324>>2]|0;
$$0658 = $325;$$1618 = $322;
}
$326 = (__gcry_mpi_get_flag($$0658,2)|0);
$327 = ($326|0)==(0);
if ($327) {
$375 = (__gcry_mpi_print($314,0,0,$8,$$0658)|0);
$376 = ($375|0)==(0);
if (!($376)) {
label = 154;
break L18;
}
$377 = HEAP32[$8>>2]|0;
$378 = $$sroa$0$3;
$379 = (($$sroa$81$2) - ($$sroa$0$3))|0;
$380 = (($379) + 3)|0;
$381 = (($380) + ($377))|0;
$382 = ($381>>>0)<($$sroa$47$2>>>0);
do {
if ($382) {
$$pre$phiZ2D = $378;$$sroa$0$11962$ph = $$sroa$0$3;$$sroa$47$8960$ph = $$sroa$47$2;$$sroa$81$13959$ph = $$sroa$81$2;$$sroa$81$13959$ph$ptr$pre$phiZZZZZZ2D = $$sroa$81$2$ptr;
} else {
$383 = $377 << 1;
$384 = (($$sroa$47$2) + 6)|0;
$385 = (($384) + ($383))|0;
$386 = ($385>>>0)>($$sroa$47$2>>>0);
if (!($386)) {
$$1$i716967 = 67;
label = 160;
break L18;
}
$387 = (__gcry_realloc($378,$385)|0);
$388 = ($387|0)==(0|0);
if ($388) {
$392 = (___errno_location()|0);
$393 = HEAP32[$392>>2]|0;
$394 = (_gpg_err_code_from_errno($393)|0);
$395 = ($394|0)==(0);
if ($395) {
$$pre$phiZ2D = $378;$$sroa$0$11962$ph = $$sroa$0$3;$$sroa$47$8960$ph = $$sroa$47$2;$$sroa$81$13959$ph = $$sroa$81$2;$$sroa$81$13959$ph$ptr$pre$phiZZZZZZ2D = $$sroa$81$2$ptr;
break;
} else {
$$1$i716967 = $394;
label = 160;
break L18;
}
} else {
$389 = (($387) + ($379)|0);
$390 = $389;
$391 = $387;
$$pre$phiZ2D = $387;$$sroa$0$11962$ph = $391;$$sroa$47$8960$ph = $385;$$sroa$81$13959$ph = $390;$$sroa$81$13959$ph$ptr$pre$phiZZZZZZ2D = $389;
break;
}
}
} while(0);
$399 = (__gcry_is_secure($$pre$phiZ2D)|0);
$400 = ($399|0)==(0);
do {
if ($400) {
$401 = (__gcry_mpi_get_flag($$0658,1)|0);
$402 = ($401|0)==(0);
if ($402) {
$$sroa$0$13 = $$sroa$0$11962$ph;$$sroa$81$15$ptr = $$sroa$81$13959$ph$ptr$pre$phiZZZZZZ2D;
break;
}
$403 = (__gcry_malloc_secure($$sroa$47$8960$ph)|0);
$404 = ($403|0)==(0|0);
if ($404) {
label = 165;
break L18;
}
$405 = (($$sroa$81$13959$ph) - ($$sroa$0$11962$ph))|0;
_memcpy(($403|0),($$pre$phiZ2D|0),($405|0))|0;
$406 = (($403) + ($405)|0);
$$cast665 = $$sroa$0$11962$ph;
__gcry_free($$cast665);
$407 = $403;
$$sroa$0$13 = $407;$$sroa$81$15$ptr = $406;
} else {
$$sroa$0$13 = $$sroa$0$11962$ph;$$sroa$81$15$ptr = $$sroa$81$13959$ph$ptr$pre$phiZZZZZZ2D;
}
} while(0);
$411 = ((($$sroa$81$15$ptr)) + 1|0);
HEAP8[$$sroa$81$15$ptr>>0] = 1;
$412 = HEAP32[$8>>2]|0;
$413 = $412&65535;
HEAP8[$411>>0]=$413&255;HEAP8[$411+1>>0]=$413>>8;
$414 = ((($$sroa$81$15$ptr)) + 3|0);
$415 = HEAP32[$8>>2]|0;
$416 = (__gcry_mpi_print($314,$414,$415,$8,$$0658)|0);
$417 = ($416|0)==(0);
if (!($417)) {
label = 167;
break L18;
}
$418 = HEAP32[$8>>2]|0;
$419 = (($414) + ($418)|0);
$420 = $419;
$$sroa$0$15 = $$sroa$0$13;$$sroa$47$10 = $$sroa$47$8960$ph;$$sroa$81$17 = $420;
} else {
$328 = (__gcry_mpi_get_opaque($$0658,$9)|0);
$329 = HEAP32[$9>>2]|0;
$330 = (($329) + 7)|0;
$331 = $330 >>> 3;
HEAP32[$8>>2] = $331;
$332 = ($328|0)!=(0|0);
$333 = ($331|0)!=(0);
$or$cond14 = $332 & $333;
if ($or$cond14) {
$334 = $$sroa$0$3;
$335 = (($$sroa$81$2) - ($$sroa$0$3))|0;
$336 = (($335) + 3)|0;
$337 = (($336) + ($331))|0;
$338 = ($337>>>0)<($$sroa$47$2>>>0);
do {
if ($338) {
$$pre$phi1937Z2D = $334;$$sroa$0$7943$ph = $$sroa$0$3;$$sroa$47$6942$ph = $$sroa$47$2;$$sroa$81$9941$ph = $$sroa$81$2;$$sroa$81$9941$ph$ptr$pre$phiZZZZZZ2D = $$sroa$81$2$ptr;
} else {
$339 = $331 << 1;
$340 = (($$sroa$47$2) + 6)|0;
$341 = (($340) + ($339))|0;
$342 = ($341>>>0)>($$sroa$47$2>>>0);
if (!($342)) {
$$1$i714948 = 67;
label = 144;
break L18;
}
$343 = (__gcry_realloc($334,$341)|0);
$344 = ($343|0)==(0|0);
if ($344) {
$348 = (___errno_location()|0);
$349 = HEAP32[$348>>2]|0;
$350 = (_gpg_err_code_from_errno($349)|0);
$351 = ($350|0)==(0);
if ($351) {
$$pre$phi1937Z2D = $334;$$sroa$0$7943$ph = $$sroa$0$3;$$sroa$47$6942$ph = $$sroa$47$2;$$sroa$81$9941$ph = $$sroa$81$2;$$sroa$81$9941$ph$ptr$pre$phiZZZZZZ2D = $$sroa$81$2$ptr;
break;
} else {
$$1$i714948 = $350;
label = 144;
break L18;
}
} else {
$345 = (($343) + ($335)|0);
$346 = $345;
$347 = $343;
$$pre$phi1937Z2D = $343;$$sroa$0$7943$ph = $347;$$sroa$47$6942$ph = $341;$$sroa$81$9941$ph = $346;$$sroa$81$9941$ph$ptr$pre$phiZZZZZZ2D = $345;
break;
}
}
} while(0);
$355 = (__gcry_is_secure($$pre$phi1937Z2D)|0);
$356 = ($355|0)==(0);
do {
if ($356) {
$357 = (__gcry_mpi_get_flag($$0658,1)|0);
$358 = ($357|0)==(0);
if ($358) {
$$sroa$0$9 = $$sroa$0$7943$ph;$$sroa$81$11$ptr = $$sroa$81$9941$ph$ptr$pre$phiZZZZZZ2D;
break;
}
$359 = (__gcry_malloc_secure($$sroa$47$6942$ph)|0);
$360 = ($359|0)==(0|0);
if ($360) {
label = 149;
break L18;
}
$361 = (($$sroa$81$9941$ph) - ($$sroa$0$7943$ph))|0;
_memcpy(($359|0),($$pre$phi1937Z2D|0),($361|0))|0;
$362 = (($359) + ($361)|0);
$$cast666 = $$sroa$0$7943$ph;
__gcry_free($$cast666);
$363 = $359;
$$sroa$0$9 = $363;$$sroa$81$11$ptr = $362;
} else {
$$sroa$0$9 = $$sroa$0$7943$ph;$$sroa$81$11$ptr = $$sroa$81$9941$ph$ptr$pre$phiZZZZZZ2D;
}
} while(0);
$367 = ((($$sroa$81$11$ptr)) + 1|0);
HEAP8[$$sroa$81$11$ptr>>0] = 1;
$368 = HEAP32[$8>>2]|0;
$369 = $368&65535;
HEAP8[$367>>0]=$369&255;HEAP8[$367+1>>0]=$369>>8;
$370 = ((($$sroa$81$11$ptr)) + 3|0);
$371 = HEAP32[$8>>2]|0;
_memcpy(($370|0),($328|0),($371|0))|0;
$372 = HEAP32[$8>>2]|0;
$373 = (($370) + ($372)|0);
$374 = $373;
$$sroa$0$10$ph = $$sroa$0$9;$$sroa$47$7$ph = $$sroa$47$6942$ph;$$sroa$81$12$ph = $374;
} else {
$$sroa$0$10$ph = $$sroa$0$3;$$sroa$47$7$ph = $$sroa$47$2;$$sroa$81$12$ph = $$sroa$81$2;
}
$$sroa$0$15 = $$sroa$0$10$ph;$$sroa$47$10 = $$sroa$47$7$ph;$$sroa$81$17 = $$sroa$81$12$ph;
}
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$1618;$$sroa$0$27 = $$sroa$0$15;$$sroa$47$19 = $$sroa$47$10;$$sroa$81$32 = $$sroa$81$17;
break L30;
break;
}
case 115: {
if ($25) {
$arglist_current2 = HEAP32[$6>>2]|0;
$421 = $arglist_current2;
$422 = ((0) + 4|0);
$expanded29 = $422;
$expanded28 = (($expanded29) - 1)|0;
$423 = (($421) + ($expanded28))|0;
$424 = ((0) + 4|0);
$expanded33 = $424;
$expanded32 = (($expanded33) - 1)|0;
$expanded31 = $expanded32 ^ -1;
$425 = $423 & $expanded31;
$426 = $425;
$427 = HEAP32[$426>>2]|0;
$arglist_next3 = ((($426)) + 4|0);
HEAP32[$6>>2] = $arglist_next3;
$$0659 = $427;$$2619 = $$06171608;
} else {
$428 = (($$06171608) + 1)|0;
$429 = (($5) + ($$06171608<<2)|0);
$430 = HEAP32[$429>>2]|0;
$431 = HEAP32[$430>>2]|0;
$$0659 = $431;$$2619 = $428;
}
$432 = (_strlen($$0659)|0);
$433 = $$sroa$0$3;
$434 = (($$sroa$81$2) - ($$sroa$0$3))|0;
$435 = (($434) + 3)|0;
$436 = (($435) + ($432))|0;
$437 = ($436>>>0)<($$sroa$47$2>>>0);
do {
if ($437) {
$$sroa$0$16981$ph = $$sroa$0$3;$$sroa$47$11980$ph = $$sroa$47$2;$$sroa$81$18979$ph$ptr = $$sroa$81$2$ptr;
} else {
$438 = $432 << 1;
$439 = (($$sroa$47$2) + 6)|0;
$440 = (($439) + ($438))|0;
$441 = ($440>>>0)>($$sroa$47$2>>>0);
if (!($441)) {
$$1$i718986 = 67;
label = 180;
break L18;
}
$442 = (__gcry_realloc($433,$440)|0);
$443 = ($442|0)==(0|0);
if ($443) {
$446 = (___errno_location()|0);
$447 = HEAP32[$446>>2]|0;
$448 = (_gpg_err_code_from_errno($447)|0);
$449 = ($448|0)==(0);
if ($449) {
$$sroa$0$16981$ph = $$sroa$0$3;$$sroa$47$11980$ph = $$sroa$47$2;$$sroa$81$18979$ph$ptr = $$sroa$81$2$ptr;
break;
} else {
$$1$i718986 = $448;
label = 180;
break L18;
}
} else {
$444 = (($442) + ($434)|0);
$445 = $442;
$$sroa$0$16981$ph = $445;$$sroa$47$11980$ph = $440;$$sroa$81$18979$ph$ptr = $444;
break;
}
}
} while(0);
$450 = ((($$sroa$81$18979$ph$ptr)) + 1|0);
HEAP8[$$sroa$81$18979$ph$ptr>>0] = 1;
$451 = $432&65535;
HEAP8[$450>>0]=$451&255;HEAP8[$450+1>>0]=$451>>8;
$452 = ((($$sroa$81$18979$ph$ptr)) + 3|0);
_memcpy(($452|0),($$0659|0),($432|0))|0;
$453 = (($452) + ($432)|0);
$454 = $453;
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$2619;$$sroa$0$27 = $$sroa$0$16981$ph;$$sroa$47$19 = $$sroa$47$11980$ph;$$sroa$81$32 = $454;
break L30;
break;
}
case 98: {
if ($25) {
$arglist_current5 = HEAP32[$6>>2]|0;
$458 = $arglist_current5;
$459 = ((0) + 4|0);
$expanded36 = $459;
$expanded35 = (($expanded36) - 1)|0;
$460 = (($458) + ($expanded35))|0;
$461 = ((0) + 4|0);
$expanded40 = $461;
$expanded39 = (($expanded40) - 1)|0;
$expanded38 = $expanded39 ^ -1;
$462 = $460 & $expanded38;
$463 = $462;
$464 = HEAP32[$463>>2]|0;
$arglist_next6 = ((($463)) + 4|0);
HEAP32[$6>>2] = $arglist_next6;
$arglist_current8 = HEAP32[$6>>2]|0;
$465 = $arglist_current8;
$466 = ((0) + 4|0);
$expanded43 = $466;
$expanded42 = (($expanded43) - 1)|0;
$467 = (($465) + ($expanded42))|0;
$468 = ((0) + 4|0);
$expanded47 = $468;
$expanded46 = (($expanded47) - 1)|0;
$expanded45 = $expanded46 ^ -1;
$469 = $467 & $expanded45;
$470 = $469;
$471 = HEAP32[$470>>2]|0;
$arglist_next9 = ((($470)) + 4|0);
HEAP32[$6>>2] = $arglist_next9;
$$0660 = $471;$$0661999 = $464;$$4621 = $$06171608;
} else {
$472 = (($$06171608) + 1)|0;
$473 = (($5) + ($$06171608<<2)|0);
$474 = HEAP32[$473>>2]|0;
$475 = HEAP32[$474>>2]|0;
$476 = (($$06171608) + 2)|0;
$477 = (($5) + ($472<<2)|0);
$478 = HEAP32[$477>>2]|0;
$479 = HEAP32[$478>>2]|0;
$$0660 = $479;$$0661999 = $475;$$4621 = $476;
}
$480 = $$sroa$0$3;
$481 = (($$sroa$81$2) - ($$sroa$0$3))|0;
$482 = (($481) + 3)|0;
$483 = (($482) + ($$0661999))|0;
$484 = ($483>>>0)<($$sroa$47$2>>>0);
do {
if ($484) {
$$sroa$0$171004$ph = $$sroa$0$3;$$sroa$47$121003$ph = $$sroa$47$2;$$sroa$81$201002$ph = $$sroa$81$2;$$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D = $$sroa$81$2$ptr;
} else {
$485 = $$0661999 << 1;
$486 = (($$sroa$47$2) + 6)|0;
$487 = (($486) + ($485))|0;
$488 = ($487>>>0)>($$sroa$47$2>>>0);
if (!($488)) {
$$1$i7201009 = 67;
label = 189;
break L18;
}
$489 = (__gcry_realloc($480,$487)|0);
$490 = ($489|0)==(0|0);
if ($490) {
$494 = (___errno_location()|0);
$495 = HEAP32[$494>>2]|0;
$496 = (_gpg_err_code_from_errno($495)|0);
$497 = ($496|0)==(0);
if ($497) {
$$sroa$0$171004$ph = $$sroa$0$3;$$sroa$47$121003$ph = $$sroa$47$2;$$sroa$81$201002$ph = $$sroa$81$2;$$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D = $$sroa$81$2$ptr;
break;
} else {
$$1$i7201009 = $496;
label = 189;
break L18;
}
} else {
$491 = (($489) + ($481)|0);
$492 = $491;
$493 = $489;
$$sroa$0$171004$ph = $493;$$sroa$47$121003$ph = $487;$$sroa$81$201002$ph = $492;$$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D = $491;
break;
}
}
} while(0);
$502 = ($$0661999|0)==(0);
do {
if ($502) {
$$sroa$0$19 = $$sroa$0$171004$ph;$$sroa$81$22$ptr = $$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D;
} else {
$503 = $$sroa$0$171004$ph;
$504 = (__gcry_is_secure($503)|0);
$505 = ($504|0)==(0);
if (!($505)) {
$$sroa$0$19 = $$sroa$0$171004$ph;$$sroa$81$22$ptr = $$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D;
break;
}
$506 = (__gcry_is_secure($$0660)|0);
$507 = ($506|0)==(0);
if ($507) {
$$sroa$0$19 = $$sroa$0$171004$ph;$$sroa$81$22$ptr = $$sroa$81$201002$ph$ptr$pre$phiZZZZZZ2D;
break;
}
$508 = (__gcry_malloc_secure($$sroa$47$121003$ph)|0);
$509 = ($508|0)==(0|0);
if ($509) {
label = 195;
break L18;
}
$510 = (($$sroa$81$201002$ph) - ($$sroa$0$171004$ph))|0;
_memcpy(($508|0),($503|0),($510|0))|0;
$511 = (($508) + ($510)|0);
$$cast = $$sroa$0$171004$ph;
__gcry_free($$cast);
$512 = $508;
$$sroa$0$19 = $512;$$sroa$81$22$ptr = $511;
}
} while(0);
$516 = ((($$sroa$81$22$ptr)) + 1|0);
HEAP8[$$sroa$81$22$ptr>>0] = 1;
$517 = $$0661999&65535;
HEAP8[$516>>0]=$517&255;HEAP8[$516+1>>0]=$517>>8;
$518 = ((($$sroa$81$22$ptr)) + 3|0);
_memcpy(($518|0),($$0660|0),($$0661999|0))|0;
$519 = (($518) + ($$0661999)|0);
$520 = $519;
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$4621;$$sroa$0$27 = $$sroa$0$19;$$sroa$47$19 = $$sroa$47$121003$ph;$$sroa$81$32 = $520;
break L30;
break;
}
case 100: {
if ($25) {
$arglist_current11 = HEAP32[$6>>2]|0;
$521 = $arglist_current11;
$522 = ((0) + 4|0);
$expanded50 = $522;
$expanded49 = (($expanded50) - 1)|0;
$523 = (($521) + ($expanded49))|0;
$524 = ((0) + 4|0);
$expanded54 = $524;
$expanded53 = (($expanded54) - 1)|0;
$expanded52 = $expanded53 ^ -1;
$525 = $523 & $expanded52;
$526 = $525;
$527 = HEAP32[$526>>2]|0;
$arglist_next12 = ((($526)) + 4|0);
HEAP32[$6>>2] = $arglist_next12;
$$0627 = $527;$$5622 = $$06171608;
} else {
$528 = (($$06171608) + 1)|0;
$529 = (($5) + ($$06171608<<2)|0);
$530 = HEAP32[$529>>2]|0;
$531 = HEAP32[$530>>2]|0;
$$0627 = $531;$$5622 = $528;
}
HEAP32[$vararg_buffer>>2] = $$0627;
(_sprintf($10,44684,$vararg_buffer)|0);
$532 = (_strlen($10)|0);
$533 = $$sroa$0$3;
$534 = (($$sroa$81$2) - ($$sroa$0$3))|0;
$535 = (($534) + 3)|0;
$536 = (($535) + ($532))|0;
$537 = ($536>>>0)<($$sroa$47$2>>>0);
do {
if ($537) {
$$sroa$0$211024$ph = $$sroa$0$3;$$sroa$47$131023$ph = $$sroa$47$2;$$sroa$81$241022$ph$ptr = $$sroa$81$2$ptr;
} else {
$538 = $532 << 1;
$539 = (($$sroa$47$2) + 6)|0;
$540 = (($539) + ($538))|0;
$541 = ($540>>>0)>($$sroa$47$2>>>0);
if (!($541)) {
$$1$i7221029 = 67;
label = 206;
break L18;
}
$542 = (__gcry_realloc($533,$540)|0);
$543 = ($542|0)==(0|0);
if ($543) {
$546 = (___errno_location()|0);
$547 = HEAP32[$546>>2]|0;
$548 = (_gpg_err_code_from_errno($547)|0);
$549 = ($548|0)==(0);
if ($549) {
$$sroa$0$211024$ph = $$sroa$0$3;$$sroa$47$131023$ph = $$sroa$47$2;$$sroa$81$241022$ph$ptr = $$sroa$81$2$ptr;
break;
} else {
$$1$i7221029 = $548;
label = 206;
break L18;
}
} else {
$544 = (($542) + ($534)|0);
$545 = $542;
$$sroa$0$211024$ph = $545;$$sroa$47$131023$ph = $540;$$sroa$81$241022$ph$ptr = $544;
break;
}
}
} while(0);
$550 = ((($$sroa$81$241022$ph$ptr)) + 1|0);
HEAP8[$$sroa$81$241022$ph$ptr>>0] = 1;
$551 = $532&65535;
HEAP8[$550>>0]=$551&255;HEAP8[$550+1>>0]=$551>>8;
$552 = ((($$sroa$81$241022$ph$ptr)) + 3|0);
_memcpy(($552|0),($10|0),($532|0))|0;
$553 = (($552) + ($532)|0);
$554 = $553;
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$5622;$$sroa$0$27 = $$sroa$0$211024$ph;$$sroa$47$19 = $$sroa$47$131023$ph;$$sroa$81$32 = $554;
break L30;
break;
}
case 117: {
if ($25) {
$arglist_current14 = HEAP32[$6>>2]|0;
$558 = $arglist_current14;
$559 = ((0) + 4|0);
$expanded57 = $559;
$expanded56 = (($expanded57) - 1)|0;
$560 = (($558) + ($expanded56))|0;
$561 = ((0) + 4|0);
$expanded61 = $561;
$expanded60 = (($expanded61) - 1)|0;
$expanded59 = $expanded60 ^ -1;
$562 = $560 & $expanded59;
$563 = $562;
$564 = HEAP32[$563>>2]|0;
$arglist_next15 = ((($563)) + 4|0);
HEAP32[$6>>2] = $arglist_next15;
$$0612 = $564;$$6623 = $$06171608;
} else {
$565 = (($$06171608) + 1)|0;
$566 = (($5) + ($$06171608<<2)|0);
$567 = HEAP32[$566>>2]|0;
$568 = HEAP32[$567>>2]|0;
$$0612 = $568;$$6623 = $565;
}
HEAP32[$vararg_buffer16>>2] = $$0612;
(_sprintf($11,44687,$vararg_buffer16)|0);
$569 = (_strlen($11)|0);
$570 = $$sroa$0$3;
$571 = (($$sroa$81$2) - ($$sroa$0$3))|0;
$572 = (($571) + 3)|0;
$573 = (($572) + ($569))|0;
$574 = ($573>>>0)<($$sroa$47$2>>>0);
do {
if ($574) {
$$sroa$0$221043$ph = $$sroa$0$3;$$sroa$47$141042$ph = $$sroa$47$2;$$sroa$81$261041$ph$ptr = $$sroa$81$2$ptr;
} else {
$575 = $569 << 1;
$576 = (($$sroa$47$2) + 6)|0;
$577 = (($576) + ($575))|0;
$578 = ($577>>>0)>($$sroa$47$2>>>0);
if (!($578)) {
$$1$i7241048 = 67;
label = 216;
break L18;
}
$579 = (__gcry_realloc($570,$577)|0);
$580 = ($579|0)==(0|0);
if ($580) {
$583 = (___errno_location()|0);
$584 = HEAP32[$583>>2]|0;
$585 = (_gpg_err_code_from_errno($584)|0);
$586 = ($585|0)==(0);
if ($586) {
$$sroa$0$221043$ph = $$sroa$0$3;$$sroa$47$141042$ph = $$sroa$47$2;$$sroa$81$261041$ph$ptr = $$sroa$81$2$ptr;
break;
} else {
$$1$i7241048 = $585;
label = 216;
break L18;
}
} else {
$581 = (($579) + ($571)|0);
$582 = $579;
$$sroa$0$221043$ph = $582;$$sroa$47$141042$ph = $577;$$sroa$81$261041$ph$ptr = $581;
break;
}
}
} while(0);
$587 = ((($$sroa$81$261041$ph$ptr)) + 1|0);
HEAP8[$$sroa$81$261041$ph$ptr>>0] = 1;
$588 = $569&65535;
HEAP8[$587>>0]=$588&255;HEAP8[$587+1>>0]=$588>>8;
$589 = ((($$sroa$81$261041$ph$ptr)) + 3|0);
_memcpy(($589|0),($11|0),($569|0))|0;
$590 = (($589) + ($569)|0);
$591 = $590;
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$6623;$$sroa$0$27 = $$sroa$0$221043$ph;$$sroa$47$19 = $$sroa$47$141042$ph;$$sroa$81$32 = $591;
break L30;
break;
}
case 83: {
if ($25) {
$arglist_current20 = HEAP32[$6>>2]|0;
$595 = $arglist_current20;
$596 = ((0) + 4|0);
$expanded64 = $596;
$expanded63 = (($expanded64) - 1)|0;
$597 = (($595) + ($expanded63))|0;
$598 = ((0) + 4|0);
$expanded68 = $598;
$expanded67 = (($expanded68) - 1)|0;
$expanded66 = $expanded67 ^ -1;
$599 = $597 & $expanded66;
$600 = $599;
$601 = HEAP32[$600>>2]|0;
$arglist_next21 = ((($600)) + 4|0);
HEAP32[$6>>2] = $arglist_next21;
$$0600 = $601;$$7624 = $$06171608;
} else {
$602 = (($$06171608) + 1)|0;
$603 = (($5) + ($$06171608<<2)|0);
$604 = HEAP32[$603>>2]|0;
$605 = HEAP32[$604>>2]|0;
$$0600 = $605;$$7624 = $602;
}
$606 = ($$0600|0)==(0|0);
if ($606) {
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$7624;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
}
$607 = HEAP8[$$0600>>0]|0;
$608 = ($607<<24>>24)==(0);
if ($608) {
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$7624;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
}
$609 = $$0600;
$$02830$i = $$0600;$$031$i = 0;$$0880 = 0;$611 = $607;
L303: while(1) {
$610 = ((($$02830$i)) + 1|0);
switch ($611<<24>>24) {
case 1: {
$$0$copyload$i = HEAPU8[$610>>0]|(HEAPU8[$610+1>>0]<<8);
$612 = $$0$copyload$i&65535;
$613 = (($612) + 2)|0;
$614 = (($610) + ($613)|0);
$$1$i727 = $$031$i;$$129$i = $614;$$2882 = $$0880;
break;
}
case 3: {
$615 = ($$031$i|0)==(0);
$616 = $$02830$i;
$617 = (($616) - ($609))|0;
$spec$select1129 = $615 ? $617 : $$0880;
$618 = (($$031$i) + 1)|0;
$$1$i727 = $618;$$129$i = $610;$$2882 = $spec$select1129;
break;
}
case 4: {
$619 = (($$031$i) + -1)|0;
$620 = ($619|0)==(0);
if ($620) {
break L303;
} else {
$$1$i727 = $619;$$129$i = $610;$$2882 = $$0880;
}
break;
}
default: {
$$1$i727 = $$031$i;$$129$i = $610;$$2882 = $$0880;
}
}
$621 = HEAP8[$$129$i>>0]|0;
$622 = ($621<<24>>24)==(0);
if ($622) {
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$7624;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
} else {
$$02830$i = $$129$i;$$031$i = $$1$i727;$$0880 = $$2882;$611 = $621;
}
}
$623 = $610;
$624 = (($623) - ($609))|0;
$625 = ($624|0)==(0);
if ($625) {
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$7624;$$sroa$0$27 = $$sroa$0$3;$$sroa$47$19 = $$sroa$47$2;$$sroa$81$32 = $$sroa$81$2;
break L30;
}
$626 = $$sroa$0$3;
$627 = (($$sroa$81$2) - ($$sroa$0$3))|0;
$628 = (($627) + 3)|0;
$629 = (($628) + ($624))|0;
$630 = ($629>>>0)<($$sroa$47$2>>>0);
do {
if ($630) {
$$sroa$0$231062$ph = $$sroa$0$3;$$sroa$47$151061$ph = $$sroa$47$2;$$sroa$81$281060$ph$ptr = $$sroa$81$2$ptr;
} else {
$631 = $624 << 1;
$632 = (($$sroa$47$2) + 6)|0;
$633 = (($632) + ($631))|0;
$634 = ($633>>>0)>($$sroa$47$2>>>0);
if (!($634)) {
$$1$i7281067 = 67;
label = 235;
break L18;
}
$635 = (__gcry_realloc($626,$633)|0);
$636 = ($635|0)==(0|0);
if ($636) {
$639 = (___errno_location()|0);
$640 = HEAP32[$639>>2]|0;
$641 = (_gpg_err_code_from_errno($640)|0);
$642 = ($641|0)==(0);
if ($642) {
$$sroa$0$231062$ph = $$sroa$0$3;$$sroa$47$151061$ph = $$sroa$47$2;$$sroa$81$281060$ph$ptr = $$sroa$81$2$ptr;
break;
} else {
$$1$i7281067 = $641;
label = 235;
break L18;
}
} else {
$637 = (($635) + ($627)|0);
$638 = $635;
$$sroa$0$231062$ph = $638;$$sroa$47$151061$ph = $633;$$sroa$81$281060$ph$ptr = $637;
break;
}
}
} while(0);
$643 = (($$0600) + ($$0880)|0);
_memcpy(($$sroa$81$281060$ph$ptr|0),($643|0),($624|0))|0;
$644 = (($$sroa$81$281060$ph$ptr) + ($624)|0);
$645 = $644;
$$1593 = 0;$$1607 = 0;$$1609 = $$06081612;$$1611 = 0;$$1614 = $$06131610;$$1616 = $$06151609;$$1629 = $$06281607;$$2596 = 0;$$2599 = $$1598;$$3587 = $$05841619;$$3591 = $$05881618;$$4605 = 0;$$9626 = $$7624;$$sroa$0$27 = $$sroa$0$231062$ph;$$sroa$47$19 = $$sroa$47$151061$ph;$$sroa$81$32 = $645;
break L30;
break;
}
default: {
label = 236;
break L18;
}
}
}
} while(0);
$727 = ((($$3587)) + 1|0);
$728 = (($$3591) + -1)|0;
$$sroa$81$0$ptr = $$sroa$81$32;
$729 = ($728|0)==(0);
if ($729) {
label = 275;
break;
} else {
$$05841619 = $727;$$05881618 = $728;$$05921617 = $$1593;$$05941616 = $$2596;$$05971615 = $$2599;$$06011614 = $$4605;$$06061613 = $$1607;$$06081612 = $$1609;$$06101611 = $$1611;$$06131610 = $$1614;$$06151609 = $$1616;$$06171608 = $$9626;$$06281607 = $$1629;$$sroa$0$11606 = $$sroa$0$27;$$sroa$47$01605 = $$sroa$47$19;$$sroa$81$0$ptr1621 = $$sroa$81$0$ptr;$$sroa$81$01604 = $$sroa$81$32;
}
}
switch (label|0) {
case 18: {
$52 = $$05841619;
$$pn = $2;
$53 = (($52) - ($$pn))|0;
HEAP32[$spec$select>>2] = $53;
$$31$ph = $$1$i891;$$sroa$0$29$ph = $$sroa$0$11606;$$sroa$47$21$ph = $$sroa$47$01605;
label = 284;
break;
}
case 26: {
$72 = $$05841619;
$73 = $2;
$74 = (($72) - ($73))|0;
HEAP32[$spec$select>>2] = $74;
$$31$ph = 206;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 33: {
$83 = $$05841619;
$84 = $2;
$85 = (($83) - ($84))|0;
HEAP32[$spec$select>>2] = $85;
$$31$ph = 206;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 37: {
$95 = $$05841619;
$96 = $2;
$97 = (($95) - ($96))|0;
HEAP32[$spec$select>>2] = $97;
$$31$ph = 206;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 82: {
$198 = $$05841619;
$$pn1138 = $2;
$199 = (($198) - ($$pn1138))|0;
HEAP32[$spec$select>>2] = $199;
$$31$ph = $$1$i695904;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 88: {
$208 = $$05841619;
$209 = $2;
$210 = (($208) - ($209))|0;
HEAP32[$spec$select>>2] = $210;
$$31$ph = 212;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 94: {
$229 = $$05841619;
$230 = $2;
$231 = (($229) - ($230))|0;
HEAP32[$spec$select>>2] = $231;
$$31$ph = $$1$i697920;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 114: {
$264 = $$05841619;
$265 = $2;
$266 = (($264) - ($265))|0;
HEAP32[$spec$select>>2] = $266;
$$31$ph = 211;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 121: {
$276 = $$05841619;
$277 = $2;
$278 = (($276) - ($277))|0;
HEAP32[$spec$select>>2] = $278;
$$31$ph = 202;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 127: {
$296 = $$05841619;
$297 = $2;
$298 = (($296) - ($297))|0;
HEAP32[$spec$select>>2] = $298;
$$31$ph = $$1$i712934;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 131: {
$307 = $$05841619;
$308 = $2;
$309 = (($307) - ($308))|0;
HEAP32[$spec$select>>2] = $309;
$$31$ph = 201;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 144: {
$352 = $$05841619;
$353 = $2;
$354 = (($352) - ($353))|0;
HEAP32[$spec$select>>2] = $354;
$$10 = $$1$i714948;$$sroa$0$10 = $$sroa$0$3;$$sroa$47$7 = $$sroa$47$2;
label = 152;
break;
}
case 149: {
$364 = (___errno_location()|0);
$365 = HEAP32[$364>>2]|0;
$366 = (_gpg_err_code_from_errno($365)|0);
$$10 = $366;$$sroa$0$10 = $$sroa$0$7943$ph;$$sroa$47$7 = $$sroa$47$6942$ph;
label = 152;
break;
}
case 154: {
__gcry_bug(44662,1433,44669);
// unreachable;
break;
}
case 160: {
$396 = $$05841619;
$397 = $2;
$398 = (($396) - ($397))|0;
HEAP32[$spec$select>>2] = $398;
$$15$ph = $$1$i716967;$$sroa$0$15$ph = $$sroa$0$3;$$sroa$47$10$ph = $$sroa$47$2;
break;
}
case 165: {
$408 = (___errno_location()|0);
$409 = HEAP32[$408>>2]|0;
$410 = (_gpg_err_code_from_errno($409)|0);
$$15$ph = $410;$$sroa$0$15$ph = $$sroa$0$11962$ph;$$sroa$47$10$ph = $$sroa$47$8960$ph;
break;
}
case 167: {
__gcry_bug(44662,1460,44669);
// unreachable;
break;
}
case 180: {
$455 = $$05841619;
$456 = $2;
$457 = (($455) - ($456))|0;
HEAP32[$spec$select>>2] = $457;
$$31$ph = $$1$i718986;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 189: {
$498 = $$05841619;
$499 = $2;
$500 = (($498) - ($499))|0;
$501 = $$sroa$0$3;
HEAP32[$spec$select>>2] = $500;
$$311119 = $$1$i7201009;$$sroa$0$291118 = $$sroa$0$3;$$sroa$47$211117 = $$sroa$47$2;$758 = $501;
label = 288;
break L13;
break;
}
case 195: {
$513 = (___errno_location()|0);
$514 = HEAP32[$513>>2]|0;
$515 = (_gpg_err_code_from_errno($514)|0);
$$31 = $515;$$sroa$0$29 = $$sroa$0$171004$ph;$$sroa$47$21 = $$sroa$47$121003$ph;
label = 287;
break L13;
break;
}
case 206: {
$555 = $$05841619;
$556 = $2;
$557 = (($555) - ($556))|0;
HEAP32[$spec$select>>2] = $557;
$$31$ph = $$1$i7221029;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 216: {
$592 = $$05841619;
$593 = $2;
$594 = (($592) - ($593))|0;
HEAP32[$spec$select>>2] = $594;
$$31$ph = $$1$i7241048;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 235: {
$646 = $$05841619;
$647 = $2;
$648 = (($646) - ($647))|0;
HEAP32[$spec$select>>2] = $648;
$$31$ph = $$1$i7281067;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 236: {
$649 = $$05841619;
$650 = $2;
$651 = (($649) - ($650))|0;
HEAP32[$spec$select>>2] = $651;
$$31$ph = 201;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 239: {
$653 = $$05841619;
$654 = $2;
$655 = (($653) - ($654))|0;
HEAP32[$spec$select>>2] = $655;
$$31$ph = 209;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 245: {
$670 = $$05841619;
$671 = $2;
$672 = (($670) - ($671))|0;
HEAP32[$spec$select>>2] = $672;
$$31$ph = $$1$i7301084;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 248: {
$677 = $$05841619;
$678 = $2;
$679 = (($677) - ($678))|0;
HEAP32[$spec$select>>2] = $679;
$$31$ph = 209;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 254: {
$694 = $$05841619;
$695 = $2;
$696 = (($694) - ($695))|0;
HEAP32[$spec$select>>2] = $696;
$$31$ph = $$1$i7321099;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 259: {
$701 = $$05841619;
$702 = $2;
$703 = (($701) - ($702))|0;
HEAP32[$spec$select>>2] = $703;
$$31$ph = 208;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 261: {
$705 = $$05841619;
$706 = $2;
$707 = (($705) - ($706))|0;
HEAP32[$spec$select>>2] = $707;
$$31$ph = 209;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 264: {
$710 = $$05841619;
$711 = $2;
$712 = (($710) - ($711))|0;
HEAP32[$spec$select>>2] = $712;
$$31$ph = 207;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 268: {
$716 = $$05841619;
$717 = $2;
$718 = (($716) - ($717))|0;
HEAP32[$spec$select>>2] = $718;
$$31$ph = 210;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 270: {
$720 = $$05841619;
$721 = $2;
$722 = (($720) - ($721))|0;
HEAP32[$spec$select>>2] = $722;
$$31$ph = 210;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 272: {
$724 = $$05841619;
$725 = $2;
$726 = (($724) - ($725))|0;
HEAP32[$spec$select>>2] = $726;
$$31$ph = 205;$$sroa$0$29$ph = $$sroa$0$3;$$sroa$47$21$ph = $$sroa$47$2;
label = 284;
break;
}
case 275: {
$$sroa$81$0$ptr$le = $$sroa$81$32;
$$0584$lcssa = $727;$$0628$lcssa = $$1629;$$sroa$0$1$lcssa = $$sroa$0$27;$$sroa$47$0$lcssa = $$sroa$47$19;$$sroa$81$0$lcssa = $$sroa$81$32;$$sroa$81$0$ptr$lcssa = $$sroa$81$0$ptr$le;
break L16;
break;
}
}
if ((label|0) == 152) {
$$15$ph = $$10;$$sroa$0$15$ph = $$sroa$0$10;$$sroa$47$10$ph = $$sroa$47$7;
}
else if ((label|0) == 284) {
$752 = $$sroa$0$29$ph;
$$311119 = $$31$ph;$$sroa$0$291118 = $$sroa$0$29$ph;$$sroa$47$211117 = $$sroa$47$21$ph;$758 = $752;
label = 288;
break L13;
}
$$31 = $$15$ph;$$sroa$0$29 = $$sroa$0$15$ph;$$sroa$47$21 = $$sroa$47$10$ph;
label = 287;
break L13;
}
} while(0);
$730 = $$sroa$0$1$lcssa;
$731 = (($$sroa$81$0$lcssa) - ($$sroa$0$1$lcssa))|0;
$732 = (($731) + 3)|0;
$733 = ($732>>>0)<($$sroa$47$0$lcssa>>>0);
L361: do {
if ($733) {
$$sroa$0$281109$ph = $$sroa$0$1$lcssa;$$sroa$47$201108$ph = $$sroa$47$0$lcssa;$$sroa$81$331107$ptr$ph = $$sroa$81$0$ptr$lcssa;
label = 283;
} else {
$734 = (($$sroa$47$0$lcssa) + 6)|0;
$735 = ($$sroa$47$0$lcssa>>>0)<(4294967290);
do {
if ($735) {
$739 = (__gcry_realloc($730,$734)|0);
$740 = ($739|0)==(0|0);
if ($740) {
$743 = (___errno_location()|0);
$744 = HEAP32[$743>>2]|0;
$745 = (_gpg_err_code_from_errno($744)|0);
$746 = ($745|0)==(0);
$747 = $$0584$lcssa;
$748 = $2;
$749 = (($747) - ($748))|0;
if ($746) {
$$sroa$0$281109$ph = $$sroa$0$1$lcssa;$$sroa$47$201108$ph = $$sroa$47$0$lcssa;$$sroa$81$331107$ptr$ph = $$sroa$81$0$ptr$lcssa;
label = 283;
break L361;
} else {
$$1$i7361114 = $745;$750 = $749;
break;
}
} else {
$741 = (($739) + ($731)|0);
$742 = $739;
$$sroa$0$281109$ph = $742;$$sroa$47$201108$ph = $734;$$sroa$81$331107$ptr$ph = $741;
label = 283;
break L361;
}
} else {
$736 = $$0584$lcssa;
$737 = $2;
$738 = (($736) - ($737))|0;
$$1$i7361114 = 67;$750 = $738;
}
} while(0);
HEAP32[$spec$select>>2] = $750;
$$31$ph1947 = $$1$i7361114;$$sroa$0$29$ph1946 = $$sroa$0$1$lcssa;$$sroa$47$21$ph1945 = $$sroa$47$0$lcssa;
}
} while(0);
if ((label|0) == 283) {
$751 = ($$0628$lcssa|0)==(0);
HEAP8[$$sroa$81$331107$ptr$ph>>0] = 0;
if ($751) {
$753 = $$sroa$0$281109$ph;
$$sroa$0$291950 = $$sroa$0$281109$ph;$792 = $753;
break;
} else {
$$31$ph1947 = 203;$$sroa$0$29$ph1946 = $$sroa$0$281109$ph;$$sroa$47$21$ph1945 = $$sroa$47$201108$ph;
}
}
$754 = $$sroa$0$29$ph1946;
$$311119 = $$31$ph1947;$$sroa$0$291118 = $$sroa$0$29$ph1946;$$sroa$47$211117 = $$sroa$47$21$ph1945;$758 = $754;
label = 288;
}
} while(0);
if ((label|0) == 287) {
$755 = ($$31|0)==(0);
$756 = $$sroa$0$29;
if ($755) {
$$sroa$0$291950 = $$sroa$0$29;$792 = $756;
} else {
$$311119 = $$31;$$sroa$0$291118 = $$sroa$0$29;$$sroa$47$211117 = $$sroa$47$21;$758 = $756;
label = 288;
}
}
if ((label|0) == 288) {
$757 = ($758|0)==(0|0);
if ($757) {
$$0 = $$311119;
STACKTOP = sp;return ($$0|0);
}
$759 = (__gcry_is_secure($758)|0);
$760 = ($759|0)==(0);
if (!($760)) {
$761 = $758;
$762 = $761 & 7;
$763 = ($762|0)!=(0);
$764 = ($$sroa$47$211117|0)!=(0);
$765 = $764 & $763;
if ($765) {
$$05751592 = $$sroa$47$211117;$$05761591 = $758;
while(1) {
HEAP8[$$05761591>>0] = 0;
$766 = ((($$05761591)) + 1|0);
$767 = (($$05751592) + -1)|0;
$768 = $766;
$769 = $768 & 7;
$770 = ($769|0)!=(0);
$771 = ($767|0)!=(0);
$772 = $771 & $770;
if ($772) {
$$05751592 = $767;$$05761591 = $766;
} else {
$$0575$lcssa = $767;$$0576$lcssa = $766;
break;
}
}
} else {
$$0575$lcssa = $$sroa$47$211117;$$0576$lcssa = $758;
}
$773 = ($$0575$lcssa>>>0)<(8);
if ($773) {
$$2 = $$0575$lcssa;$$2578 = $$0576$lcssa;
} else {
$774 = (($$0575$lcssa) + -8)|0;
$775 = $774 & -8;
$776 = (($775) + 8)|0;
$$1 = $$0575$lcssa;$$1577 = $$0576$lcssa;
while(1) {
$777 = $$1577;
$778 = $777;
HEAP32[$778>>2] = 0;
$779 = (($777) + 4)|0;
$780 = $779;
HEAP32[$780>>2] = 0;
$781 = (($$1) + -8)|0;
$782 = ((($$1577)) + 8|0);
$783 = ($781>>>0)>(7);
if ($783) {
$$1 = $781;$$1577 = $782;
} else {
break;
}
}
$784 = (($774) - ($775))|0;
$scevgep = (($$0576$lcssa) + ($776)|0);
$$2 = $784;$$2578 = $scevgep;
}
$785 = ($$2|0)==(0);
if (!($785)) {
$$31590 = $$2;$$35791589 = $$2578;
while(1) {
HEAP8[$$35791589>>0] = 0;
$786 = ((($$35791589)) + 1|0);
$787 = (($$31590) + -1)|0;
$788 = ($787|0)==(0);
if ($788) {
break;
} else {
$$31590 = $787;$$35791589 = $786;
}
}
}
}
$789 = $$sroa$0$291118;
__gcry_free($789);
$$0 = $$311119;
STACKTOP = sp;return ($$0|0);
}
$790 = ($$sroa$0$291950|0)==(0);
L400: do {
if ($790) {
$$0$i738 = 0;
} else {
$791 = HEAP8[$792>>0]|0;
switch ($791<<24>>24) {
case 0: {
__gcry_free($792);
$$0$i738 = 0;
break L400;
break;
}
case 3: {
break;
}
default: {
$$0$i738 = $792;
break L400;
}
}
$793 = ((($792)) + 1|0);
$794 = HEAP8[$793>>0]|0;
$795 = ($794<<24>>24)==(4);
if ($795) {
$796 = (__gcry_is_secure($792)|0);
$797 = ($796|0)==(0);
if (!($797)) {
$$062$i = $792;$799 = 3;
while(1) {
$798 = ((($$062$i)) + 1|0);
$cond$i = ($799<<24>>24)==(1);
if ($cond$i) {
$$0$copyload$i740 = HEAPU8[$798>>0]|(HEAPU8[$798+1>>0]<<8);
$800 = ((($$062$i)) + 3|0);
$801 = $$0$copyload$i740&65535;
$802 = (($800) + ($801)|0);
$$1$i741 = $802;
} else {
$$1$i741 = $798;
}
$803 = HEAP8[$$1$i741>>0]|0;
$804 = ($803<<24>>24)==(0);
if ($804) {
break;
} else {
$$062$i = $$1$i741;$799 = $803;
}
}
$805 = $$1$i741;
$806 = (($805) - ($$sroa$0$291950))|0;
$807 = $$sroa$0$291950 & 7;
$808 = ($807|0)!=(0);
$809 = ($806|0)!=(0);
$810 = $808 & $809;
if ($810) {
$$04859$i = $792;$$05058$i = $806;
while(1) {
HEAP8[$$04859$i>>0] = 0;
$811 = ((($$04859$i)) + 1|0);
$812 = (($$05058$i) + -1)|0;
$813 = $811;
$814 = $813 & 7;
$815 = ($814|0)!=(0);
$816 = ($812|0)!=(0);
$817 = $816 & $815;
if ($817) {
$$04859$i = $811;$$05058$i = $812;
} else {
$$048$lcssa$i = $811;$$050$lcssa$i = $812;
break;
}
}
} else {
$$048$lcssa$i = $792;$$050$lcssa$i = $806;
}
$818 = ($$050$lcssa$i>>>0)<(8);
if ($818) {
$$2$i742 = $$048$lcssa$i;$$252$i = $$050$lcssa$i;
} else {
$819 = (($$050$lcssa$i) + -8)|0;
$820 = $819 & -8;
$$149$i = $$048$lcssa$i;$$151$i = $$050$lcssa$i;
while(1) {
$821 = $$149$i;
$822 = $821;
HEAP32[$822>>2] = 0;
$823 = (($821) + 4)|0;
$824 = $823;
HEAP32[$824>>2] = 0;
$825 = (($$151$i) + -8)|0;
$826 = ((($$149$i)) + 8|0);
$827 = ($825>>>0)>(7);
if ($827) {
$$149$i = $826;$$151$i = $825;
} else {
break;
}
}
$828 = (($820) + 8)|0;
$829 = (($819) - ($820))|0;
$scevgep$i = (($$048$lcssa$i) + ($828)|0);
$$2$i742 = $scevgep$i;$$252$i = $829;
}
$830 = ($$252$i|0)==(0);
if (!($830)) {
$$35356$i = $$252$i;$$357$i = $$2$i742;
while(1) {
HEAP8[$$357$i>>0] = 0;
$831 = ((($$357$i)) + 1|0);
$832 = (($$35356$i) + -1)|0;
$833 = ($832|0)==(0);
if ($833) {
break;
} else {
$$35356$i = $832;$$357$i = $831;
}
}
}
}
__gcry_free($792);
$$0$i738 = 0;
} else {
$$0$i738 = $792;
}
}
} while(0);
HEAP32[$0>>2] = $$0$i738;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function __gcry_sexp_new($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$i = 0, $$025$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond3$i = 0, $or$cond7$i = 0;
var $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$4 = sp + 8|0;
$5 = sp + 4|0;
$6 = ($0|0)==(0|0);
do {
if ($6) {
$$0$i = 45;
} else {
HEAP32[$0>>2] = 0;
$7 = ($3>>>0)<(2);
$8 = ($1|0)!=(0|0);
$or$cond3$i = $8 & $7;
if ($or$cond3$i) {
$9 = $3 | $2;
$10 = ($9|0)==(0);
if ($10) {
$11 = (__gcry_sexp_canon_len($1,0,0,$4)|0);
$12 = ($11|0)==(0);
if ($12) {
$13 = HEAP32[$4>>2]|0;
$$0$i = $13;
break;
} else {
$$025$i = $11;
}
} else {
$14 = ($3|0)!=(0);
$15 = ($2|0)==(0);
$or$cond7$i = $15 & $14;
if ($or$cond7$i) {
$16 = (_strlen($1)|0);
$$025$i = $16;
} else {
$$025$i = $2;
}
}
$17 = (_do_sexp_sscan($5,0,$1,$$025$i,0,0,$vararg_buffer)|0);
HEAP32[$4>>2] = $17;
$18 = ($17|0)==(0);
if ($18) {
$19 = HEAP32[$5>>2]|0;
HEAP32[$0>>2] = $19;
$$0$i = 0;
} else {
$$0$i = $17;
}
} else {
$$0$i = 45;
}
}
} while(0);
STACKTOP = sp;return ($$0$i|0);
}
function __gcry_sexp_release($0) {
$0 = $0|0;
var $$0$copyload = 0, $$0$lcssa = 0, $$048$lcssa = 0, $$04859 = 0, $$050$lcssa = 0, $$05058 = 0, $$062 = 0, $$1 = 0, $$149 = 0, $$151 = 0, $$2 = 0, $$252 = 0, $$35356 = 0, $$357 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $scevgep = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = (__gcry_is_secure($0)|0);
$3 = ($2|0)==(0);
if (!($3)) {
$4 = HEAP8[$0>>0]|0;
$5 = ($4<<24>>24)==(0);
if ($5) {
$$0$lcssa = $0;
} else {
$$062 = $0;$7 = $4;
while(1) {
$6 = ((($$062)) + 1|0);
$cond = ($7<<24>>24)==(1);
if ($cond) {
$$0$copyload = HEAPU8[$6>>0]|(HEAPU8[$6+1>>0]<<8);
$8 = ((($$062)) + 3|0);
$9 = $$0$copyload&65535;
$10 = (($8) + ($9)|0);
$$1 = $10;
} else {
$$1 = $6;
}
$11 = HEAP8[$$1>>0]|0;
$12 = ($11<<24>>24)==(0);
if ($12) {
$$0$lcssa = $$1;
break;
} else {
$$062 = $$1;$7 = $11;
}
}
}
$13 = $$0$lcssa;
$14 = $0;
$15 = (($13) - ($14))|0;
$16 = $14 & 7;
$17 = ($16|0)!=(0);
$18 = ($15|0)!=(0);
$19 = $18 & $17;
if ($19) {
$$04859 = $0;$$05058 = $15;
while(1) {
HEAP8[$$04859>>0] = 0;
$20 = ((($$04859)) + 1|0);
$21 = (($$05058) + -1)|0;
$22 = $20;
$23 = $22 & 7;
$24 = ($23|0)!=(0);
$25 = ($21|0)!=(0);
$26 = $25 & $24;
if ($26) {
$$04859 = $20;$$05058 = $21;
} else {
$$048$lcssa = $20;$$050$lcssa = $21;
break;
}
}
} else {
$$048$lcssa = $0;$$050$lcssa = $15;
}
$27 = ($$050$lcssa>>>0)<(8);
if ($27) {
$$2 = $$048$lcssa;$$252 = $$050$lcssa;
} else {
$28 = (($$050$lcssa) + -8)|0;
$29 = $28 & -8;
$30 = (($29) + 8)|0;
$$149 = $$048$lcssa;$$151 = $$050$lcssa;
while(1) {
$31 = $$149;
$32 = $31;
HEAP32[$32>>2] = 0;
$33 = (($31) + 4)|0;
$34 = $33;
HEAP32[$34>>2] = 0;
$35 = (($$151) + -8)|0;
$36 = ((($$149)) + 8|0);
$37 = ($35>>>0)>(7);
if ($37) {
$$149 = $36;$$151 = $35;
} else {
break;
}
}
$38 = (($28) - ($29))|0;
$scevgep = (($$048$lcssa) + ($30)|0);
$$2 = $scevgep;$$252 = $38;
}
$39 = ($$252|0)==(0);
if (!($39)) {
$$35356 = $$252;$$357 = $$2;
while(1) {
HEAP8[$$357>>0] = 0;
$40 = ((($$357)) + 1|0);
$41 = (($$35356) + -1)|0;
$42 = ($41|0)==(0);
if ($42) {
break;
} else {
$$35356 = $41;$$357 = $40;
}
}
}
}
__gcry_free($0);
return;
}
function __gcry_sexp_find_token($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$copyload = 0, $$0$copyload$i = 0, $$0$copyload22 = 0, $$0$copyload30 = 0, $$0108 = 0, $$048$lcssa$i = 0, $$04859$i = 0, $$050$lcssa$i = 0, $$05058$i = 0, $$062$i = 0, $$068 = 0, $$069 = 0, $$069$be = 0, $$1 = 0, $$1$i = 0, $$149$i = 0, $$151$i = 0, $$170107 = 0, $$2$i = 0, $$252$i = 0;
var $$271 = 0, $$35356$i = 0, $$357$i = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $cond$i = 0, $scevgep$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
if ($3) {
$$4 = 0;
return ($$4|0);
}
$4 = ($2|0)==(0);
if ($4) {
$5 = (_strlen($1)|0);
$$068 = $5;
} else {
$$068 = $2;
}
$$069 = $0;
L7: while(1) {
$6 = HEAP8[$$069>>0]|0;
switch ($6<<24>>24) {
case 0: {
$$4 = 0;
label = 40;
break L7;
break;
}
case 3: {
$7 = ((($$069)) + 1|0);
$8 = HEAP8[$7>>0]|0;
$9 = ($8<<24>>24)==(1);
if ($9) {
$10 = ((($$069)) + 2|0);
$$0$copyload = HEAPU8[$10>>0]|(HEAPU8[$10+1>>0]<<8);
$11 = ((($$069)) + 4|0);
$12 = $$0$copyload&65535;
$13 = ($$068|0)==($12|0);
if ($13) {
$14 = (_memcmp($11,$1,$$068)|0);
$15 = ($14|0)==(0);
if ($15) {
break L7;
}
}
$78 = (($11) + ($12)|0);
$$069$be = $78;
} else {
$$069$be = $7;
}
break;
}
default: {
$79 = ($6<<24>>24)==(1);
$80 = ((($$069)) + 1|0);
if ($79) {
$$0$copyload30 = HEAPU8[$80>>0]|(HEAPU8[$80+1>>0]<<8);
$81 = ((($$069)) + 3|0);
$82 = $$0$copyload30&65535;
$83 = (($81) + ($82)|0);
$$069$be = $83;
} else {
$$069$be = $80;
}
}
}
$$069 = $$069$be;
}
if ((label|0) == 40) {
return ($$4|0);
}
$16 = (($11) + ($$068)|0);
$$0108 = 1;$$170107 = $16;
L21: while(1) {
$17 = HEAP8[$$170107>>0]|0;
switch ($17<<24>>24) {
case 0: {
label = 15;
break L21;
break;
}
case 1: {
$18 = ((($$170107)) + 1|0);
$$0$copyload22 = HEAPU8[$18>>0]|(HEAPU8[$18+1>>0]<<8);
$19 = $$0$copyload22&65535;
$20 = (($19) + 2)|0;
$21 = (($18) + ($20)|0);
$22 = ((($21)) + -1|0);
$$1 = $$0108;$$271 = $22;
break;
}
case 3: {
$23 = (($$0108) + 1)|0;
$$1 = $23;$$271 = $$170107;
break;
}
case 4: {
$24 = (($$0108) + -1)|0;
$$1 = $24;$$271 = $$170107;
break;
}
default: {
$$1 = $$0108;$$271 = $$170107;
}
}
$25 = ((($$271)) + 1|0);
$26 = ($$1|0)==(0);
if ($26) {
break;
} else {
$$0108 = $$1;$$170107 = $25;
}
}
if ((label|0) == 15) {
__gcry_bug(44662,481,44693);
// unreachable;
}
$27 = $25;
$28 = $$069;
$29 = (($27) - ($28))|0;
$30 = $29 & 65535;
$31 = (($30) + 1)|0;
$32 = (__gcry_malloc($31)|0);
$33 = ($32|0)==(0|0);
if ($33) {
$$4 = 0;
return ($$4|0);
}
_memcpy(($32|0),($$069|0),($30|0))|0;
$34 = (($32) + ($30)|0);
HEAP8[$34>>0] = 0;
$35 = HEAP8[$32>>0]|0;
switch ($35<<24>>24) {
case 0: {
__gcry_free($32);
$$4 = 0;
return ($$4|0);
break;
}
case 3: {
$36 = ((($32)) + 1|0);
$37 = HEAP8[$36>>0]|0;
$38 = ($37<<24>>24)==(4);
if (!($38)) {
$$4 = $32;
return ($$4|0);
}
$39 = (__gcry_is_secure($32)|0);
$40 = ($39|0)==(0);
if (!($40)) {
$$062$i = $32;$42 = 3;
while(1) {
$41 = ((($$062$i)) + 1|0);
$cond$i = ($42<<24>>24)==(1);
if ($cond$i) {
$$0$copyload$i = HEAPU8[$41>>0]|(HEAPU8[$41+1>>0]<<8);
$43 = ((($$062$i)) + 3|0);
$44 = $$0$copyload$i&65535;
$45 = (($43) + ($44)|0);
$$1$i = $45;
} else {
$$1$i = $41;
}
$46 = HEAP8[$$1$i>>0]|0;
$47 = ($46<<24>>24)==(0);
if ($47) {
break;
} else {
$$062$i = $$1$i;$42 = $46;
}
}
$48 = $$1$i;
$49 = $32;
$50 = (($48) - ($49))|0;
$51 = $49 & 7;
$52 = ($51|0)!=(0);
$53 = ($50|0)!=(0);
$54 = $52 & $53;
if ($54) {
$$04859$i = $32;$$05058$i = $50;
while(1) {
HEAP8[$$04859$i>>0] = 0;
$55 = ((($$04859$i)) + 1|0);
$56 = (($$05058$i) + -1)|0;
$57 = $55;
$58 = $57 & 7;
$59 = ($58|0)!=(0);
$60 = ($56|0)!=(0);
$61 = $60 & $59;
if ($61) {
$$04859$i = $55;$$05058$i = $56;
} else {
$$048$lcssa$i = $55;$$050$lcssa$i = $56;
break;
}
}
} else {
$$048$lcssa$i = $32;$$050$lcssa$i = $50;
}
$62 = ($$050$lcssa$i>>>0)<(8);
if ($62) {
$$2$i = $$048$lcssa$i;$$252$i = $$050$lcssa$i;
} else {
$63 = (($$050$lcssa$i) + -8)|0;
$64 = $63 & -8;
$$149$i = $$048$lcssa$i;$$151$i = $$050$lcssa$i;
while(1) {
$65 = $$149$i;
$66 = $65;
HEAP32[$66>>2] = 0;
$67 = (($65) + 4)|0;
$68 = $67;
HEAP32[$68>>2] = 0;
$69 = (($$151$i) + -8)|0;
$70 = ((($$149$i)) + 8|0);
$71 = ($69>>>0)>(7);
if ($71) {
$$149$i = $70;$$151$i = $69;
} else {
break;
}
}
$72 = (($64) + 8)|0;
$73 = (($63) - ($64))|0;
$scevgep$i = (($$048$lcssa$i) + ($72)|0);
$$2$i = $scevgep$i;$$252$i = $73;
}
$74 = ($$252$i|0)==(0);
if (!($74)) {
$$35356$i = $$252$i;$$357$i = $$2$i;
while(1) {
HEAP8[$$357$i>>0] = 0;
$75 = ((($$357$i)) + 1|0);
$76 = (($$35356$i) + -1)|0;
$77 = ($76|0)==(0);
if ($77) {
break;
} else {
$$35356$i = $76;$$357$i = $75;
}
}
}
}
__gcry_free($32);
$$4 = 0;
return ($$4|0);
break;
}
default: {
$$4 = $32;
return ($$4|0);
}
}
return (0)|0;
}
function __gcry_sexp_length($0) {
$0 = $0|0;
var $$0$copyload = 0, $$02633 = 0, $$028 = 0, $$02932 = 0, $$034 = 0, $$1 = 0, $$130 = 0, $$2 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $spec$select31 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$028 = 0;
return ($$028|0);
}
$2 = HEAP8[$0>>0]|0;
$3 = ($2<<24>>24)==(0);
if ($3) {
$$028 = 0;
return ($$028|0);
}
$$02633 = 0;$$02932 = $0;$$034 = 0;$5 = $2;
while(1) {
$4 = ((($$02932)) + 1|0);
switch ($5<<24>>24) {
case 1: {
$$0$copyload = HEAPU8[$4>>0]|(HEAPU8[$4+1>>0]<<8);
$6 = $$0$copyload&65535;
$7 = (($6) + 2)|0;
$8 = (($4) + ($7)|0);
$9 = ($$034|0)==(1);
$10 = $9&1;
$spec$select = (($$02633) + ($10))|0;
$$1 = $$034;$$130 = $8;$$2 = $spec$select;
break;
}
case 3: {
$11 = ($$034|0)==(1);
$12 = $11&1;
$spec$select31 = (($$02633) + ($12))|0;
$13 = (($$034) + 1)|0;
$$1 = $13;$$130 = $4;$$2 = $spec$select31;
break;
}
case 4: {
$14 = (($$034) + -1)|0;
$$1 = $14;$$130 = $4;$$2 = $$02633;
break;
}
default: {
$$1 = $$034;$$130 = $4;$$2 = $$02633;
}
}
$15 = HEAP8[$$130>>0]|0;
$16 = ($15<<24>>24)==(0);
if ($16) {
$$028 = $$2;
break;
} else {
$$02633 = $$2;$$02932 = $$130;$$034 = $$1;$5 = $15;
}
}
return ($$028|0);
}
function __gcry_sexp_nth($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$$sroa_idx31 = 0, $$0$copyload = 0, $$0$copyload$i = 0, $$0$copyload33 = 0, $$0$copyload39 = 0, $$048$lcssa$i = 0, $$04859$i = 0, $$050$lcssa$i = 0, $$05058$i = 0, $$062$i = 0, $$076124 = 0, $$078113$in133 = 0, $$078113135 = 0, $$079$lcssa = 0, $$079123 = 0, $$083122 = 0, $$1 = 0, $$1$i = 0, $$149$i = 0, $$151$i = 0;
var $$177 = 0, $$180 = 0, $$184 = 0, $$2 = 0, $$2$i = 0, $$252$i = 0, $$281 = 0, $$3 = 0, $$35356$i = 0, $$357$i = 0, $$382 = 0, $$lcssa115 = 0, $$lcssa117 = 0, $$lcssa119 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $cond$i = 0, $scevgep$i = 0, $spec$select = 0, $spec$select85 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
$$1 = 0;
return ($$1|0);
}
$3 = HEAP8[$0>>0]|0;
$4 = ($3<<24>>24)==(3);
if (!($4)) {
$$1 = 0;
return ($$1|0);
}
$5 = ($1|0)>(0);
$6 = ((($0)) + 1|0);
$7 = HEAP8[$6>>0]|0;
$8 = ($7<<24>>24)==(1);
L7: do {
if ($5) {
$$076124 = 0;$$079123 = $0;$$083122 = $1;$16 = $7;$95 = $8;$96 = $6;
L9: while(1) {
L11: do {
if ($95) {
$9 = ((($$079123)) + 2|0);
$$0$copyload = HEAPU8[$9>>0]|(HEAPU8[$9+1>>0]<<8);
$10 = $$0$copyload&65535;
$11 = (($10) + 2)|0;
$12 = (($9) + ($11)|0);
$13 = ((($12)) + -1|0);
$14 = ($$076124|0)==(0);
$15 = $14 << 31 >> 31;
$spec$select = (($$083122) + ($15))|0;
$$177 = $$076124;$$180 = $13;$$184 = $spec$select;
} else {
switch ($16<<24>>24) {
case 0: {
$$1 = 0;
break L9;
break;
}
case 3: {
$17 = (($$076124) + 1)|0;
$$177 = $17;$$180 = $96;$$184 = $$083122;
break L11;
break;
}
case 4: {
$18 = (($$076124) + -1)|0;
$19 = ($18|0)==(0);
$20 = $19 << 31 >> 31;
$spec$select85 = (($$083122) + ($20))|0;
$$177 = $18;$$180 = $96;$$184 = $spec$select85;
break L11;
break;
}
default: {
$$177 = $$076124;$$180 = $96;$$184 = $$083122;
break L11;
}
}
}
} while(0);
$21 = ($$184|0)>(0);
$22 = ((($$180)) + 1|0);
$23 = HEAP8[$22>>0]|0;
$24 = ($23<<24>>24)==(1);
if ($21) {
$$076124 = $$177;$$079123 = $$180;$$083122 = $$184;$16 = $23;$95 = $24;$96 = $22;
} else {
$$079$lcssa = $$180;$$lcssa115 = $24;$$lcssa117 = $23;$$lcssa119 = $22;
break L7;
}
}
return ($$1|0);
} else {
$$079$lcssa = $0;$$lcssa115 = $8;$$lcssa117 = $7;$$lcssa119 = $6;
}
} while(0);
L20: do {
if ($$lcssa115) {
$$0$$sroa_idx31 = ((($$079$lcssa)) + 2|0);
$$0$copyload33 = HEAPU8[$$0$$sroa_idx31>>0]|(HEAPU8[$$0$$sroa_idx31+1>>0]<<8);
$25 = $$0$copyload33&65535;
$26 = (($25) + 6)|0;
$27 = (__gcry_malloc($26)|0);
$28 = ($27|0)==(0|0);
if ($28) {
$$1 = 0;
return ($$1|0);
} else {
$48 = ((($27)) + 1|0);
HEAP8[$27>>0] = 3;
$49 = (($25) + 3)|0;
_memcpy(($48|0),($$lcssa119|0),($49|0))|0;
$50 = (($48) + ($49)|0);
$51 = ((($50)) + 1|0);
HEAP8[$50>>0] = 4;
HEAP8[$51>>0] = 0;
$$078113$in133 = $27;$$078113135 = $27;
break;
}
} else {
$29 = ($$lcssa117<<24>>24)==(3);
if (!($29)) {
$$1 = 0;
return ($$1|0);
}
$$2 = 1;$$281 = $$lcssa119;
L29: while(1) {
$30 = ((($$281)) + 1|0);
$31 = HEAP8[$30>>0]|0;
switch ($31<<24>>24) {
case 0: {
label = 19;
break L29;
break;
}
case 1: {
$32 = ((($$281)) + 2|0);
$$0$copyload39 = HEAPU8[$32>>0]|(HEAPU8[$32+1>>0]<<8);
$33 = $$0$copyload39&65535;
$34 = (($33) + 2)|0;
$35 = (($32) + ($34)|0);
$36 = ((($35)) + -1|0);
$$3 = $$2;$$382 = $36;
break;
}
case 3: {
$37 = (($$2) + 1)|0;
$$3 = $37;$$382 = $30;
break;
}
case 4: {
$38 = (($$2) + -1)|0;
$$3 = $38;$$382 = $30;
break;
}
default: {
$$3 = $$2;$$382 = $30;
}
}
$39 = ($$3|0)==(0);
if ($39) {
break;
} else {
$$2 = $$3;$$281 = $$382;
}
}
if ((label|0) == 19) {
__gcry_bug(44662,673,44715);
// unreachable;
}
$40 = ((($$382)) + 1|0);
$41 = $40;
$42 = $$lcssa119;
$43 = (($41) - ($42))|0;
$44 = $43 & 65535;
$45 = (($44) + 1)|0;
$46 = (__gcry_malloc($45)|0);
$47 = ($46|0)==(0|0);
if ($47) {
$$1 = 0;
return ($$1|0);
}
_memcpy(($46|0),($$lcssa119|0),($44|0))|0;
$52 = (($46) + ($44)|0);
HEAP8[$52>>0] = 0;
$$pre = HEAP8[$46>>0]|0;
switch ($$pre<<24>>24) {
case 3: {
$$078113$in133 = $46;$$078113135 = $46;
break L20;
break;
}
case 0: {
break;
}
default: {
$$1 = $46;
return ($$1|0);
}
}
__gcry_free($46);
$$1 = 0;
return ($$1|0);
}
} while(0);
$53 = ((($$078113$in133)) + 1|0);
$54 = HEAP8[$53>>0]|0;
$55 = ($54<<24>>24)==(4);
if (!($55)) {
$$1 = $$078113135;
return ($$1|0);
}
$56 = (__gcry_is_secure($$078113$in133)|0);
$57 = ($56|0)==(0);
if (!($57)) {
$$062$i = $$078113$in133;$59 = 3;
while(1) {
$58 = ((($$062$i)) + 1|0);
$cond$i = ($59<<24>>24)==(1);
if ($cond$i) {
$$0$copyload$i = HEAPU8[$58>>0]|(HEAPU8[$58+1>>0]<<8);
$60 = ((($$062$i)) + 3|0);
$61 = $$0$copyload$i&65535;
$62 = (($60) + ($61)|0);
$$1$i = $62;
} else {
$$1$i = $58;
}
$63 = HEAP8[$$1$i>>0]|0;
$64 = ($63<<24>>24)==(0);
if ($64) {
break;
} else {
$$062$i = $$1$i;$59 = $63;
}
}
$65 = $$1$i;
$66 = $$078113$in133;
$67 = (($65) - ($66))|0;
$68 = $66 & 7;
$69 = ($68|0)!=(0);
$70 = ($67|0)!=(0);
$71 = $69 & $70;
if ($71) {
$$04859$i = $$078113$in133;$$05058$i = $67;
while(1) {
HEAP8[$$04859$i>>0] = 0;
$72 = ((($$04859$i)) + 1|0);
$73 = (($$05058$i) + -1)|0;
$74 = $72;
$75 = $74 & 7;
$76 = ($75|0)!=(0);
$77 = ($73|0)!=(0);
$78 = $77 & $76;
if ($78) {
$$04859$i = $72;$$05058$i = $73;
} else {
$$048$lcssa$i = $72;$$050$lcssa$i = $73;
break;
}
}
} else {
$$048$lcssa$i = $$078113$in133;$$050$lcssa$i = $67;
}
$79 = ($$050$lcssa$i>>>0)<(8);
if ($79) {
$$2$i = $$048$lcssa$i;$$252$i = $$050$lcssa$i;
} else {
$80 = (($$050$lcssa$i) + -8)|0;
$81 = $80 & -8;
$$149$i = $$048$lcssa$i;$$151$i = $$050$lcssa$i;
while(1) {
$82 = $$149$i;
$83 = $82;
HEAP32[$83>>2] = 0;
$84 = (($82) + 4)|0;
$85 = $84;
HEAP32[$85>>2] = 0;
$86 = (($$151$i) + -8)|0;
$87 = ((($$149$i)) + 8|0);
$88 = ($86>>>0)>(7);
if ($88) {
$$149$i = $87;$$151$i = $86;
} else {
break;
}
}
$89 = (($81) + 8)|0;
$90 = (($80) - ($81))|0;
$scevgep$i = (($$048$lcssa$i) + ($89)|0);
$$2$i = $scevgep$i;$$252$i = $90;
}
$91 = ($$252$i|0)==(0);
if (!($91)) {
$$35356$i = $$252$i;$$357$i = $$2$i;
while(1) {
HEAP8[$$357$i>>0] = 0;
$92 = ((($$357$i)) + 1|0);
$93 = (($$35356$i) + -1)|0;
$94 = ($93|0)==(0);
if ($94) {
break;
} else {
$$35356$i = $93;$$357$i = $92;
}
}
}
}
__gcry_free($$078113$in133);
$$1 = 0;
return ($$1|0);
}
function __gcry_sexp_nth_data($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$copyload$i = 0, $$0$copyload9$i = 0, $$036$i = 0, $$03742$i = 0, $$044$i = 0, $$1$i = 0, $$135$lcssa$i = 0, $$135$lcssa48$i = 0, $$13543$i = 0, $$138$i = 0, $$2$i = 0, $$lcssa$i = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $or$cond$i = 0, $spec$select$i = 0, $spec$select39$i = 0, label = 0, sp = 0;
sp = STACKTOP;
HEAP32[$2>>2] = 0;
$3 = ($0|0)==(0|0);
if ($3) {
$$036$i = 0;
return ($$036$i|0);
}
$4 = HEAP8[$0>>0]|0;
$5 = ($4<<24>>24)==(3);
if ($5) {
$8 = ((($0)) + 1|0);
$$pre$i = HEAP8[$8>>0]|0;
$9 = ($1|0)>(0);
$10 = ($$pre$i<<24>>24)==(1);
L6: do {
if ($9) {
$$03742$i = $1;$$044$i = 0;$$13543$i = $8;$18 = $$pre$i;$30 = $10;
L8: while(1) {
L10: do {
if ($30) {
$11 = ((($$13543$i)) + 1|0);
$$0$copyload$i = HEAPU8[$11>>0]|(HEAPU8[$11+1>>0]<<8);
$12 = $$0$copyload$i&65535;
$13 = (($12) + 2)|0;
$14 = (($11) + ($13)|0);
$15 = ((($14)) + -1|0);
$16 = ($$044$i|0)==(0);
$17 = $16 << 31 >> 31;
$spec$select$i = (($$03742$i) + ($17))|0;
$$1$i = $$044$i;$$138$i = $spec$select$i;$$2$i = $15;
} else {
switch ($18<<24>>24) {
case 0: {
$$036$i = 0;
break L8;
break;
}
case 3: {
$19 = (($$044$i) + 1)|0;
$$1$i = $19;$$138$i = $$03742$i;$$2$i = $$13543$i;
break L10;
break;
}
case 4: {
$20 = (($$044$i) + -1)|0;
$21 = ($20|0)==(0);
$22 = $21 << 31 >> 31;
$spec$select39$i = (($$03742$i) + ($22))|0;
$$1$i = $20;$$138$i = $spec$select39$i;$$2$i = $$13543$i;
break L10;
break;
}
default: {
$$1$i = $$044$i;$$138$i = $$03742$i;$$2$i = $$13543$i;
break L10;
}
}
}
} while(0);
$23 = ((($$2$i)) + 1|0);
$24 = ($$138$i|0)>(0);
$25 = HEAP8[$23>>0]|0;
$26 = ($25<<24>>24)==(1);
if ($24) {
$$03742$i = $$138$i;$$044$i = $$1$i;$$13543$i = $23;$18 = $25;$30 = $26;
} else {
$$135$lcssa$i = $23;$$lcssa$i = $26;
break L6;
}
}
return ($$036$i|0);
} else {
$$135$lcssa$i = $8;$$lcssa$i = $10;
}
} while(0);
if ($$lcssa$i) {
$$135$lcssa48$i = $$135$lcssa$i;
} else {
$$036$i = 0;
return ($$036$i|0);
}
} else {
$6 = ($1|0)==(0);
$7 = ($4<<24>>24)==(1);
$or$cond$i = $6 & $7;
if ($or$cond$i) {
$$135$lcssa48$i = $0;
} else {
$$036$i = 0;
return ($$036$i|0);
}
}
$27 = ((($$135$lcssa48$i)) + 1|0);
$$0$copyload9$i = HEAPU8[$27>>0]|(HEAPU8[$27+1>>0]<<8);
$28 = $$0$copyload9$i&65535;
HEAP32[$2>>2] = $28;
$29 = ((($$135$lcssa48$i)) + 3|0);
$$036$i = $29;
return ($$036$i|0);
}
function __gcry_sexp_nth_buffer($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$copyload$i = 0, $$0$copyload9$i = 0, $$03742$i = 0, $$044$i = 0, $$1$i = 0, $$135$lcssa$i = 0, $$135$lcssa48$i = 0, $$13543$i = 0, $$138$i = 0, $$2$i = 0, $$lcssa$i = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $spec$select$i = 0, $spec$select39$i = 0, label = 0, sp = 0;
sp = STACKTOP;
HEAP32[$2>>2] = 0;
$3 = ($0|0)==(0|0);
if ($3) {
$$0 = 0;
return ($$0|0);
}
$4 = HEAP8[$0>>0]|0;
$5 = ($4<<24>>24)==(3);
if ($5) {
$8 = ((($0)) + 1|0);
$$pre$i = HEAP8[$8>>0]|0;
$9 = ($1|0)>(0);
$10 = ($$pre$i<<24>>24)==(1);
L6: do {
if ($9) {
$$03742$i = $1;$$044$i = 0;$$13543$i = $8;$18 = $$pre$i;$33 = $10;
L8: while(1) {
L10: do {
if ($33) {
$11 = ((($$13543$i)) + 1|0);
$$0$copyload$i = HEAPU8[$11>>0]|(HEAPU8[$11+1>>0]<<8);
$12 = $$0$copyload$i&65535;
$13 = (($12) + 2)|0;
$14 = (($11) + ($13)|0);
$15 = ((($14)) + -1|0);
$16 = ($$044$i|0)==(0);
$17 = $16 << 31 >> 31;
$spec$select$i = (($$03742$i) + ($17))|0;
$$1$i = $$044$i;$$138$i = $spec$select$i;$$2$i = $15;
} else {
switch ($18<<24>>24) {
case 0: {
$$0 = 0;
break L8;
break;
}
case 3: {
$19 = (($$044$i) + 1)|0;
$$1$i = $19;$$138$i = $$03742$i;$$2$i = $$13543$i;
break L10;
break;
}
case 4: {
$20 = (($$044$i) + -1)|0;
$21 = ($20|0)==(0);
$22 = $21 << 31 >> 31;
$spec$select39$i = (($$03742$i) + ($22))|0;
$$1$i = $20;$$138$i = $spec$select39$i;$$2$i = $$13543$i;
break L10;
break;
}
default: {
$$1$i = $$044$i;$$138$i = $$03742$i;$$2$i = $$13543$i;
break L10;
}
}
}
} while(0);
$23 = ((($$2$i)) + 1|0);
$24 = ($$138$i|0)>(0);
$25 = HEAP8[$23>>0]|0;
$26 = ($25<<24>>24)==(1);
if ($24) {
$$03742$i = $$138$i;$$044$i = $$1$i;$$13543$i = $23;$18 = $25;$33 = $26;
} else {
$$135$lcssa$i = $23;$$lcssa$i = $26;
break L6;
}
}
return ($$0|0);
} else {
$$135$lcssa$i = $8;$$lcssa$i = $10;
}
} while(0);
if ($$lcssa$i) {
$$135$lcssa48$i = $$135$lcssa$i;
} else {
$$0 = 0;
return ($$0|0);
}
} else {
$6 = ($1|0)==(0);
$7 = ($4<<24>>24)==(1);
$or$cond$i = $6 & $7;
if ($or$cond$i) {
$$135$lcssa48$i = $0;
} else {
$$0 = 0;
return ($$0|0);
}
}
$27 = ((($$135$lcssa48$i)) + 1|0);
$$0$copyload9$i = HEAPU8[$27>>0]|(HEAPU8[$27+1>>0]<<8);
$28 = $$0$copyload9$i&65535;
$29 = ((($$135$lcssa48$i)) + 3|0);
$30 = ($$0$copyload9$i<<16>>16)==(0);
if ($30) {
$$0 = 0;
return ($$0|0);
}
$31 = (__gcry_malloc($28)|0);
$32 = ($31|0)==(0|0);
if ($32) {
$$0 = 0;
return ($$0|0);
}
_memcpy(($31|0),($29|0),($28|0))|0;
HEAP32[$2>>2] = $28;
$$0 = $31;
return ($$0|0);
}
function __gcry_sexp_nth_string($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$0$copyload$i = 0, $$0$copyload9$i = 0, $$03742$i = 0, $$044$i = 0, $$1$i = 0, $$135$lcssa$i = 0, $$135$lcssa48$i = 0, $$13543$i = 0, $$138$i = 0, $$2$i = 0, $$lcssa$i = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $spec$select$i = 0, $spec$select39$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
$$0 = 0;
return ($$0|0);
}
$3 = HEAP8[$0>>0]|0;
$4 = ($3<<24>>24)==(3);
if ($4) {
$7 = ((($0)) + 1|0);
$$pre$i = HEAP8[$7>>0]|0;
$8 = ($1|0)>(0);
$9 = ($$pre$i<<24>>24)==(1);
L6: do {
if ($8) {
$$03742$i = $1;$$044$i = 0;$$13543$i = $7;$17 = $$pre$i;$34 = $9;
L8: while(1) {
L10: do {
if ($34) {
$10 = ((($$13543$i)) + 1|0);
$$0$copyload$i = HEAPU8[$10>>0]|(HEAPU8[$10+1>>0]<<8);
$11 = $$0$copyload$i&65535;
$12 = (($11) + 2)|0;
$13 = (($10) + ($12)|0);
$14 = ((($13)) + -1|0);
$15 = ($$044$i|0)==(0);
$16 = $15 << 31 >> 31;
$spec$select$i = (($$03742$i) + ($16))|0;
$$1$i = $$044$i;$$138$i = $spec$select$i;$$2$i = $14;
} else {
switch ($17<<24>>24) {
case 0: {
$$0 = 0;
break L8;
break;
}
case 3: {
$18 = (($$044$i) + 1)|0;
$$1$i = $18;$$138$i = $$03742$i;$$2$i = $$13543$i;
break L10;
break;
}
case 4: {
$19 = (($$044$i) + -1)|0;
$20 = ($19|0)==(0);
$21 = $20 << 31 >> 31;
$spec$select39$i = (($$03742$i) + ($21))|0;
$$1$i = $19;$$138$i = $spec$select39$i;$$2$i = $$13543$i;
break L10;
break;
}
default: {
$$1$i = $$044$i;$$138$i = $$03742$i;$$2$i = $$13543$i;
break L10;
}
}
}
} while(0);
$22 = ((($$2$i)) + 1|0);
$23 = ($$138$i|0)>(0);
$24 = HEAP8[$22>>0]|0;
$25 = ($24<<24>>24)==(1);
if ($23) {
$$03742$i = $$138$i;$$044$i = $$1$i;$$13543$i = $22;$17 = $24;$34 = $25;
} else {
$$135$lcssa$i = $22;$$lcssa$i = $25;
break L6;
}
}
return ($$0|0);
} else {
$$135$lcssa$i = $7;$$lcssa$i = $9;
}
} while(0);
if ($$lcssa$i) {
$$135$lcssa48$i = $$135$lcssa$i;
} else {
$$0 = 0;
return ($$0|0);
}
} else {
$5 = ($1|0)==(0);
$6 = ($3<<24>>24)==(1);
$or$cond$i = $5 & $6;
if ($or$cond$i) {
$$135$lcssa48$i = $0;
} else {
$$0 = 0;
return ($$0|0);
}
}
$26 = ((($$135$lcssa48$i)) + 1|0);
$$0$copyload9$i = HEAPU8[$26>>0]|(HEAPU8[$26+1>>0]<<8);
$27 = $$0$copyload9$i&65535;
$28 = ((($$135$lcssa48$i)) + 3|0);
$29 = ($$0$copyload9$i<<16>>16)==(0);
if ($29) {
$$0 = 0;
return ($$0|0);
}
$30 = (($27) + 1)|0;
$31 = (__gcry_malloc($30)|0);
$32 = ($31|0)==(0|0);
if ($32) {
$$0 = 0;
return ($$0|0);
}
_memcpy(($31|0),($28|0),($27|0))|0;
$33 = (($31) + ($27)|0);
HEAP8[$33>>0] = 0;
$$0 = $31;
return ($$0|0);
}
function __gcry_sexp_nth_mpi($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$copyload$i = 0, $$0$copyload$i$i = 0, $$0$copyload9$i = 0, $$0$copyload9$i$i = 0, $$021 = 0, $$03742$i = 0, $$03742$i$i = 0, $$044$i = 0, $$044$i$i = 0, $$1$i = 0, $$1$i$i = 0, $$135$lcssa$i = 0, $$135$lcssa$i$i = 0, $$135$lcssa48$i = 0, $$135$lcssa48$i$i = 0, $$13543$i = 0, $$13543$i$i = 0, $$138$i = 0, $$138$i$i = 0, $$2 = 0;
var $$2$i = 0, $$2$i$i = 0, $$lcssa$i = 0, $$lcssa$i$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $or$cond$i$i = 0, $spec$select = 0, $spec$select$i = 0;
var $spec$select$i$i = 0, $spec$select39$i = 0, $spec$select39$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
switch ($2|0) {
case 8: {
$4 = ($0|0)==(0|0);
if ($4) {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
$5 = HEAP8[$0>>0]|0;
$6 = ($5<<24>>24)==(3);
if ($6) {
$9 = ((($0)) + 1|0);
$$pre$i$i = HEAP8[$9>>0]|0;
$10 = ($1|0)>(0);
$11 = ($$pre$i$i<<24>>24)==(1);
L8: do {
if ($10) {
$$03742$i$i = $1;$$044$i$i = 0;$$13543$i$i = $9;$19 = $$pre$i$i;$70 = $11;
L10: while(1) {
L12: do {
if ($70) {
$12 = ((($$13543$i$i)) + 1|0);
$$0$copyload$i$i = HEAPU8[$12>>0]|(HEAPU8[$12+1>>0]<<8);
$13 = $$0$copyload$i$i&65535;
$14 = (($13) + 2)|0;
$15 = (($12) + ($14)|0);
$16 = ((($15)) + -1|0);
$17 = ($$044$i$i|0)==(0);
$18 = $17 << 31 >> 31;
$spec$select$i$i = (($$03742$i$i) + ($18))|0;
$$1$i$i = $$044$i$i;$$138$i$i = $spec$select$i$i;$$2$i$i = $16;
} else {
switch ($19<<24>>24) {
case 0: {
$$2 = 0;
break L10;
break;
}
case 3: {
$20 = (($$044$i$i) + 1)|0;
$$1$i$i = $20;$$138$i$i = $$03742$i$i;$$2$i$i = $$13543$i$i;
break L12;
break;
}
case 4: {
$21 = (($$044$i$i) + -1)|0;
$22 = ($21|0)==(0);
$23 = $22 << 31 >> 31;
$spec$select39$i$i = (($$03742$i$i) + ($23))|0;
$$1$i$i = $21;$$138$i$i = $spec$select39$i$i;$$2$i$i = $$13543$i$i;
break L12;
break;
}
default: {
$$1$i$i = $$044$i$i;$$138$i$i = $$03742$i$i;$$2$i$i = $$13543$i$i;
break L12;
}
}
}
} while(0);
$24 = ((($$2$i$i)) + 1|0);
$25 = ($$138$i$i|0)>(0);
$26 = HEAP8[$24>>0]|0;
$27 = ($26<<24>>24)==(1);
if ($25) {
$$03742$i$i = $$138$i$i;$$044$i$i = $$1$i$i;$$13543$i$i = $24;$19 = $26;$70 = $27;
} else {
$$135$lcssa$i$i = $24;$$lcssa$i$i = $27;
break L8;
}
}
STACKTOP = sp;return ($$2|0);
} else {
$$135$lcssa$i$i = $9;$$lcssa$i$i = $11;
}
} while(0);
if ($$lcssa$i$i) {
$$135$lcssa48$i$i = $$135$lcssa$i$i;
} else {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
} else {
$7 = ($1|0)==(0);
$8 = ($5<<24>>24)==(1);
$or$cond$i$i = $7 & $8;
if ($or$cond$i$i) {
$$135$lcssa48$i$i = $0;
} else {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
}
$28 = ((($$135$lcssa48$i$i)) + 1|0);
$$0$copyload9$i$i = HEAPU8[$28>>0]|(HEAPU8[$28+1>>0]<<8);
$29 = $$0$copyload9$i$i&65535;
$30 = ((($$135$lcssa48$i$i)) + 3|0);
$31 = ($$0$copyload9$i$i<<16>>16)==(0);
if ($31) {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
$32 = (__gcry_malloc($29)|0);
$33 = ($32|0)==(0|0);
if ($33) {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
_memcpy(($32|0),($30|0),($29|0))|0;
$34 = (__gcry_is_secure($0)|0);
$35 = ($34|0)==(0);
if ($35) {
$37 = (__gcry_mpi_new(0)|0);
$38 = $37;
} else {
$36 = (__gcry_mpi_snew(0)|0);
$38 = $36;
}
HEAP32[$3>>2] = $38;
$39 = ($38|0)==(0|0);
if ($39) {
__gcry_free($32);
$$2 = 0;
STACKTOP = sp;return ($$2|0);
} else {
$40 = $29 << 3;
(__gcry_mpi_set_opaque($38,$32,$40)|0);
$$2 = $38;
STACKTOP = sp;return ($$2|0);
}
break;
}
case 0: {
$$021 = 1;
break;
}
default: {
$$021 = $2;
}
}
$41 = ($0|0)==(0|0);
if ($41) {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
$42 = HEAP8[$0>>0]|0;
$43 = ($42<<24>>24)==(3);
if ($43) {
$46 = ((($0)) + 1|0);
$$pre$i = HEAP8[$46>>0]|0;
$47 = ($1|0)>(0);
$48 = ($$pre$i<<24>>24)==(1);
L47: do {
if ($47) {
$$03742$i = $1;$$044$i = 0;$$13543$i = $46;$56 = $$pre$i;$71 = $48;
L49: while(1) {
L51: do {
if ($71) {
$49 = ((($$13543$i)) + 1|0);
$$0$copyload$i = HEAPU8[$49>>0]|(HEAPU8[$49+1>>0]<<8);
$50 = $$0$copyload$i&65535;
$51 = (($50) + 2)|0;
$52 = (($49) + ($51)|0);
$53 = ((($52)) + -1|0);
$54 = ($$044$i|0)==(0);
$55 = $54 << 31 >> 31;
$spec$select$i = (($$03742$i) + ($55))|0;
$$1$i = $$044$i;$$138$i = $spec$select$i;$$2$i = $53;
} else {
switch ($56<<24>>24) {
case 0: {
$$2 = 0;
break L49;
break;
}
case 3: {
$57 = (($$044$i) + 1)|0;
$$1$i = $57;$$138$i = $$03742$i;$$2$i = $$13543$i;
break L51;
break;
}
case 4: {
$58 = (($$044$i) + -1)|0;
$59 = ($58|0)==(0);
$60 = $59 << 31 >> 31;
$spec$select39$i = (($$03742$i) + ($60))|0;
$$1$i = $58;$$138$i = $spec$select39$i;$$2$i = $$13543$i;
break L51;
break;
}
default: {
$$1$i = $$044$i;$$138$i = $$03742$i;$$2$i = $$13543$i;
break L51;
}
}
}
} while(0);
$61 = ((($$2$i)) + 1|0);
$62 = ($$138$i|0)>(0);
$63 = HEAP8[$61>>0]|0;
$64 = ($63<<24>>24)==(1);
if ($62) {
$$03742$i = $$138$i;$$044$i = $$1$i;$$13543$i = $61;$56 = $63;$71 = $64;
} else {
$$135$lcssa$i = $61;$$lcssa$i = $64;
break L47;
}
}
STACKTOP = sp;return ($$2|0);
} else {
$$135$lcssa$i = $46;$$lcssa$i = $48;
}
} while(0);
if ($$lcssa$i) {
$$135$lcssa48$i = $$135$lcssa$i;
} else {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
} else {
$44 = ($1|0)==(0);
$45 = ($42<<24>>24)==(1);
$or$cond$i = $44 & $45;
if ($or$cond$i) {
$$135$lcssa48$i = $0;
} else {
$$2 = 0;
STACKTOP = sp;return ($$2|0);
}
}
$65 = ((($$135$lcssa48$i)) + 1|0);
$$0$copyload9$i = HEAPU8[$65>>0]|(HEAPU8[$65+1>>0]<<8);
$66 = $$0$copyload9$i&65535;
$67 = ((($$135$lcssa48$i)) + 3|0);
$68 = (__gcry_mpi_scan($3,$$021,$67,$66,0)|0);
$69 = ($68|0)==(0);
$$pre = HEAP32[$3>>2]|0;
$spec$select = $69 ? $$pre : 0;
$$2 = $spec$select;
STACKTOP = sp;return ($$2|0);
}
function __gcry_sexp_cdr($0) {
$0 = $0|0;
var $$0$copyload = 0, $$0$copyload$i = 0, $$0$copyload28 = 0, $$0102 = 0, $$048$lcssa$i = 0, $$04859$i = 0, $$050$lcssa$i = 0, $$05058$i = 0, $$061101 = 0, $$062$i = 0, $$063 = 0, $$064100 = 0, $$1 = 0, $$1$i = 0, $$149$i = 0, $$151$i = 0, $$162 = 0, $$165 = 0, $$2 = 0, $$2$i = 0;
var $$252$i = 0, $$266 = 0, $$3 = 0, $$35356$i = 0, $$357$i = 0, $$367 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0, $cond$i = 0, $scevgep$i = 0, $spec$select = 0, $spec$select68 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$063 = 0;
return ($$063|0);
}
$2 = HEAP8[$0>>0]|0;
$3 = ($2<<24>>24)==(3);
if (!($3)) {
$$063 = 0;
return ($$063|0);
}
$4 = ((($0)) + 1|0);
$$0102 = 1;$$061101 = 0;$$064100 = $0;$6 = $4;
L7: while(1) {
$5 = HEAP8[$6>>0]|0;
switch ($5<<24>>24) {
case 0: {
$$063 = 0;
label = 33;
break L7;
break;
}
case 1: {
$7 = ((($$064100)) + 2|0);
$$0$copyload = HEAPU8[$7>>0]|(HEAPU8[$7+1>>0]<<8);
$8 = $$0$copyload&65535;
$9 = (($8) + 2)|0;
$10 = (($7) + ($9)|0);
$11 = ((($10)) + -1|0);
$12 = ($$061101|0)==(0);
$13 = $12 << 31 >> 31;
$spec$select = (($$0102) + ($13))|0;
$$1 = $spec$select;$$162 = $$061101;$$165 = $11;
break;
}
case 3: {
$14 = (($$061101) + 1)|0;
$$1 = $$0102;$$162 = $14;$$165 = $6;
break;
}
case 4: {
$15 = (($$061101) + -1)|0;
$16 = ($15|0)==(0);
$17 = $16 << 31 >> 31;
$spec$select68 = (($$0102) + ($17))|0;
$$1 = $spec$select68;$$162 = $15;$$165 = $6;
break;
}
default: {
$$1 = $$0102;$$162 = $$061101;$$165 = $6;
}
}
$18 = ($$1|0)>(0);
$19 = ((($$165)) + 1|0);
if ($18) {
$$0102 = $$1;$$061101 = $$162;$$064100 = $$165;$6 = $19;
} else {
break;
}
}
if ((label|0) == 33) {
return ($$063|0);
}
$$2 = 0;$$266 = $19;
L17: while(1) {
$20 = HEAP8[$$266>>0]|0;
switch ($20<<24>>24) {
case 0: {
$$063 = 0;
label = 33;
break L17;
break;
}
case 1: {
$21 = ((($$266)) + 1|0);
$$0$copyload28 = HEAPU8[$21>>0]|(HEAPU8[$21+1>>0]<<8);
$22 = $$0$copyload28&65535;
$23 = (($22) + 2)|0;
$24 = (($21) + ($23)|0);
$25 = ((($24)) + -1|0);
$$3 = $$2;$$367 = $25;
break;
}
case 3: {
$26 = (($$2) + 1)|0;
$$3 = $26;$$367 = $$266;
break;
}
case 4: {
$27 = (($$2) + -1)|0;
$$3 = $27;$$367 = $$266;
break;
}
default: {
$$3 = $$2;$$367 = $$266;
}
}
$28 = ((($$367)) + 1|0);
$29 = ($$3|0)==(0);
if ($29) {
break;
} else {
$$2 = $$3;$$266 = $28;
}
}
if ((label|0) == 33) {
return ($$063|0);
}
$30 = $28;
$31 = $19;
$32 = (($30) - ($31))|0;
$33 = $32 & 65535;
$34 = (($33) + 3)|0;
$35 = (__gcry_malloc($34)|0);
$36 = ($35|0)==(0|0);
if ($36) {
$$063 = 0;
return ($$063|0);
}
$37 = ((($35)) + 1|0);
HEAP8[$35>>0] = 3;
_memcpy(($37|0),($19|0),($33|0))|0;
$38 = (($37) + ($33)|0);
$39 = ((($38)) + 1|0);
HEAP8[$38>>0] = 4;
HEAP8[$39>>0] = 0;
$40 = HEAP8[$37>>0]|0;
$41 = ($40<<24>>24)==(4);
if (!($41)) {
$$063 = $35;
return ($$063|0);
}
$42 = (__gcry_is_secure($35)|0);
$43 = ($42|0)==(0);
if (!($43)) {
$$062$i = $35;$45 = 3;
while(1) {
$44 = ((($$062$i)) + 1|0);
$cond$i = ($45<<24>>24)==(1);
if ($cond$i) {
$$0$copyload$i = HEAPU8[$44>>0]|(HEAPU8[$44+1>>0]<<8);
$46 = ((($$062$i)) + 3|0);
$47 = $$0$copyload$i&65535;
$48 = (($46) + ($47)|0);
$$1$i = $48;
} else {
$$1$i = $44;
}
$49 = HEAP8[$$1$i>>0]|0;
$50 = ($49<<24>>24)==(0);
if ($50) {
break;
} else {
$$062$i = $$1$i;$45 = $49;
}
}
$51 = $$1$i;
$52 = $35;
$53 = (($51) - ($52))|0;
$54 = $52 & 7;
$55 = ($54|0)!=(0);
$56 = ($53|0)!=(0);
$57 = $55 & $56;
if ($57) {
$$04859$i = $35;$$05058$i = $53;
while(1) {
HEAP8[$$04859$i>>0] = 0;
$58 = ((($$04859$i)) + 1|0);
$59 = (($$05058$i) + -1)|0;
$60 = $58;
$61 = $60 & 7;
$62 = ($61|0)!=(0);
$63 = ($59|0)!=(0);
$64 = $63 & $62;
if ($64) {
$$04859$i = $58;$$05058$i = $59;
} else {
$$048$lcssa$i = $58;$$050$lcssa$i = $59;
break;
}
}
} else {
$$048$lcssa$i = $35;$$050$lcssa$i = $53;
}
$65 = ($$050$lcssa$i>>>0)<(8);
if ($65) {
$$2$i = $$048$lcssa$i;$$252$i = $$050$lcssa$i;
} else {
$66 = (($$050$lcssa$i) + -8)|0;
$67 = $66 & -8;
$$149$i = $$048$lcssa$i;$$151$i = $$050$lcssa$i;
while(1) {
$68 = $$149$i;
$69 = $68;
HEAP32[$69>>2] = 0;
$70 = (($68) + 4)|0;
$71 = $70;
HEAP32[$71>>2] = 0;
$72 = (($$151$i) + -8)|0;
$73 = ((($$149$i)) + 8|0);
$74 = ($72>>>0)>(7);
if ($74) {
$$149$i = $73;$$151$i = $72;
} else {
break;
}
}
$75 = (($67) + 8)|0;
$76 = (($66) - ($67))|0;
$scevgep$i = (($$048$lcssa$i) + ($75)|0);
$$2$i = $scevgep$i;$$252$i = $76;
}
$77 = ($$252$i|0)==(0);
if (!($77)) {
$$35356$i = $$252$i;$$357$i = $$2$i;
while(1) {
HEAP8[$$357$i>>0] = 0;
$78 = ((($$357$i)) + 1|0);
$79 = (($$35356$i) + -1)|0;
$80 = ($79|0)==(0);
if ($80) {
break;
} else {
$$35356$i = $79;$$357$i = $78;
}
}
}
}
__gcry_free($35);
$$063 = 0;
return ($$063|0);
}
function __gcry_sexp_cadr($0) {
$0 = $0|0;
var $$0$copyload$i = 0, $$0$lcssa$i = 0, $$048$lcssa$i = 0, $$04859$i = 0, $$050$lcssa$i = 0, $$05058$i = 0, $$062$i = 0, $$1$i = 0, $$149$i = 0, $$151$i = 0, $$2$i = 0, $$252$i = 0, $$35356$i = 0, $$357$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond$i = 0, $scevgep$i = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_sexp_cdr($0)|0);
$2 = (__gcry_sexp_nth($1,0)|0);
$3 = ($1|0)==(0|0);
if ($3) {
return ($2|0);
}
$4 = (__gcry_is_secure($1)|0);
$5 = ($4|0)==(0);
if (!($5)) {
$6 = HEAP8[$1>>0]|0;
$7 = ($6<<24>>24)==(0);
if ($7) {
$$0$lcssa$i = $1;
} else {
$$062$i = $1;$9 = $6;
while(1) {
$8 = ((($$062$i)) + 1|0);
$cond$i = ($9<<24>>24)==(1);
if ($cond$i) {
$$0$copyload$i = HEAPU8[$8>>0]|(HEAPU8[$8+1>>0]<<8);
$10 = ((($$062$i)) + 3|0);
$11 = $$0$copyload$i&65535;
$12 = (($10) + ($11)|0);
$$1$i = $12;
} else {
$$1$i = $8;
}
$13 = HEAP8[$$1$i>>0]|0;
$14 = ($13<<24>>24)==(0);
if ($14) {
$$0$lcssa$i = $$1$i;
break;
} else {
$$062$i = $$1$i;$9 = $13;
}
}
}
$15 = $$0$lcssa$i;
$16 = $1;
$17 = (($15) - ($16))|0;
$18 = $16 & 7;
$19 = ($18|0)!=(0);
$20 = ($17|0)!=(0);
$21 = $19 & $20;
if ($21) {
$$04859$i = $1;$$05058$i = $17;
while(1) {
HEAP8[$$04859$i>>0] = 0;
$22 = ((($$04859$i)) + 1|0);
$23 = (($$05058$i) + -1)|0;
$24 = $22;
$25 = $24 & 7;
$26 = ($25|0)!=(0);
$27 = ($23|0)!=(0);
$28 = $27 & $26;
if ($28) {
$$04859$i = $22;$$05058$i = $23;
} else {
$$048$lcssa$i = $22;$$050$lcssa$i = $23;
break;
}
}
} else {
$$048$lcssa$i = $1;$$050$lcssa$i = $17;
}
$29 = ($$050$lcssa$i>>>0)<(8);
if ($29) {
$$2$i = $$048$lcssa$i;$$252$i = $$050$lcssa$i;
} else {
$30 = (($$050$lcssa$i) + -8)|0;
$31 = $30 & -8;
$$149$i = $$048$lcssa$i;$$151$i = $$050$lcssa$i;
while(1) {
$32 = $$149$i;
$33 = $32;
HEAP32[$33>>2] = 0;
$34 = (($32) + 4)|0;
$35 = $34;
HEAP32[$35>>2] = 0;
$36 = (($$151$i) + -8)|0;
$37 = ((($$149$i)) + 8|0);
$38 = ($36>>>0)>(7);
if ($38) {
$$149$i = $37;$$151$i = $36;
} else {
break;
}
}
$39 = (($31) + 8)|0;
$40 = (($30) - ($31))|0;
$scevgep$i = (($$048$lcssa$i) + ($39)|0);
$$2$i = $scevgep$i;$$252$i = $40;
}
$41 = ($$252$i|0)==(0);
if (!($41)) {
$$35356$i = $$252$i;$$357$i = $$2$i;
while(1) {
HEAP8[$$357$i>>0] = 0;
$42 = ((($$357$i)) + 1|0);
$43 = (($$35356$i) + -1)|0;
$44 = ($43|0)==(0);
if ($44) {
break;
} else {
$$35356$i = $43;$$357$i = $42;
}
}
}
}
__gcry_free($1);
return ($2|0);
}
function __gcry_sexp_build($0,$1,$2,$varargs) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$varargs = $varargs|0;
var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
HEAP32[$3>>2] = $varargs;
$4 = (_strlen($2)|0);
$5 = (_do_vsexp_sscan($0,$1,$2,$4,1,0,$3)|0);
STACKTOP = sp;return ($5|0);
}
function __gcry_sexp_vbuild($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (_strlen($2)|0);
$5 = (_do_vsexp_sscan($0,$1,$2,$4,1,0,$3)|0);
return ($5|0);
}
function __gcry_sexp_sscan($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$4 = (_do_sexp_sscan($0,$1,$2,$3,0,0,$vararg_buffer)|0);
STACKTOP = sp;return ($4|0);
}
function __gcry_sexp_sprint($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$0$copyload = 0, $$010$lcssa$i = 0, $$01011$i = 0, $$012$i = 0, $$0125 = 0, $$0125$be = 0, $$0129 = 0, $$0129$be = 0, $$0134 = 0, $$0134$be = 0, $$0136 = 0, $$0136$be = 0, $$02649$i = 0, $$02748$i = 0, $$050$i = 0, $$1$i = 0, $$10 = 0, $$12151 = 0, $$3139 = 0;
var $$4 = 0, $$4140 = 0, $$5 = 0, $$5141 = 0, $$6142160 = 0, $$7143 = 0, $$7149 = 0, $$7152 = 0, $$clear = 0, $$not = 0, $$off$i = 0, $$off37$i = 0, $$off38$i = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
var $90 = 0, $91 = 0, $exitcond$i = 0, $memchr$i = 0, $memchr29$i = 0, $or$cond = 0, $or$cond$i = 0, $or$cond43$i = 0, $or$cond45$i = 0, $scevgep = 0, $scevgep$i = 0, $scevgep172 = 0, $spec$select = 0, $spec$select$i = 0, $spec$select153 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer1 = sp + 32|0;
$vararg_buffer = sp + 24|0;
$4 = sp;
$5 = ($0|0)==(0|0);
$6 = $5 ? 44730 : $0;
$7 = ($1|0)!=(1);
$8 = ($2|0)==(0|0);
$9 = ($2|0)!=(0|0);
$10 = ($1|0)==(3);
$11 = ($1|0)==(1);
$$not = $7 ^ 1;
$$0125 = 0;$$0129 = 0;$$0134 = $6;$$0136 = $2;
L1: while(1) {
$12 = HEAP8[$$0134>>0]|0;
L3: do {
switch ($12<<24>>24) {
case 0: {
label = 56;
break L1;
break;
}
case 3: {
$13 = ((($$0134)) + 1|0);
$14 = ($$0125|0)!=(0);
$15 = $14&1;
$spec$select = (($$0125) + ($$0129))|0;
$16 = (($spec$select) + ($15))|0;
$spec$select153 = $7 ? $16 : $$0129;
$17 = (($spec$select153) + 1)|0;
if ($8) {
$$4140 = $$0136;
} else {
$18 = ($17>>>0)<($3>>>0);
if (!($18)) {
$$4 = 0;
label = 64;
break L1;
}
$19 = ($$0125|0)==(0);
$or$cond = $19 | $$not;
if ($or$cond) {
$$3139 = $$0136;
} else {
$20 = ((($$0136)) + 1|0);
HEAP8[$$0136>>0] = 10;
$21 = ($$0125|0)>(0);
if ($21) {
_memset(($20|0),32,($$0125|0))|0;
$scevgep172 = (($20) + ($$0125)|0);
$$3139 = $scevgep172;
} else {
$$3139 = $20;
}
}
$22 = ((($$3139)) + 1|0);
HEAP8[$$3139>>0] = 40;
$$4140 = $22;
}
$23 = (($$0125) + 1)|0;
$$0125$be = $23;$$0129$be = $17;$$0134$be = $13;$$0136$be = $$4140;
break;
}
case 4: {
$24 = ((($$0134)) + 1|0);
$25 = (($$0129) + 1)|0;
if ($9) {
$26 = ($25>>>0)<($3>>>0);
if (!($26)) {
$$4 = 0;
label = 64;
break L1;
}
$27 = ((($$0136)) + 1|0);
HEAP8[$$0136>>0] = 41;
$$5141 = $27;
} else {
$$5141 = $$0136;
}
$28 = (($$0125) + -1)|0;
if ($11) {
$$0125$be = $28;$$0129$be = $25;$$0134$be = $24;$$0136$be = $$5141;
} else {
$29 = HEAP8[$24>>0]|0;
switch ($29<<24>>24) {
case 0: case 3: {
$$0125$be = $28;$$0129$be = $25;$$0134$be = $24;$$0136$be = $$5141;
break L3;
break;
}
default: {
}
}
$30 = (($$0129) + 2)|0;
$31 = (($30) + ($28))|0;
if ($9) {
$32 = ($31>>>0)<($3>>>0);
if (!($32)) {
$$4 = 0;
label = 64;
break L1;
}
HEAP8[$$5141>>0] = 10;
$$6142160 = ((($$5141)) + 1|0);
$33 = ($$0125|0)>(1);
if ($33) {
_memset(($$6142160|0),32,($28|0))|0;
$scevgep = (($$5141) + ($$0125)|0);
$$0125$be = $28;$$0129$be = $31;$$0134$be = $24;$$0136$be = $scevgep;
} else {
$$0125$be = $28;$$0129$be = $31;$$0134$be = $24;$$0136$be = $$6142160;
}
} else {
$$0125$be = $28;$$0129$be = $31;$$0134$be = $24;$$0136$be = $$5141;
}
}
break;
}
case 1: {
$34 = ((($$0134)) + 1|0);
$$0$copyload = HEAPU8[$34>>0]|(HEAPU8[$34+1>>0]<<8);
$35 = ((($$0134)) + 3|0);
$36 = $$0$copyload&65535;
if ($10) {
$37 = ($$0$copyload<<16>>16)==(0);
L26: do {
if ($37) {
label = 32;
} else {
$38 = HEAP8[$35>>0]|0;
$39 = ($38<<24>>24)<(1);
L28: do {
if (!($39)) {
$$02649$i = $35;$$02748$i = $36;$$050$i = 1;$41 = $38;
while(1) {
$40 = ($41&255)<(32);
$$off$i = (($41) + -127)<<24>>24;
$42 = ($$off$i&255)<(34);
$or$cond$i = $40 | $42;
if ($or$cond$i) {
$43 = $41&255;
$memchr29$i = (_memchr(44733,$43,10)|0);
$44 = ($memchr29$i|0)==(0|0);
if ($44) {
break L28;
}
}
$45 = ($$050$i|0)==(0);
if ($45) {
$$1$i = 0;
} else {
$46 = $41 & -33;
$47 = (($46) + -65)<<24>>24;
$48 = ($47&255)<(26);
$$off37$i = (($41) + -48)<<24>>24;
$49 = ($$off37$i&255)<(10);
$or$cond43$i = $49 | $48;
if ($or$cond43$i) {
$$1$i = $$050$i;
} else {
$50 = $41&255;
$memchr$i = (_memchr(44743,$50,9)|0);
$51 = ($memchr$i|0)==(0|0);
$spec$select$i = $51 ? 0 : $$050$i;
$$1$i = $spec$select$i;
}
}
$52 = ((($$02649$i)) + 1|0);
$53 = (($$02748$i) + -1)|0;
$54 = ($53|0)==(0);
if ($54) {
break;
}
$$pre$i = HEAP8[$52>>0]|0;
$$02649$i = $52;$$02748$i = $53;$$050$i = $$1$i;$41 = $$pre$i;
}
$55 = ($$1$i|0)==(0);
$$off38$i = (($38) + -48)<<24>>24;
$56 = ($$off38$i&255)<(10);
$or$cond45$i = $56 | $55;
if ($or$cond45$i) {
label = 32;
break L26;
} else {
$$0 = $36;$62 = 2;
break L26;
}
}
} while(0);
$58 = $36 << 1;
$59 = (($58) + 2)|0;
$$0 = $59;$62 = 0;
}
} while(0);
if ((label|0) == 32) {
label = 0;
$57 = (_convert_to_string($35,$36,0)|0);
$$0 = $57;$62 = 1;
}
$60 = (($$0) + ($$0129))|0;
if ($9) {
$61 = ($60>>>0)<($3>>>0);
if (!($61)) {
$$4 = 0;
label = 64;
break L1;
}
$$clear = $62 & 3;
switch ($$clear<<24>>24) {
case 1: {
(_convert_to_string($35,$36,$$0136)|0);
break;
}
case 2: {
$63 = ($$0136|0)==(0|0);
if (!($63)) {
_memcpy(($$0136|0),($35|0),($36|0))|0;
}
break;
}
default: {
$64 = ($$0136|0)==(0|0);
if (!($64)) {
$65 = ((($$0136)) + 1|0);
HEAP8[$$0136>>0] = 35;
if ($37) {
$$010$lcssa$i = $65;
} else {
$66 = $36 << 1;
$$01011$i = $65;$$012$i = 0;
while(1) {
$67 = (($35) + ($$012$i)|0);
$68 = HEAP8[$67>>0]|0;
$69 = $68&255;
HEAP32[$vararg_buffer>>2] = $69;
(_sprintf($$01011$i,44752,$vararg_buffer)|0);
$70 = (($$012$i) + 1)|0;
$71 = ((($$01011$i)) + 2|0);
$exitcond$i = ($70|0)==($36|0);
if ($exitcond$i) {
break;
} else {
$$01011$i = $71;$$012$i = $70;
}
}
$72 = $66 | 1;
$scevgep$i = (($$0136) + ($72)|0);
$$010$lcssa$i = $scevgep$i;
}
HEAP8[$$010$lcssa$i>>0] = 35;
}
}
}
$73 = (($$0136) + ($$0)|0);
$$7143 = $73;
} else {
$$7143 = $$0136;
}
$74 = (($35) + ($36)|0);
$75 = HEAP8[$74>>0]|0;
$76 = ($75<<24>>24)==(4);
if ($76) {
$$10 = $$7143;$$5 = $60;
} else {
$77 = (($60) + 1)|0;
if ($9) {
$78 = ($77>>>0)<($3>>>0);
if (!($78)) {
$$4 = 0;
label = 64;
break L1;
}
$79 = ((($$7143)) + 1|0);
HEAP8[$$7143>>0] = 32;
$$10 = $79;$$5 = $77;
} else {
$$10 = $$7143;$$5 = $77;
}
}
} else {
HEAP32[$vararg_buffer1>>2] = $36;
(_sprintf($4,44757,$vararg_buffer1)|0);
$80 = (_strlen($4)|0);
$81 = (($$0129) + ($36))|0;
$82 = (($81) + ($80))|0;
if ($8) {
$$10 = $$0136;$$5 = $82;
} else {
$83 = ($82>>>0)<($3>>>0);
if (!($83)) {
$$4 = 0;
label = 64;
break L1;
}
$84 = (___stpcpy($$0136,$4)|0);
_memcpy(($84|0),($35|0),($36|0))|0;
$85 = (($84) + ($36)|0);
$$10 = $85;$$5 = $82;
}
}
$86 = (($35) + ($36)|0);
$$0125$be = $$0125;$$0129$be = $$5;$$0134$be = $86;$$0136$be = $$10;
break;
}
default: {
label = 55;
break L1;
}
}
} while(0);
$$0125 = $$0125$be;$$0129 = $$0129$be;$$0134 = $$0134$be;$$0136 = $$0136$be;
}
if ((label|0) == 55) {
__gcry_bug(44662,2008,44761);
// unreachable;
}
else if ((label|0) == 56) {
do {
if ($11) {
if ($8) {
$$7149 = $$0129;
label = 63;
} else {
$$12151 = $$0136;$$7152 = $$0129;
}
} else {
$87 = (($$0129) + 1)|0;
if ($8) {
$$7149 = $87;
label = 63;
} else {
$88 = ($87>>>0)<($3>>>0);
if ($88) {
$89 = ((($$0136)) + 1|0);
HEAP8[$$0136>>0] = 10;
$$12151 = $89;$$7152 = $87;
break;
} else {
$$4 = 0;
STACKTOP = sp;return ($$4|0);
}
}
}
} while(0);
if ((label|0) == 63) {
$91 = (($$7149) + 1)|0;
$$4 = $91;
STACKTOP = sp;return ($$4|0);
}
$90 = ($$7152>>>0)<($3>>>0);
if (!($90)) {
$$4 = 0;
STACKTOP = sp;return ($$4|0);
}
HEAP8[$$12151>>0] = 0;
$$4 = $$7152;
STACKTOP = sp;return ($$4|0);
}
else if ((label|0) == 64) {
STACKTOP = sp;return ($$4|0);
}
return (0)|0;
}
function _convert_to_string($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$050$lcssa = 0, $$05067 = 0, $$052 = 0, $$05366 = 0, $$05565 = 0, $$064 = 0, $$151 = 0, $$15463 = 0, $$15662 = 0, $$off = 0, $$off58 = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond61 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$3 = ($2|0)==(0|0);
if ($3) {
$37 = ($1|0)==(0);
if ($37) {
$$052 = 2;
STACKTOP = sp;return ($$052|0);
}
$$064 = 2;$$15463 = $1;$$15662 = $0;
while(1) {
$38 = HEAP8[$$15662>>0]|0;
switch ($38<<24>>24) {
case 92: case 39: case 34: case 13: case 12: case 10: case 11: case 9: case 8: {
$$sink = 2;
break;
}
default: {
$39 = ($38&255)<(32);
$$off58 = (($38) + -127)<<24>>24;
$40 = ($$off58&255)<(34);
$or$cond61 = $39 | $40;
$$ = $or$cond61 ? 4 : 1;
$$sink = $$;
}
}
$41 = (($$064) + ($$sink))|0;
$42 = (($$15463) + -1)|0;
$43 = ((($$15662)) + 1|0);
$44 = ($42|0)==(0);
if ($44) {
$$052 = $41;
break;
} else {
$$064 = $41;$$15463 = $42;$$15662 = $43;
}
}
STACKTOP = sp;return ($$052|0);
}
$4 = ((($2)) + 1|0);
HEAP8[$2>>0] = 34;
$5 = ($1|0)==(0);
L13: do {
if ($5) {
$$050$lcssa = $4;
} else {
$$05067 = $4;$$05366 = $1;$$05565 = $0;
while(1) {
$6 = HEAP8[$$05565>>0]|0;
L17: do {
switch ($6<<24>>24) {
case 8: {
$7 = ((($$05067)) + 1|0);
HEAP8[$$05067>>0] = 92;
$8 = ((($$05067)) + 2|0);
HEAP8[$7>>0] = 98;
$$151 = $8;
break;
}
case 9: {
$9 = ((($$05067)) + 1|0);
HEAP8[$$05067>>0] = 92;
$10 = ((($$05067)) + 2|0);
HEAP8[$9>>0] = 116;
$$151 = $10;
break;
}
case 11: {
$11 = ((($$05067)) + 1|0);
HEAP8[$$05067>>0] = 92;
$12 = ((($$05067)) + 2|0);
HEAP8[$11>>0] = 118;
$$151 = $12;
break;
}
case 10: {
$13 = ((($$05067)) + 1|0);
HEAP8[$$05067>>0] = 92;
$14 = ((($$05067)) + 2|0);
HEAP8[$13>>0] = 110;
$$151 = $14;
break;
}
case 12: {
$15 = ((($$05067)) + 1|0);
HEAP8[$$05067>>0] = 92;
$16 = ((($$05067)) + 2|0);
HEAP8[$15>>0] = 102;
$$151 = $16;
break;
}
case 13: {
$17 = ((($$05067)) + 1|0);
HEAP8[$$05067>>0] = 92;
$18 = ((($$05067)) + 2|0);
HEAP8[$17>>0] = 114;
$$151 = $18;
break;
}
case 34: {
$19 = ((($$05067)) + 1|0);
HEAP8[$$05067>>0] = 92;
$20 = ((($$05067)) + 2|0);
HEAP8[$19>>0] = 34;
$$151 = $20;
break;
}
case 39: {
$21 = ((($$05067)) + 1|0);
HEAP8[$$05067>>0] = 92;
$22 = ((($$05067)) + 2|0);
HEAP8[$21>>0] = 39;
$$151 = $22;
break;
}
case 92: {
$23 = ((($$05067)) + 1|0);
HEAP8[$$05067>>0] = 92;
$24 = ((($$05067)) + 2|0);
HEAP8[$23>>0] = 92;
$$151 = $24;
break;
}
default: {
$25 = ($6&255)<(32);
$$off = (($6) + -127)<<24>>24;
$26 = ($$off&255)<(34);
$or$cond = $25 | $26;
if ($or$cond) {
$27 = $6&255;
HEAP32[$vararg_buffer>>2] = $27;
(_sprintf($$05067,44655,$vararg_buffer)|0);
$28 = ((($$05067)) + 4|0);
$$151 = $28;
break L17;
} else {
$29 = ((($$05067)) + 1|0);
HEAP8[$$05067>>0] = $6;
$$151 = $29;
break L17;
}
}
}
} while(0);
$30 = (($$05366) + -1)|0;
$31 = ((($$05565)) + 1|0);
$32 = ($30|0)==(0);
if ($32) {
$$050$lcssa = $$151;
break L13;
} else {
$$05067 = $$151;$$05366 = $30;$$05565 = $31;
}
}
}
} while(0);
$33 = ((($$050$lcssa)) + 1|0);
HEAP8[$$050$lcssa>>0] = 34;
$34 = $33;
$35 = $2;
$36 = (($34) - ($35))|0;
$$052 = $36;
STACKTOP = sp;return ($$052|0);
}
function __gcry_sexp_vextract_param($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$0$copyload$i = 0, $$0$copyload$i$i = 0, $$0$copyload$i$i219 = 0, $$0$copyload$i$i234 = 0, $$0$copyload$i$i249 = 0, $$0$copyload$i190 = 0, $$0$copyload$i266 = 0, $$0$copyload$i292 = 0, $$0$copyload$i318 = 0, $$0$copyload9$i$i = 0, $$0$copyload9$i$i227 = 0, $$0$copyload9$i$i242 = 0, $$0$copyload9$i$i257 = 0, $$0$lcssa$i = 0, $$0$lcssa$i192 = 0, $$0$lcssa$i268 = 0, $$0$lcssa$i294 = 0, $$0$lcssa$i320 = 0, $$0150$lcssa = 0;
var $$0150386 = 0, $$0151385 = 0, $$0156393 = 0, $$0162$lcssa427 = 0, $$0162392 = 0, $$0178$lcssa = 0, $$0178380 = 0, $$0178384 = 0, $$0181 = 0, $$03742$i$i = 0, $$03742$i$i217 = 0, $$03742$i$i232 = 0, $$03742$i$i247 = 0, $$044$i$i = 0, $$044$i$i215 = 0, $$044$i$i230 = 0, $$044$i$i245 = 0, $$048$lcssa$i = 0, $$048$lcssa$i198 = 0, $$048$lcssa$i274 = 0;
var $$048$lcssa$i300 = 0, $$048$lcssa$i326 = 0, $$04859$i = 0, $$04859$i195 = 0, $$04859$i271 = 0, $$04859$i297 = 0, $$04859$i323 = 0, $$050$lcssa$i = 0, $$050$lcssa$i197 = 0, $$050$lcssa$i273 = 0, $$050$lcssa$i299 = 0, $$050$lcssa$i325 = 0, $$05058$i = 0, $$05058$i196 = 0, $$05058$i272 = 0, $$05058$i298 = 0, $$05058$i324 = 0, $$062$i = 0, $$062$i187 = 0, $$062$i263 = 0;
var $$062$i289 = 0, $$062$i315 = 0, $$1$i = 0, $$1$i$i = 0, $$1$i$i224 = 0, $$1$i$i239 = 0, $$1$i$i254 = 0, $$1$i191 = 0, $$1$i267 = 0, $$1$i293 = 0, $$1$i319 = 0, $$1157 = 0, $$1163 = 0, $$1182 = 0, $$13543$i$i = 0, $$13543$i$i216 = 0, $$13543$i$i231 = 0, $$13543$i$i246 = 0, $$138$i$i = 0, $$138$i$i222 = 0;
var $$138$i$i237 = 0, $$138$i$i252 = 0, $$149$i = 0, $$149$i201 = 0, $$149$i277 = 0, $$149$i303 = 0, $$149$i329 = 0, $$151$i = 0, $$151$i200 = 0, $$151$i276 = 0, $$151$i302 = 0, $$151$i328 = 0, $$2$i = 0, $$2$i$i = 0, $$2$i$i223 = 0, $$2$i$i238 = 0, $$2$i$i253 = 0, $$2$i205 = 0, $$2$i243 = 0, $$2$i260 = 0;
var $$2$i281 = 0, $$2$i307 = 0, $$2$i333 = 0, $$2158 = 0, $$2164 = 0, $$252$i = 0, $$252$i204 = 0, $$252$i280 = 0, $$252$i306 = 0, $$252$i332 = 0, $$3159 = 0, $$3165 = 0, $$3171 = 0, $$35356$i = 0, $$35356$i209 = 0, $$35356$i285 = 0, $$35356$i311 = 0, $$35356$i337 = 0, $$357$i = 0, $$357$i208 = 0;
var $$357$i284 = 0, $$357$i310 = 0, $$357$i336 = 0, $$4160 = 0, $$4166 = 0, $$5161 = 0, $$6174 = 0, $$9 = 0, $$in = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i$i214 = 0, $$pre$i$i229 = 0, $$pre$i$i244 = 0, $$pre$i258 = 0, $$pre$phiZ2D = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0;
var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0;
var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0;
var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0;
var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0;
var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0;
var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0;
var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0;
var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0;
var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0;
var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0;
var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0;
var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0;
var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0;
var $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0;
var $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $cond$i = 0, $cond$i188 = 0, $cond$i264 = 0, $cond$i290 = 0, $cond$i316 = 0, $expanded = 0, $expanded10 = 0;
var $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $or$cond183 = 0, $or$cond184 = 0, $scevgep$i = 0, $scevgep$i202 = 0, $scevgep$i278 = 0, $scevgep$i304 = 0, $scevgep$i330 = 0, $spec$select = 0, $spec$select$i = 0, $spec$select$i$i = 0, $spec$select$i$i220 = 0, $spec$select$i$i235 = 0;
var $spec$select$i$i250 = 0, $spec$select$i259 = 0, $spec$select39$i$i = 0, $spec$select39$i$i221 = 0, $spec$select39$i$i236 = 0, $spec$select39$i$i251 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$4 = sp + 116|0;
$5 = sp + 112|0;
$6 = sp + 32|0;
$7 = sp;
;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;HEAP32[$7+16>>2]=0|0;
$8 = HEAP8[$2>>0]|0;
$9 = ($8<<24>>24)==(0);
do {
if ($9) {
$$0162$lcssa427 = 0;
} else {
$$0156393 = $2;$$0162392 = 0;$10 = $8;
L3: while(1) {
L5: do {
switch ($10<<24>>24) {
case 63: case 47: case 45: case 43: case 38: {
$$1163 = $$0162392;$$2158 = $$0156393;
break;
}
default: {
$11 = $10 << 24 >> 24;
switch ($11|0) {
case 10: case 13: case 12: case 11: case 9: case 32: {
$$1163 = $$0162392;$$2158 = $$0156393;
break L5;
break;
}
default: {
}
}
$12 = ($10<<24>>24)==(39);
if ($12) {
$13 = ((($$0156393)) + 1|0);
$14 = (_strchr($13,39)|0);
$15 = ($14|0)==(0|0);
$16 = ($14|0)==($13|0);
$or$cond183 = $15 | $16;
if ($or$cond183) {
$$0 = 29;
label = 180;
break L3;
} else {
$$1157 = $14;
}
} else {
$$1157 = $$0156393;
}
$arglist_current = HEAP32[$3>>2]|0;
$17 = $arglist_current;
$18 = ((0) + 4|0);
$expanded4 = $18;
$expanded = (($expanded4) - 1)|0;
$19 = (($17) + ($expanded))|0;
$20 = ((0) + 4|0);
$expanded8 = $20;
$expanded7 = (($expanded8) - 1)|0;
$expanded6 = $expanded7 ^ -1;
$21 = $19 & $expanded6;
$22 = $21;
$23 = HEAP32[$22>>2]|0;
$arglist_next = ((($22)) + 4|0);
HEAP32[$3>>2] = $arglist_next;
$24 = (($6) + ($$0162392<<2)|0);
HEAP32[$24>>2] = $23;
$25 = ($23|0)==(0|0);
if ($25) {
$$0 = 128;
label = 180;
break L3;
}
$26 = (($$0162392) + 1)|0;
$$1163 = $26;$$2158 = $$1157;
}
}
} while(0);
$27 = ((($$2158)) + 1|0);
$28 = HEAP8[$27>>0]|0;
$29 = ($28<<24>>24)!=(0);
$30 = ($$1163>>>0)<(20);
$31 = $30 & $29;
if ($31) {
$$0156393 = $27;$$0162392 = $$1163;$10 = $28;
} else {
label = 10;
break;
}
}
if ((label|0) == 10) {
$32 = ($28<<24>>24)==(0);
if ($32) {
$$0162$lcssa427 = $$1163;
break;
} else {
$$0 = 183;
}
STACKTOP = sp;return ($$0|0);
}
else if ((label|0) == 180) {
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
$arglist_current2 = HEAP32[$3>>2]|0;
$33 = $arglist_current2;
$34 = ((0) + 4|0);
$expanded11 = $34;
$expanded10 = (($expanded11) - 1)|0;
$35 = (($33) + ($expanded10))|0;
$36 = ((0) + 4|0);
$expanded15 = $36;
$expanded14 = (($expanded15) - 1)|0;
$expanded13 = $expanded14 ^ -1;
$37 = $35 & $expanded13;
$38 = $37;
$39 = HEAP32[$38>>2]|0;
$arglist_next3 = ((($38)) + 4|0);
HEAP32[$3>>2] = $arglist_next3;
$40 = ($39|0)==(0|0);
if (!($40)) {
$$0 = 45;
STACKTOP = sp;return ($$0|0);
}
$41 = ($1|0)==(0|0);
L22: do {
if ($41) {
$$0150$lcssa = $0;$$0178$lcssa = 0;
label = 36;
} else {
$$0150386 = $0;$$0151385 = $1;$$0178384 = 0;
while(1) {
$42 = HEAP8[$$0151385>>0]|0;
$43 = ($42<<24>>24)==(0);
if ($43) {
$$0150$lcssa = $$0150386;$$0178$lcssa = $$0178384;
label = 36;
break L22;
}
$44 = (_strchr($$0151385,33)|0);
$45 = ($44|0)==($$0151385|0);
if ($45) {
$$0178380 = $$0178384;$$4166 = $$0162$lcssa427;$$6174 = 0;$$9 = 27;
break L22;
}
$46 = ($44|0)==(0|0);
$47 = $44;
$48 = $$0151385;
$49 = (($47) - ($48))|0;
$$sink = $46 ? 0 : $49;
$50 = $46 ? 0 : $49;
$51 = (__gcry_sexp_find_token($$0150386,$$0151385,$$sink)|0);
$52 = ($51|0)==(0|0);
if ($52) {
$$0178380 = $$0178384;$$4166 = $$0162$lcssa427;$$6174 = 0;$$9 = 27;
break L22;
}
$53 = ($$0178384|0)==(0|0);
if (!($53)) {
$54 = (__gcry_is_secure($$0178384)|0);
$55 = ($54|0)==(0);
if (!($55)) {
$56 = HEAP8[$$0178384>>0]|0;
$57 = ($56<<24>>24)==(0);
if ($57) {
$$0$lcssa$i192 = $$0178384;
} else {
$$062$i187 = $$0178384;$59 = $56;
while(1) {
$58 = ((($$062$i187)) + 1|0);
$cond$i188 = ($59<<24>>24)==(1);
if ($cond$i188) {
$$0$copyload$i190 = HEAPU8[$58>>0]|(HEAPU8[$58+1>>0]<<8);
$60 = ((($$062$i187)) + 3|0);
$61 = $$0$copyload$i190&65535;
$62 = (($60) + ($61)|0);
$$1$i191 = $62;
} else {
$$1$i191 = $58;
}
$63 = HEAP8[$$1$i191>>0]|0;
$64 = ($63<<24>>24)==(0);
if ($64) {
$$0$lcssa$i192 = $$1$i191;
break;
} else {
$$062$i187 = $$1$i191;$59 = $63;
}
}
}
$65 = $$0$lcssa$i192;
$66 = $$0178384;
$67 = (($65) - ($66))|0;
$68 = $66 & 7;
$69 = ($68|0)!=(0);
$70 = ($67|0)!=(0);
$71 = $69 & $70;
if ($71) {
$$04859$i195 = $$0178384;$$05058$i196 = $67;
while(1) {
HEAP8[$$04859$i195>>0] = 0;
$72 = ((($$04859$i195)) + 1|0);
$73 = (($$05058$i196) + -1)|0;
$74 = $72;
$75 = $74 & 7;
$76 = ($75|0)!=(0);
$77 = ($73|0)!=(0);
$78 = $77 & $76;
if ($78) {
$$04859$i195 = $72;$$05058$i196 = $73;
} else {
$$048$lcssa$i198 = $72;$$050$lcssa$i197 = $73;
break;
}
}
} else {
$$048$lcssa$i198 = $$0178384;$$050$lcssa$i197 = $67;
}
$79 = ($$050$lcssa$i197>>>0)<(8);
if ($79) {
$$2$i205 = $$048$lcssa$i198;$$252$i204 = $$050$lcssa$i197;
} else {
$80 = (($$050$lcssa$i197) + -8)|0;
$81 = $80 & -8;
$$149$i201 = $$048$lcssa$i198;$$151$i200 = $$050$lcssa$i197;
while(1) {
$82 = $$149$i201;
$83 = $82;
HEAP32[$83>>2] = 0;
$84 = (($82) + 4)|0;
$85 = $84;
HEAP32[$85>>2] = 0;
$86 = (($$151$i200) + -8)|0;
$87 = ((($$149$i201)) + 8|0);
$88 = ($86>>>0)>(7);
if ($88) {
$$149$i201 = $87;$$151$i200 = $86;
} else {
break;
}
}
$89 = (($81) + 8)|0;
$90 = (($80) - ($81))|0;
$scevgep$i202 = (($$048$lcssa$i198) + ($89)|0);
$$2$i205 = $scevgep$i202;$$252$i204 = $90;
}
$91 = ($$252$i204|0)==(0);
if (!($91)) {
$$35356$i209 = $$252$i204;$$357$i208 = $$2$i205;
while(1) {
HEAP8[$$357$i208>>0] = 0;
$92 = ((($$357$i208)) + 1|0);
$93 = (($$35356$i209) + -1)|0;
$94 = ($93|0)==(0);
if ($94) {
break;
} else {
$$35356$i209 = $93;$$357$i208 = $92;
}
}
}
}
__gcry_free($$0178384);
}
$95 = ($50|0)==(0);
$96 = (($50) + 1)|0;
$97 = (($$0151385) + ($96)|0);
$spec$select = $95 ? 0 : $97;
$98 = ($spec$select|0)==(0|0);
if ($98) {
$$0150$lcssa = $51;$$0178$lcssa = $51;
label = 36;
break;
} else {
$$0150386 = $51;$$0151385 = $spec$select;$$0178384 = $51;
}
}
}
} while(0);
L57: do {
if ((label|0) == 36) {
$$0181 = 43;$$2164 = 0;$$3159 = $2;
L59: while(1) {
$99 = HEAP8[$$3159>>0]|0;
L61: do {
switch ($99<<24>>24) {
case 0: {
break L59;
break;
}
case 47: case 45: case 43: case 38: {
$100 = $99 << 24 >> 24;
$$1182 = $100;$$3165 = $$2164;$$5161 = $$3159;
break;
}
default: {
$101 = $99 << 24 >> 24;
switch ($101|0) {
case 10: case 13: case 12: case 11: case 9: case 32: {
$$1182 = $$0181;$$3165 = $$2164;$$5161 = $$3159;
break L61;
break;
}
default: {
}
}
switch ($99<<24>>24) {
case 63: {
$$1182 = $$0181;$$3165 = $$2164;$$5161 = $$3159;
break L61;
break;
}
case 39: {
$102 = ((($$3159)) + 1|0);
$103 = (_strchr($102,39)|0);
$104 = ($103|0)==(0|0);
$105 = ($103|0)==($102|0);
$or$cond184 = $104 | $105;
if ($or$cond184) {
$$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = 0;$$9 = 29;
break L57;
}
$106 = $103;
$107 = $102;
$108 = (($106) - ($107))|0;
$109 = (__gcry_sexp_find_token($$0150$lcssa,$102,$108)|0);
$$3171 = $109;$$4160 = $103;
break;
}
default: {
$110 = (__gcry_sexp_find_token($$0150$lcssa,$$3159,1)|0);
$$3171 = $110;$$4160 = $$3159;
}
}
$111 = ($$3171|0)==(0|0);
do {
if ($111) {
$112 = ((($$4160)) + 1|0);
$113 = HEAP8[$112>>0]|0;
$114 = ($113<<24>>24)==(63);
if (!($114)) {
$$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = 0;$$9 = 68;
break L57;
}
$115 = ($$0181|0)==(38);
$116 = (($6) + ($$2164<<2)|0);
if (!($115)) {
$123 = HEAP32[$116>>2]|0;
HEAP32[$123>>2] = 0;
break;
}
$117 = HEAP32[$116>>2]|0;
$118 = ((($117)) + 12|0);
$119 = HEAP32[$118>>2]|0;
$120 = ($119|0)==(0|0);
if ($120) {
HEAP32[$117>>2] = 0;
$121 = ((($117)) + 4|0);
HEAP32[$121>>2] = 0;
}
$122 = ((($117)) + 8|0);
HEAP32[$122>>2] = 0;
} else {
L79: do {
switch ($$0181|0) {
case 38: {
$124 = (($6) + ($$2164<<2)|0);
$125 = HEAP32[$124>>2]|0;
$126 = ((($125)) + 12|0);
$127 = HEAP32[$126>>2]|0;
$128 = ($127|0)==(0|0);
if ($128) {
HEAP32[$125>>2] = 0;
$161 = HEAP8[$$3171>>0]|0;
$162 = ($161<<24>>24)==(3);
if (!($162)) {
label = 76;
break L59;
}
$163 = ((($$3171)) + 1|0);
$$pre$i$i214 = HEAP8[$163>>0]|0;
$164 = ($$pre$i$i214<<24>>24)==(1);
$$03742$i$i217 = 1;$$044$i$i215 = 0;$$13543$i$i216 = $163;$172 = $$pre$i$i214;$433 = $164;
while(1) {
L101: do {
if ($433) {
$165 = ((($$13543$i$i216)) + 1|0);
$$0$copyload$i$i219 = HEAPU8[$165>>0]|(HEAPU8[$165+1>>0]<<8);
$166 = $$0$copyload$i$i219&65535;
$167 = (($166) + 2)|0;
$168 = (($165) + ($167)|0);
$169 = ((($168)) + -1|0);
$170 = ($$044$i$i215|0)==(0);
$171 = $170 << 31 >> 31;
$spec$select$i$i220 = (($$03742$i$i217) + ($171))|0;
$$1$i$i224 = $$044$i$i215;$$138$i$i222 = $spec$select$i$i220;$$2$i$i223 = $169;
} else {
switch ($172<<24>>24) {
case 0: {
label = 76;
break L59;
break;
}
case 3: {
$173 = (($$044$i$i215) + 1)|0;
$$1$i$i224 = $173;$$138$i$i222 = $$03742$i$i217;$$2$i$i223 = $$13543$i$i216;
break L101;
break;
}
case 4: {
$174 = (($$044$i$i215) + -1)|0;
$175 = ($174|0)==(0);
$176 = $175 << 31 >> 31;
$spec$select39$i$i221 = (($$03742$i$i217) + ($176))|0;
$$1$i$i224 = $174;$$138$i$i222 = $spec$select39$i$i221;$$2$i$i223 = $$13543$i$i216;
break L101;
break;
}
default: {
$$1$i$i224 = $$044$i$i215;$$138$i$i222 = $$03742$i$i217;$$2$i$i223 = $$13543$i$i216;
break L101;
}
}
}
} while(0);
$177 = ((($$2$i$i223)) + 1|0);
$178 = ($$138$i$i222|0)>(0);
$179 = HEAP8[$177>>0]|0;
$180 = ($179<<24>>24)==(1);
if ($178) {
$$03742$i$i217 = $$138$i$i222;$$044$i$i215 = $$1$i$i224;$$13543$i$i216 = $177;$172 = $179;$433 = $180;
} else {
break;
}
}
if (!($180)) {
label = 76;
break L59;
}
$181 = ((($$2$i$i223)) + 2|0);
$$0$copyload9$i$i227 = HEAPU8[$181>>0]|(HEAPU8[$181+1>>0]<<8);
$182 = $$0$copyload9$i$i227&65535;
$183 = ((($$2$i$i223)) + 4|0);
$184 = ($$0$copyload9$i$i227<<16>>16)==(0);
if ($184) {
label = 76;
break L59;
}
$185 = (__gcry_malloc($182)|0);
$186 = ($185|0)==(0|0);
if ($186) {
label = 76;
break L59;
}
_memcpy(($185|0),($183|0),($182|0))|0;
HEAP32[$125>>2] = $182;
HEAP32[$126>>2] = $185;
$187 = ((($125)) + 8|0);
HEAP32[$187>>2] = $182;
$188 = ((($125)) + 4|0);
HEAP32[$188>>2] = 0;
$189 = (($7) + ($$2164)|0);
HEAP8[$189>>0] = 2;
$$pre$phiZ2D = $$3171;
break L79;
} else {
$129 = HEAP8[$$3171>>0]|0;
$130 = ($129<<24>>24)==(3);
if (!($130)) {
$$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = $$3171;$$9 = 65;
break L57;
}
$131 = ((($$3171)) + 1|0);
$$pre$i$i = HEAP8[$131>>0]|0;
$132 = ($$pre$i$i<<24>>24)==(1);
$$03742$i$i = 1;$$044$i$i = 0;$$13543$i$i = $131;$140 = $$pre$i$i;$432 = $132;
while(1) {
L116: do {
if ($432) {
$133 = ((($$13543$i$i)) + 1|0);
$$0$copyload$i$i = HEAPU8[$133>>0]|(HEAPU8[$133+1>>0]<<8);
$134 = $$0$copyload$i$i&65535;
$135 = (($134) + 2)|0;
$136 = (($133) + ($135)|0);
$137 = ((($136)) + -1|0);
$138 = ($$044$i$i|0)==(0);
$139 = $138 << 31 >> 31;
$spec$select$i$i = (($$03742$i$i) + ($139))|0;
$$1$i$i = $$044$i$i;$$138$i$i = $spec$select$i$i;$$2$i$i = $137;
} else {
switch ($140<<24>>24) {
case 0: {
$$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = $$3171;$$9 = 65;
break L57;
break;
}
case 3: {
$141 = (($$044$i$i) + 1)|0;
$$1$i$i = $141;$$138$i$i = $$03742$i$i;$$2$i$i = $$13543$i$i;
break L116;
break;
}
case 4: {
$142 = (($$044$i$i) + -1)|0;
$143 = ($142|0)==(0);
$144 = $143 << 31 >> 31;
$spec$select39$i$i = (($$03742$i$i) + ($144))|0;
$$1$i$i = $142;$$138$i$i = $spec$select39$i$i;$$2$i$i = $$13543$i$i;
break L116;
break;
}
default: {
$$1$i$i = $$044$i$i;$$138$i$i = $$03742$i$i;$$2$i$i = $$13543$i$i;
break L116;
}
}
}
} while(0);
$145 = ((($$2$i$i)) + 1|0);
$146 = ($$138$i$i|0)>(0);
$147 = HEAP8[$145>>0]|0;
$148 = ($147<<24>>24)==(1);
if ($146) {
$$03742$i$i = $$138$i$i;$$044$i$i = $$1$i$i;$$13543$i$i = $145;$140 = $147;$432 = $148;
} else {
break;
}
}
if (!($148)) {
$$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = $$3171;$$9 = 65;
break L57;
}
$149 = ((($$2$i$i)) + 2|0);
$$0$copyload9$i$i = HEAPU8[$149>>0]|(HEAPU8[$149+1>>0]<<8);
$150 = $$0$copyload9$i$i&65535;
$151 = ((($$2$i$i)) + 4|0);
$152 = ($$0$copyload9$i$i<<16>>16)==(0);
if ($152) {
$$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = $$3171;$$9 = 65;
break L57;
}
$153 = ((($125)) + 4|0);
$154 = HEAP32[$153>>2]|0;
$155 = (($154) + ($150))|0;
$156 = HEAP32[$125>>2]|0;
$157 = ($155>>>0)>($156>>>0);
if ($157) {
$$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = $$3171;$$9 = 200;
break L57;
}
$158 = (($127) + ($154)|0);
_memcpy(($158|0),($151|0),($150|0))|0;
$159 = ((($125)) + 8|0);
HEAP32[$159>>2] = $150;
$160 = (($7) + ($$2164)|0);
HEAP8[$160>>0] = 1;
$$pre$phiZ2D = $$3171;
break L79;
}
break;
}
case 47: {
$190 = (__gcry_sexp_nth_mpi($$3171,1,8)|0);
$191 = (($6) + ($$2164<<2)|0);
$192 = HEAP32[$191>>2]|0;
HEAP32[$192>>2] = $190;
$$pre$phiZ2D = $$3171;
break;
}
case 45: {
$193 = HEAP8[$$3171>>0]|0;
$194 = ($193<<24>>24)==(3);
L129: do {
if ($194) {
$195 = ((($$3171)) + 1|0);
$$pre$i$i229 = HEAP8[$195>>0]|0;
$196 = ($$pre$i$i229<<24>>24)==(1);
$$03742$i$i232 = 1;$$044$i$i230 = 0;$$13543$i$i231 = $195;$204 = $$pre$i$i229;$434 = $196;
while(1) {
L133: do {
if ($434) {
$197 = ((($$13543$i$i231)) + 1|0);
$$0$copyload$i$i234 = HEAPU8[$197>>0]|(HEAPU8[$197+1>>0]<<8);
$198 = $$0$copyload$i$i234&65535;
$199 = (($198) + 2)|0;
$200 = (($197) + ($199)|0);
$201 = ((($200)) + -1|0);
$202 = ($$044$i$i230|0)==(0);
$203 = $202 << 31 >> 31;
$spec$select$i$i235 = (($$03742$i$i232) + ($203))|0;
$$1$i$i239 = $$044$i$i230;$$138$i$i237 = $spec$select$i$i235;$$2$i$i238 = $201;
} else {
switch ($204<<24>>24) {
case 0: {
$$2$i243 = 0;
break L129;
break;
}
case 3: {
$205 = (($$044$i$i230) + 1)|0;
$$1$i$i239 = $205;$$138$i$i237 = $$03742$i$i232;$$2$i$i238 = $$13543$i$i231;
break L133;
break;
}
case 4: {
$206 = (($$044$i$i230) + -1)|0;
$207 = ($206|0)==(0);
$208 = $207 << 31 >> 31;
$spec$select39$i$i236 = (($$03742$i$i232) + ($208))|0;
$$1$i$i239 = $206;$$138$i$i237 = $spec$select39$i$i236;$$2$i$i238 = $$13543$i$i231;
break L133;
break;
}
default: {
$$1$i$i239 = $$044$i$i230;$$138$i$i237 = $$03742$i$i232;$$2$i$i238 = $$13543$i$i231;
break L133;
}
}
}
} while(0);
$209 = ((($$2$i$i238)) + 1|0);
$210 = ($$138$i$i237|0)>(0);
$211 = HEAP8[$209>>0]|0;
$212 = ($211<<24>>24)==(1);
if ($210) {
$$03742$i$i232 = $$138$i$i237;$$044$i$i230 = $$1$i$i239;$$13543$i$i231 = $209;$204 = $211;$434 = $212;
} else {
break;
}
}
if ($212) {
$213 = ((($$2$i$i238)) + 2|0);
$$0$copyload9$i$i242 = HEAPU8[$213>>0]|(HEAPU8[$213+1>>0]<<8);
$214 = $$0$copyload9$i$i242&65535;
$215 = ((($$2$i$i238)) + 4|0);
$216 = (__gcry_mpi_scan($5,1,$215,$214,0)|0);
$217 = ($216|0)==(0);
$$pre$i = HEAP32[$5>>2]|0;
$spec$select$i = $217 ? $$pre$i : 0;
$$2$i243 = $spec$select$i;
} else {
$$2$i243 = 0;
}
} else {
$$2$i243 = 0;
}
} while(0);
$218 = (($6) + ($$2164<<2)|0);
$219 = HEAP32[$218>>2]|0;
HEAP32[$219>>2] = $$2$i243;
$$pre$phiZ2D = $$3171;
break;
}
default: {
$220 = HEAP8[$$3171>>0]|0;
$221 = ($220<<24>>24)==(3);
L81: do {
if ($221) {
$222 = ((($$3171)) + 1|0);
$$pre$i$i244 = HEAP8[$222>>0]|0;
$223 = ($$pre$i$i244<<24>>24)==(1);
$$03742$i$i247 = 1;$$044$i$i245 = 0;$$13543$i$i246 = $222;$231 = $$pre$i$i244;$435 = $223;
while(1) {
L85: do {
if ($435) {
$224 = ((($$13543$i$i246)) + 1|0);
$$0$copyload$i$i249 = HEAPU8[$224>>0]|(HEAPU8[$224+1>>0]<<8);
$225 = $$0$copyload$i$i249&65535;
$226 = (($225) + 2)|0;
$227 = (($224) + ($226)|0);
$228 = ((($227)) + -1|0);
$229 = ($$044$i$i245|0)==(0);
$230 = $229 << 31 >> 31;
$spec$select$i$i250 = (($$03742$i$i247) + ($230))|0;
$$1$i$i254 = $$044$i$i245;$$138$i$i252 = $spec$select$i$i250;$$2$i$i253 = $228;
} else {
switch ($231<<24>>24) {
case 0: {
$$2$i260 = 0;
break L81;
break;
}
case 3: {
$232 = (($$044$i$i245) + 1)|0;
$$1$i$i254 = $232;$$138$i$i252 = $$03742$i$i247;$$2$i$i253 = $$13543$i$i246;
break L85;
break;
}
case 4: {
$233 = (($$044$i$i245) + -1)|0;
$234 = ($233|0)==(0);
$235 = $234 << 31 >> 31;
$spec$select39$i$i251 = (($$03742$i$i247) + ($235))|0;
$$1$i$i254 = $233;$$138$i$i252 = $spec$select39$i$i251;$$2$i$i253 = $$13543$i$i246;
break L85;
break;
}
default: {
$$1$i$i254 = $$044$i$i245;$$138$i$i252 = $$03742$i$i247;$$2$i$i253 = $$13543$i$i246;
break L85;
}
}
}
} while(0);
$236 = ((($$2$i$i253)) + 1|0);
$237 = ($$138$i$i252|0)>(0);
$238 = HEAP8[$236>>0]|0;
$239 = ($238<<24>>24)==(1);
if ($237) {
$$03742$i$i247 = $$138$i$i252;$$044$i$i245 = $$1$i$i254;$$13543$i$i246 = $236;$231 = $238;$435 = $239;
} else {
break;
}
}
if ($239) {
$240 = ((($$2$i$i253)) + 2|0);
$$0$copyload9$i$i257 = HEAPU8[$240>>0]|(HEAPU8[$240+1>>0]<<8);
$241 = $$0$copyload9$i$i257&65535;
$242 = ((($$2$i$i253)) + 4|0);
$243 = (__gcry_mpi_scan($4,5,$242,$241,0)|0);
$244 = ($243|0)==(0);
$$pre$i258 = HEAP32[$4>>2]|0;
$spec$select$i259 = $244 ? $$pre$i258 : 0;
$$2$i260 = $spec$select$i259;
} else {
$$2$i260 = 0;
}
} else {
$$2$i260 = 0;
}
} while(0);
$245 = (($6) + ($$2164<<2)|0);
$246 = HEAP32[$245>>2]|0;
HEAP32[$246>>2] = $$2$i260;
$$pre$phiZ2D = $$3171;
}
}
} while(0);
$247 = (__gcry_is_secure($$pre$phiZ2D)|0);
$248 = ($247|0)==(0);
if (!($248)) {
$249 = HEAP8[$$pre$phiZ2D>>0]|0;
$250 = ($249<<24>>24)==(0);
if ($250) {
$$0$lcssa$i268 = $$pre$phiZ2D;
} else {
$$062$i263 = $$pre$phiZ2D;$252 = $249;
while(1) {
$251 = ((($$062$i263)) + 1|0);
$cond$i264 = ($252<<24>>24)==(1);
if ($cond$i264) {
$$0$copyload$i266 = HEAPU8[$251>>0]|(HEAPU8[$251+1>>0]<<8);
$253 = ((($$062$i263)) + 3|0);
$254 = $$0$copyload$i266&65535;
$255 = (($253) + ($254)|0);
$$1$i267 = $255;
} else {
$$1$i267 = $251;
}
$256 = HEAP8[$$1$i267>>0]|0;
$257 = ($256<<24>>24)==(0);
if ($257) {
$$0$lcssa$i268 = $$1$i267;
break;
} else {
$$062$i263 = $$1$i267;$252 = $256;
}
}
}
$258 = $$0$lcssa$i268;
$259 = $$3171;
$260 = (($258) - ($259))|0;
$261 = $259 & 7;
$262 = ($261|0)!=(0);
$263 = ($260|0)!=(0);
$264 = $262 & $263;
if ($264) {
$$04859$i271 = $$pre$phiZ2D;$$05058$i272 = $260;
while(1) {
HEAP8[$$04859$i271>>0] = 0;
$265 = ((($$04859$i271)) + 1|0);
$266 = (($$05058$i272) + -1)|0;
$267 = $265;
$268 = $267 & 7;
$269 = ($268|0)!=(0);
$270 = ($266|0)!=(0);
$271 = $270 & $269;
if ($271) {
$$04859$i271 = $265;$$05058$i272 = $266;
} else {
$$048$lcssa$i274 = $265;$$050$lcssa$i273 = $266;
break;
}
}
} else {
$$048$lcssa$i274 = $$pre$phiZ2D;$$050$lcssa$i273 = $260;
}
$272 = ($$050$lcssa$i273>>>0)<(8);
if ($272) {
$$2$i281 = $$048$lcssa$i274;$$252$i280 = $$050$lcssa$i273;
} else {
$273 = (($$050$lcssa$i273) + -8)|0;
$274 = $273 & -8;
$$149$i277 = $$048$lcssa$i274;$$151$i276 = $$050$lcssa$i273;
while(1) {
$275 = $$149$i277;
$276 = $275;
HEAP32[$276>>2] = 0;
$277 = (($275) + 4)|0;
$278 = $277;
HEAP32[$278>>2] = 0;
$279 = (($$151$i276) + -8)|0;
$280 = ((($$149$i277)) + 8|0);
$281 = ($279>>>0)>(7);
if ($281) {
$$149$i277 = $280;$$151$i276 = $279;
} else {
break;
}
}
$282 = (($274) + 8)|0;
$283 = (($273) - ($274))|0;
$scevgep$i278 = (($$048$lcssa$i274) + ($282)|0);
$$2$i281 = $scevgep$i278;$$252$i280 = $283;
}
$284 = ($$252$i280|0)==(0);
if (!($284)) {
$$35356$i285 = $$252$i280;$$357$i284 = $$2$i281;
while(1) {
HEAP8[$$357$i284>>0] = 0;
$285 = ((($$357$i284)) + 1|0);
$286 = (($$35356$i285) + -1)|0;
$287 = ($286|0)==(0);
if ($287) {
break;
} else {
$$35356$i285 = $286;$$357$i284 = $285;
}
}
}
}
__gcry_free($$pre$phiZ2D);
$288 = (($6) + ($$2164<<2)|0);
$289 = HEAP32[$288>>2]|0;
$290 = HEAP32[$289>>2]|0;
$291 = ($290|0)==(0|0);
if ($291) {
$$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = 0;$$9 = 65;
break L57;
}
}
} while(0);
$292 = (($$2164) + 1)|0;
$$1182 = $$0181;$$3165 = $292;$$5161 = $$4160;
}
}
} while(0);
$293 = ((($$5161)) + 1|0);
$$0181 = $$1182;$$2164 = $$3165;$$3159 = $293;
}
if ((label|0) == 76) {
HEAP32[$126>>2] = 0;
$$0178380 = $$0178$lcssa;$$4166 = $$2164;$$6174 = $$3171;$$9 = 65;
break;
}
$294 = ($$0178$lcssa|0)==(0|0);
if ($294) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$295 = (__gcry_is_secure($$0178$lcssa)|0);
$296 = ($295|0)==(0);
if (!($296)) {
$297 = HEAP8[$$0178$lcssa>>0]|0;
$298 = ($297<<24>>24)==(0);
if ($298) {
$$0$lcssa$i294 = $$0178$lcssa;
} else {
$$062$i289 = $$0178$lcssa;$300 = $297;
while(1) {
$299 = ((($$062$i289)) + 1|0);
$cond$i290 = ($300<<24>>24)==(1);
if ($cond$i290) {
$$0$copyload$i292 = HEAPU8[$299>>0]|(HEAPU8[$299+1>>0]<<8);
$301 = ((($$062$i289)) + 3|0);
$302 = $$0$copyload$i292&65535;
$303 = (($301) + ($302)|0);
$$1$i293 = $303;
} else {
$$1$i293 = $299;
}
$304 = HEAP8[$$1$i293>>0]|0;
$305 = ($304<<24>>24)==(0);
if ($305) {
$$0$lcssa$i294 = $$1$i293;
break;
} else {
$$062$i289 = $$1$i293;$300 = $304;
}
}
}
$306 = $$0$lcssa$i294;
$307 = $$0178$lcssa;
$308 = (($306) - ($307))|0;
$309 = $307 & 7;
$310 = ($309|0)!=(0);
$311 = ($308|0)!=(0);
$312 = $310 & $311;
if ($312) {
$$04859$i297 = $$0178$lcssa;$$05058$i298 = $308;
while(1) {
HEAP8[$$04859$i297>>0] = 0;
$313 = ((($$04859$i297)) + 1|0);
$314 = (($$05058$i298) + -1)|0;
$315 = $313;
$316 = $315 & 7;
$317 = ($316|0)!=(0);
$318 = ($314|0)!=(0);
$319 = $318 & $317;
if ($319) {
$$04859$i297 = $313;$$05058$i298 = $314;
} else {
$$048$lcssa$i300 = $313;$$050$lcssa$i299 = $314;
break;
}
}
} else {
$$048$lcssa$i300 = $$0178$lcssa;$$050$lcssa$i299 = $308;
}
$320 = ($$050$lcssa$i299>>>0)<(8);
if ($320) {
$$2$i307 = $$048$lcssa$i300;$$252$i306 = $$050$lcssa$i299;
} else {
$321 = (($$050$lcssa$i299) + -8)|0;
$322 = $321 & -8;
$$149$i303 = $$048$lcssa$i300;$$151$i302 = $$050$lcssa$i299;
while(1) {
$323 = $$149$i303;
$324 = $323;
HEAP32[$324>>2] = 0;
$325 = (($323) + 4)|0;
$326 = $325;
HEAP32[$326>>2] = 0;
$327 = (($$151$i302) + -8)|0;
$328 = ((($$149$i303)) + 8|0);
$329 = ($327>>>0)>(7);
if ($329) {
$$149$i303 = $328;$$151$i302 = $327;
} else {
break;
}
}
$330 = (($322) + 8)|0;
$331 = (($321) - ($322))|0;
$scevgep$i304 = (($$048$lcssa$i300) + ($330)|0);
$$2$i307 = $scevgep$i304;$$252$i306 = $331;
}
$332 = ($$252$i306|0)==(0);
if (!($332)) {
$$35356$i311 = $$252$i306;$$357$i310 = $$2$i307;
while(1) {
HEAP8[$$357$i310>>0] = 0;
$333 = ((($$357$i310)) + 1|0);
$334 = (($$35356$i311) + -1)|0;
$335 = ($334|0)==(0);
if ($335) {
break;
} else {
$$35356$i311 = $334;$$357$i310 = $333;
}
}
}
}
__gcry_free($$0178$lcssa);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
} while(0);
$336 = ($$0178380|0)==(0|0);
if (!($336)) {
$337 = (__gcry_is_secure($$0178380)|0);
$338 = ($337|0)==(0);
if (!($338)) {
$339 = HEAP8[$$0178380>>0]|0;
$340 = ($339<<24>>24)==(0);
if ($340) {
$$0$lcssa$i320 = $$0178380;
} else {
$$062$i315 = $$0178380;$342 = $339;
while(1) {
$341 = ((($$062$i315)) + 1|0);
$cond$i316 = ($342<<24>>24)==(1);
if ($cond$i316) {
$$0$copyload$i318 = HEAPU8[$341>>0]|(HEAPU8[$341+1>>0]<<8);
$343 = ((($$062$i315)) + 3|0);
$344 = $$0$copyload$i318&65535;
$345 = (($343) + ($344)|0);
$$1$i319 = $345;
} else {
$$1$i319 = $341;
}
$346 = HEAP8[$$1$i319>>0]|0;
$347 = ($346<<24>>24)==(0);
if ($347) {
$$0$lcssa$i320 = $$1$i319;
break;
} else {
$$062$i315 = $$1$i319;$342 = $346;
}
}
}
$348 = $$0$lcssa$i320;
$349 = $$0178380;
$350 = (($348) - ($349))|0;
$351 = $349 & 7;
$352 = ($351|0)!=(0);
$353 = ($350|0)!=(0);
$354 = $352 & $353;
if ($354) {
$$04859$i323 = $$0178380;$$05058$i324 = $350;
while(1) {
HEAP8[$$04859$i323>>0] = 0;
$355 = ((($$04859$i323)) + 1|0);
$356 = (($$05058$i324) + -1)|0;
$357 = $355;
$358 = $357 & 7;
$359 = ($358|0)!=(0);
$360 = ($356|0)!=(0);
$361 = $360 & $359;
if ($361) {
$$04859$i323 = $355;$$05058$i324 = $356;
} else {
$$048$lcssa$i326 = $355;$$050$lcssa$i325 = $356;
break;
}
}
} else {
$$048$lcssa$i326 = $$0178380;$$050$lcssa$i325 = $350;
}
$362 = ($$050$lcssa$i325>>>0)<(8);
if ($362) {
$$2$i333 = $$048$lcssa$i326;$$252$i332 = $$050$lcssa$i325;
} else {
$363 = (($$050$lcssa$i325) + -8)|0;
$364 = $363 & -8;
$$149$i329 = $$048$lcssa$i326;$$151$i328 = $$050$lcssa$i325;
while(1) {
$365 = $$149$i329;
$366 = $365;
HEAP32[$366>>2] = 0;
$367 = (($365) + 4)|0;
$368 = $367;
HEAP32[$368>>2] = 0;
$369 = (($$151$i328) + -8)|0;
$370 = ((($$149$i329)) + 8|0);
$371 = ($369>>>0)>(7);
if ($371) {
$$149$i329 = $370;$$151$i328 = $369;
} else {
break;
}
}
$372 = (($364) + 8)|0;
$373 = (($363) - ($364))|0;
$scevgep$i330 = (($$048$lcssa$i326) + ($372)|0);
$$2$i333 = $scevgep$i330;$$252$i332 = $373;
}
$374 = ($$252$i332|0)==(0);
if (!($374)) {
$$35356$i337 = $$252$i332;$$357$i336 = $$2$i333;
while(1) {
HEAP8[$$357$i336>>0] = 0;
$375 = ((($$357$i336)) + 1|0);
$376 = (($$35356$i337) + -1)|0;
$377 = ($376|0)==(0);
if ($377) {
break;
} else {
$$35356$i337 = $376;$$357$i336 = $375;
}
}
}
}
__gcry_free($$0178380);
}
$378 = ($$6174|0)==(0|0);
if (!($378)) {
$379 = (__gcry_is_secure($$6174)|0);
$380 = ($379|0)==(0);
if (!($380)) {
$381 = HEAP8[$$6174>>0]|0;
$382 = ($381<<24>>24)==(0);
if ($382) {
$$0$lcssa$i = $$6174;
} else {
$$062$i = $$6174;$384 = $381;
while(1) {
$383 = ((($$062$i)) + 1|0);
$cond$i = ($384<<24>>24)==(1);
if ($cond$i) {
$$0$copyload$i = HEAPU8[$383>>0]|(HEAPU8[$383+1>>0]<<8);
$385 = ((($$062$i)) + 3|0);
$386 = $$0$copyload$i&65535;
$387 = (($385) + ($386)|0);
$$1$i = $387;
} else {
$$1$i = $383;
}
$388 = HEAP8[$$1$i>>0]|0;
$389 = ($388<<24>>24)==(0);
if ($389) {
$$0$lcssa$i = $$1$i;
break;
} else {
$$062$i = $$1$i;$384 = $388;
}
}
}
$390 = $$0$lcssa$i;
$391 = $$6174;
$392 = (($390) - ($391))|0;
$393 = $391 & 7;
$394 = ($393|0)!=(0);
$395 = ($392|0)!=(0);
$396 = $394 & $395;
if ($396) {
$$04859$i = $$6174;$$05058$i = $392;
while(1) {
HEAP8[$$04859$i>>0] = 0;
$397 = ((($$04859$i)) + 1|0);
$398 = (($$05058$i) + -1)|0;
$399 = $397;
$400 = $399 & 7;
$401 = ($400|0)!=(0);
$402 = ($398|0)!=(0);
$403 = $402 & $401;
if ($403) {
$$04859$i = $397;$$05058$i = $398;
} else {
$$048$lcssa$i = $397;$$050$lcssa$i = $398;
break;
}
}
} else {
$$048$lcssa$i = $$6174;$$050$lcssa$i = $392;
}
$404 = ($$050$lcssa$i>>>0)<(8);
if ($404) {
$$2$i = $$048$lcssa$i;$$252$i = $$050$lcssa$i;
} else {
$405 = (($$050$lcssa$i) + -8)|0;
$406 = $405 & -8;
$$149$i = $$048$lcssa$i;$$151$i = $$050$lcssa$i;
while(1) {
$407 = $$149$i;
$408 = $407;
HEAP32[$408>>2] = 0;
$409 = (($407) + 4)|0;
$410 = $409;
HEAP32[$410>>2] = 0;
$411 = (($$151$i) + -8)|0;
$412 = ((($$149$i)) + 8|0);
$413 = ($411>>>0)>(7);
if ($413) {
$$149$i = $412;$$151$i = $411;
} else {
break;
}
}
$414 = (($406) + 8)|0;
$415 = (($405) - ($406))|0;
$scevgep$i = (($$048$lcssa$i) + ($414)|0);
$$2$i = $scevgep$i;$$252$i = $415;
}
$416 = ($$252$i|0)==(0);
if (!($416)) {
$$35356$i = $$252$i;$$357$i = $$2$i;
while(1) {
HEAP8[$$357$i>>0] = 0;
$417 = ((($$357$i)) + 1|0);
$418 = (($$35356$i) + -1)|0;
$419 = ($418|0)==(0);
if ($419) {
break;
} else {
$$35356$i = $418;$$357$i = $417;
}
}
}
}
__gcry_free($$6174);
}
$420 = ($$4166|0)==(0);
if ($420) {
$$0 = $$9;
STACKTOP = sp;return ($$0|0);
}
$$in = $$4166;
while(1) {
$421 = (($$in) + -1)|0;
$422 = (($7) + ($421)|0);
$423 = HEAP8[$422>>0]|0;
$424 = ($423<<24>>24)==(0);
$425 = (($6) + ($421<<2)|0);
if ($424) {
$426 = HEAP32[$425>>2]|0;
$427 = HEAP32[$426>>2]|0;
__gcry_mpi_release($427);
HEAP32[$426>>2] = 0;
} else {
$428 = HEAP32[$425>>2]|0;
$429 = ((($428)) + 12|0);
$430 = HEAP32[$429>>2]|0;
__gcry_free($430);
;HEAP32[$428>>2]=0|0;HEAP32[$428+4>>2]=0|0;HEAP32[$428+8>>2]=0|0;HEAP32[$428+12>>2]=0|0;
}
$431 = ($421|0)==(0);
if ($431) {
$$0 = $$9;
break;
} else {
$$in = $421;
}
}
STACKTOP = sp;return ($$0|0);
}
function __gcry_sexp_extract_param($0,$1,$2,$varargs) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$varargs = $varargs|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
HEAP32[$3>>2] = $varargs;
$4 = (__gcry_sexp_vextract_param($0,$1,$2,$3)|0);
$5 = ($4|0)==(0);
$6 = $4 & 65535;
$7 = $6 | 16777216;
$8 = $5 ? 0 : $7;
STACKTOP = sp;return ($8|0);
}
function __gcry_disable_hw_feature($0) {
$0 = $0|0;
var $$05 = 0, $$07$lcssa = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_strcmp(44779,$0)|0);
$2 = ($1|0)==(0);
if ($2) {
$$07$lcssa = 0;
} else {
$7 = (_strcmp(44791,$0)|0);
$8 = ($7|0)==(0);
if ($8) {
$$07$lcssa = 1;
} else {
$9 = (_strcmp(44803,$0)|0);
$10 = ($9|0)==(0);
if ($10) {
$$07$lcssa = 2;
} else {
$11 = (_strcmp(44815,$0)|0);
$12 = ($11|0)==(0);
if ($12) {
$$07$lcssa = 3;
} else {
$13 = (_strcmp(44828,$0)|0);
$14 = ($13|0)==(0);
if ($14) {
$$07$lcssa = 4;
} else {
$15 = (_strcmp(44838,$0)|0);
$16 = ($15|0)==(0);
if ($16) {
$$07$lcssa = 5;
} else {
$17 = (_strcmp(44849,$0)|0);
$18 = ($17|0)==(0);
if ($18) {
$$07$lcssa = 6;
} else {
$19 = (_strcmp(44861,$0)|0);
$20 = ($19|0)==(0);
if ($20) {
$$07$lcssa = 7;
} else {
$21 = (_strcmp(44874,$0)|0);
$22 = ($21|0)==(0);
if ($22) {
$$07$lcssa = 8;
} else {
$23 = (_strcmp(44886,$0)|0);
$24 = ($23|0)==(0);
if ($24) {
$$07$lcssa = 9;
} else {
$25 = (_strcmp(44899,$0)|0);
$26 = ($25|0)==(0);
if ($26) {
$$07$lcssa = 10;
} else {
$27 = (_strcmp(44909,$0)|0);
$28 = ($27|0)==(0);
if ($28) {
$$07$lcssa = 11;
} else {
$29 = (_strcmp(44920,$0)|0);
$30 = ($29|0)==(0);
if ($30) {
$$07$lcssa = 12;
} else {
$$05 = 88;
return ($$05|0);
}
}
}
}
}
}
}
}
}
}
}
}
}
$3 = (96 + ($$07$lcssa<<3)|0);
$4 = HEAP32[$3>>2]|0;
$5 = HEAP32[18093]|0;
$6 = $5 | $4;
HEAP32[18093] = $6;
$$05 = 0;
return ($$05|0);
}
function __gcry_get_hw_features() {
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function __gcry_enum_hw_features($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0>>>0)>(12);
if ($2) {
$$0 = 0;
return ($$0|0);
}
$3 = ($1|0)==(0|0);
if (!($3)) {
$4 = (96 + ($0<<3)|0);
$5 = HEAP32[$4>>2]|0;
HEAP32[$1>>2] = $5;
}
$6 = (((96 + ($0<<3)|0)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$$0 = $7;
return ($$0|0);
}
function __gcry_detect_hw_features() {
var $$03847$lcssa$i = 0, $$03945$i = 0, $$040$lcssa$i = 0, $$04042$i = 0, $$pre$i = 0, $$pre54$i = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0);
$0 = sp;
$1 = (__gcry_fips_mode()|0);
$2 = ($1|0)==(0);
if (!($2)) {
STACKTOP = sp;return;
}
$3 = (_fopen(44929,45466)|0);
$4 = ($3|0)==(0|0);
if (!($4)) {
$5 = (_fgets($0,256,$3)|0);
$6 = ($5|0)==(0|0);
if (!($6)) {
while(1) {
$7 = HEAP8[$0>>0]|0;
$8 = $7 << 24 >> 24;
$9 = $8 & 128;
$10 = ($9|0)==(0);
L10: do {
if ($10) {
$$04042$i = $0;$11 = $8;$69 = $7;
while(1) {
$12 = (_isspace($11)|0);
$13 = ($12|0)==(0);
if ($13) {
$$040$lcssa$i = $$04042$i;$68 = $69;
break L10;
}
$14 = ((($$04042$i)) + 1|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15 << 24 >> 24;
$17 = $16 & 128;
$18 = ($17|0)==(0);
if ($18) {
$$04042$i = $14;$11 = $16;$69 = $15;
} else {
$$040$lcssa$i = $14;$68 = $15;
break;
}
}
} else {
$$040$lcssa$i = $0;$68 = $7;
}
} while(0);
$19 = (_strchr($$040$lcssa$i,10)|0);
$20 = ($19|0)==(0|0);
if ($20) {
$22 = $68;
} else {
HEAP8[$19>>0] = 0;
$$pre$i = HEAP8[$$040$lcssa$i>>0]|0;
$22 = $$pre$i;
}
$21 = ($22<<24>>24)==(0);
L19: do {
if (!($21)) {
$23 = (_strlen($$040$lcssa$i)|0);
$24 = (($23) + -1)|0;
$25 = ($24|0)>(0);
if ($25) {
$26 = (($$040$lcssa$i) + ($24)|0);
$$03945$i = $26;
while(1) {
$27 = HEAP8[$$03945$i>>0]|0;
$28 = $27 << 24 >> 24;
$29 = $28 & 128;
$30 = ($29|0)==(0);
if ($30) {
$31 = (_isspace($28)|0);
$32 = ($31|0)==(0);
if (!($32)) {
HEAP8[$$03945$i>>0] = 0;
}
}
$33 = ((($$03945$i)) + -1|0);
$34 = ($33>>>0)>($$040$lcssa$i>>>0);
if ($34) {
$$03945$i = $33;
} else {
break;
}
}
$$pre54$i = HEAP8[$$040$lcssa$i>>0]|0;
$35 = $$pre54$i;
} else {
$35 = $22;
}
switch ($35<<24>>24) {
case 35: case 0: {
break L19;
break;
}
default: {
}
}
$38 = (_strcmp(44779,$$040$lcssa$i)|0);
$39 = ($38|0)==(0);
do {
if ($39) {
$$03847$lcssa$i = 0;
} else {
$44 = (_strcmp(44791,$$040$lcssa$i)|0);
$45 = ($44|0)==(0);
if ($45) {
$$03847$lcssa$i = 1;
} else {
$46 = (_strcmp(44803,$$040$lcssa$i)|0);
$47 = ($46|0)==(0);
if ($47) {
$$03847$lcssa$i = 2;
} else {
$48 = (_strcmp(44815,$$040$lcssa$i)|0);
$49 = ($48|0)==(0);
if ($49) {
$$03847$lcssa$i = 3;
} else {
$50 = (_strcmp(44828,$$040$lcssa$i)|0);
$51 = ($50|0)==(0);
if ($51) {
$$03847$lcssa$i = 4;
} else {
$52 = (_strcmp(44838,$$040$lcssa$i)|0);
$53 = ($52|0)==(0);
if ($53) {
$$03847$lcssa$i = 5;
} else {
$54 = (_strcmp(44849,$$040$lcssa$i)|0);
$55 = ($54|0)==(0);
if ($55) {
$$03847$lcssa$i = 6;
} else {
$56 = (_strcmp(44861,$$040$lcssa$i)|0);
$57 = ($56|0)==(0);
if ($57) {
$$03847$lcssa$i = 7;
} else {
$58 = (_strcmp(44874,$$040$lcssa$i)|0);
$59 = ($58|0)==(0);
if ($59) {
$$03847$lcssa$i = 8;
break;
}
$60 = (_strcmp(44886,$$040$lcssa$i)|0);
$61 = ($60|0)==(0);
if ($61) {
$$03847$lcssa$i = 9;
break;
}
$62 = (_strcmp(44899,$$040$lcssa$i)|0);
$63 = ($62|0)==(0);
if ($63) {
$$03847$lcssa$i = 10;
break;
}
$64 = (_strcmp(44909,$$040$lcssa$i)|0);
$65 = ($64|0)==(0);
if ($65) {
$$03847$lcssa$i = 11;
break;
}
$66 = (_strcmp(44920,$$040$lcssa$i)|0);
$67 = ($66|0)==(0);
if ($67) {
$$03847$lcssa$i = 12;
} else {
break L19;
}
}
}
}
}
}
}
}
}
} while(0);
$40 = (96 + ($$03847$lcssa$i<<3)|0);
$41 = HEAP32[$40>>2]|0;
$42 = HEAP32[18093]|0;
$43 = $42 | $41;
HEAP32[18093] = $43;
}
} while(0);
$36 = (_fgets($0,256,$3)|0);
$37 = ($36|0)==(0|0);
if ($37) {
break;
}
}
}
(_feof($3)|0);
(_fclose($3)|0);
}
STACKTOP = sp;return;
}
function __gcry_private_enable_m_guard() {
var label = 0, sp = 0;
sp = STACKTOP;
HEAP32[18094] = 1;
return;
}
function __gcry_private_malloc($0) {
$0 = $0|0;
var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0);
if ($1) {
_gpg_err_set_errno(22);
$$1 = 0;
return ($$1|0);
}
$2 = HEAP32[18094]|0;
$3 = ($2|0)==(0);
if ($3) {
$18 = (_malloc($0)|0);
$$1 = $18;
return ($$1|0);
}
$4 = (($0) + 5)|0;
$5 = (_malloc($4)|0);
$6 = ($5|0)==(0|0);
if ($6) {
$$1 = 0;
return ($$1|0);
}
$7 = $0&255;
HEAP8[$5>>0] = $7;
$8 = $0 >>> 8;
$9 = $8&255;
$10 = ((($5)) + 1|0);
HEAP8[$10>>0] = $9;
$11 = $0 >>> 16;
$12 = $11&255;
$13 = ((($5)) + 2|0);
HEAP8[$13>>0] = $12;
$14 = ((($5)) + 3|0);
HEAP8[$14>>0] = 85;
$15 = (($0) + 4)|0;
$16 = (($5) + ($15)|0);
HEAP8[$16>>0] = -86;
$17 = ((($5)) + 4|0);
$$1 = $17;
return ($$1|0);
}
function __gcry_private_malloc_secure($0) {
$0 = $0|0;
var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0);
if ($1) {
_gpg_err_set_errno(22);
$$1 = 0;
return ($$1|0);
}
$2 = HEAP32[18094]|0;
$3 = ($2|0)==(0);
if ($3) {
$18 = (__gcry_secmem_malloc($0)|0);
$$1 = $18;
return ($$1|0);
}
$4 = (($0) + 5)|0;
$5 = (__gcry_secmem_malloc($4)|0);
$6 = ($5|0)==(0|0);
if ($6) {
$$1 = 0;
return ($$1|0);
}
$7 = $0&255;
HEAP8[$5>>0] = $7;
$8 = $0 >>> 8;
$9 = $8&255;
$10 = ((($5)) + 1|0);
HEAP8[$10>>0] = $9;
$11 = $0 >>> 16;
$12 = $11&255;
$13 = ((($5)) + 2|0);
HEAP8[$13>>0] = $12;
$14 = ((($5)) + 3|0);
HEAP8[$14>>0] = -52;
$15 = (($0) + 4)|0;
$16 = (($5) + ($15)|0);
HEAP8[$16>>0] = -86;
$17 = ((($5)) + 4|0);
$$1 = $17;
return ($$1|0);
}
function __gcry_private_realloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$1 = 0, $$sink = 0, $$sink49 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$2 = HEAP32[18094]|0;
$3 = ($2|0)==(0);
if ($3) {
$58 = (__gcry_private_is_secure($0)|0);
$59 = ($58|0)==(0);
if ($59) {
$61 = (_realloc($0,$1)|0);
$$1 = $61;
STACKTOP = sp;return ($$1|0);
} else {
$60 = (__gcry_secmem_realloc($0,$1)|0);
$$1 = $60;
STACKTOP = sp;return ($$1|0);
}
}
$4 = ($0|0)==(0|0);
if ($4) {
$5 = ($1|0)==(0);
if ($5) {
_gpg_err_set_errno(22);
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$6 = (($1) + 5)|0;
$7 = (_malloc($6)|0);
$8 = ($7|0)==(0|0);
if ($8) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$9 = $1&255;
HEAP8[$7>>0] = $9;
$10 = $1 >>> 8;
$11 = $10&255;
$12 = ((($7)) + 1|0);
HEAP8[$12>>0] = $11;
$13 = $1 >>> 16;
$14 = $13&255;
$15 = ((($7)) + 2|0);
HEAP8[$15>>0] = $14;
$16 = ((($7)) + 3|0);
HEAP8[$16>>0] = 85;
$17 = (($1) + 4)|0;
$18 = (($7) + ($17)|0);
HEAP8[$18>>0] = -86;
$19 = ((($7)) + 4|0);
$$1 = $19;
STACKTOP = sp;return ($$1|0);
}
$20 = ((($0)) + -1|0);
$21 = HEAP8[$20>>0]|0;
$22 = $21&255;
switch ($21<<24>>24) {
case -52: case 85: {
break;
}
default: {
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $22;
__gcry_log_fatal(44950,$vararg_buffer);
// unreachable;
}
}
$23 = ((($0)) + -4|0);
$24 = HEAP8[$23>>0]|0;
$25 = $24&255;
$26 = ((($0)) + -3|0);
$27 = HEAP8[$26>>0]|0;
$28 = $27&255;
$29 = $28 << 8;
$30 = $29 | $25;
$31 = ((($0)) + -2|0);
$32 = HEAP8[$31>>0]|0;
$33 = $32&255;
$34 = $33 << 16;
$35 = $30 | $34;
$36 = (($0) + ($35)|0);
$37 = HEAP8[$36>>0]|0;
$38 = ($37<<24>>24)==(-86);
if (!($38)) {
HEAP32[$vararg_buffer2>>2] = $0;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = $22;
__gcry_log_fatal(44991,$vararg_buffer2);
// unreachable;
}
$39 = ($35>>>0)<($1>>>0);
if (!($39)) {
$$1 = $0;
STACKTOP = sp;return ($$1|0);
}
$40 = ($21<<24>>24)==(-52);
$41 = (($1) + 5)|0;
if ($40) {
$42 = (__gcry_secmem_malloc($41)|0);
$43 = ($42|0)==(0|0);
if ($43) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
} else {
$$sink = -52;$$sink49 = $42;
}
} else {
$44 = (_malloc($41)|0);
$45 = ($44|0)==(0|0);
if ($45) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
} else {
$$sink = 85;$$sink49 = $44;
}
}
$46 = $1&255;
HEAP8[$$sink49>>0] = $46;
$47 = $1 >>> 8;
$48 = $47&255;
$49 = ((($$sink49)) + 1|0);
HEAP8[$49>>0] = $48;
$50 = $1 >>> 16;
$51 = $50&255;
$52 = ((($$sink49)) + 2|0);
HEAP8[$52>>0] = $51;
$53 = ((($$sink49)) + 3|0);
HEAP8[$53>>0] = $$sink;
$54 = (($1) + 4)|0;
$55 = (($$sink49) + ($54)|0);
HEAP8[$55>>0] = -86;
$$0 = ((($$sink49)) + 4|0);
$56 = (($$0) + ($35)|0);
$57 = (($1) - ($35))|0;
_memcpy(($$0|0),($0|0),($35|0))|0;
_memset(($56|0),0,($57|0))|0;
__gcry_private_free($0);
$$1 = $$0;
STACKTOP = sp;return ($$1|0);
}
function __gcry_private_free($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$1 = ($0|0)==(0|0);
if ($1) {
STACKTOP = sp;return;
}
$2 = HEAP32[18094]|0;
$3 = ($2|0)==(0);
if ($3) {
$25 = (__gcry_private_is_secure($0)|0);
$26 = ($25|0)==(0);
if ($26) {
_free($0);
STACKTOP = sp;return;
} else {
__gcry_secmem_free($0);
STACKTOP = sp;return;
}
}
$4 = ((($0)) + -1|0);
$5 = HEAP8[$4>>0]|0;
$6 = $5&255;
switch ($5<<24>>24) {
case -52: case 85: {
break;
}
default: {
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $6;
__gcry_log_fatal(44950,$vararg_buffer);
// unreachable;
}
}
$7 = ((($0)) + -4|0);
$8 = HEAP8[$7>>0]|0;
$9 = $8&255;
$10 = ((($0)) + -3|0);
$11 = HEAP8[$10>>0]|0;
$12 = $11&255;
$13 = $12 << 8;
$14 = $13 | $9;
$15 = ((($0)) + -2|0);
$16 = HEAP8[$15>>0]|0;
$17 = $16&255;
$18 = $17 << 16;
$19 = $14 | $18;
$20 = (($0) + ($19)|0);
$21 = HEAP8[$20>>0]|0;
$22 = ($21<<24>>24)==(-86);
if (!($22)) {
HEAP32[$vararg_buffer2>>2] = $0;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = $6;
__gcry_log_fatal(44991,$vararg_buffer2);
// unreachable;
}
$23 = (__gcry_private_is_secure($0)|0);
$24 = ($23|0)==(0);
if ($24) {
_free($7);
STACKTOP = sp;return;
} else {
__gcry_secmem_free($7);
STACKTOP = sp;return;
}
}
function __gcry_secmem_set_flags($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
(_gpgrt_lock_lock(37900)|0);
$1 = $0 & 1;
HEAP32[18095] = $1;
$2 = $0 & 2;
HEAP32[18096] = $2;
$3 = $0 & 8;
HEAP32[18097] = $3;
$4 = $0 & 16;
HEAP32[18098] = $4;
(_gpgrt_lock_unlock(37900)|0);
return;
}
function __gcry_secmem_get_flags() {
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
(_gpgrt_lock_lock(37900)|0);
$0 = HEAP32[18095]|0;
$1 = ($0|0)!=(0);
$2 = $1&1;
$3 = HEAP32[18096]|0;
$4 = ($3|0)==(0);
$5 = $4 ? 0 : 2;
$6 = $5 | $2;
$7 = HEAP32[18097]|0;
$8 = ($7|0)==(0);
$9 = $8 ? 0 : 8;
$10 = $6 | $9;
$11 = HEAP32[18098]|0;
$12 = ($11|0)==(0);
$13 = $12 ? 0 : 16;
$14 = $10 | $13;
(_gpgrt_lock_unlock(37900)|0);
return ($14|0);
}
function __gcry_secmem_init($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
(_gpgrt_lock_lock(37900)|0);
_secmem_init($0);
(_gpgrt_lock_unlock(37900)|0);
return;
}
function _secmem_init($0) {
$0 = $0|0;
var $$pre$i = 0, $$pre13$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer11 = sp + 40|0;
$vararg_buffer9 = sp + 32|0;
$vararg_buffer6 = sp + 24|0;
$vararg_buffer3 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$1 = ($0|0)==(0);
if ($1) {
HEAP32[18099] = 1;
$2 = (_getuid()|0);
$3 = (_geteuid()|0);
$4 = ($2|0)==($3|0);
if ($4) {
STACKTOP = sp;return;
}
$5 = (_setuid($2)|0);
$6 = ($5|0)==(0);
if (!($6)) {
__gcry_log_fatal(45031,$vararg_buffer);
// unreachable;
}
$7 = (_getuid()|0);
$8 = (_geteuid()|0);
$9 = ($7|0)==($8|0);
if (!($9)) {
__gcry_log_fatal(45031,$vararg_buffer);
// unreachable;
}
$10 = (_setuid(0)|0);
$11 = ($10|0)==(0);
if ($11) {
__gcry_log_fatal(45031,$vararg_buffer);
// unreachable;
} else {
STACKTOP = sp;return;
}
}
$12 = HEAP32[18100]|0;
$13 = ($12|0)==(0);
if (!($13)) {
__gcry_log_error(45230,$vararg_buffer11);
STACKTOP = sp;return;
}
$14 = ($0>>>0)>(16384);
$spec$select = $14 ? $0 : 16384;
HEAP32[18101] = $spec$select;
$15 = HEAP32[18099]|0;
$16 = ($15|0)==(0);
if (!($16)) {
__gcry_log_bug(45054,$vararg_buffer1);
// unreachable;
}
$17 = (_sysconf(30)|0);
$18 = ($17|0)>(0);
$19 = $18 ? $17 : 4096;
$20 = HEAP32[18101]|0;
$21 = (($20) + -1)|0;
$22 = (($21) + ($19))|0;
$23 = (0 - ($19))|0;
$24 = $22 & $23;
HEAP32[18101] = $24;
$25 = (___mmap(0,$24,3,34,-1,0)|0);
HEAP32[18102] = $25;
$26 = ($25|0)==((-1)|0);
if ($26) {
$27 = HEAP32[18101]|0;
$28 = (___errno_location()|0);
$29 = HEAP32[$28>>2]|0;
$30 = (_strerror($29)|0);
HEAP32[$vararg_buffer3>>2] = $27;
$vararg_ptr5 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr5>>2] = $30;
__gcry_log_info(45080,$vararg_buffer3);
} else {
HEAP32[18103] = 1;
HEAP32[18100] = 1;
}
$31 = HEAP32[18100]|0;
$32 = ($31|0)==(0);
do {
if ($32) {
$33 = HEAP32[18101]|0;
$34 = (_malloc($33)|0);
HEAP32[18102] = $34;
$35 = ($34|0)==(0|0);
if ($35) {
HEAP32[$vararg_buffer6>>2] = $33;
__gcry_log_fatal(45128,$vararg_buffer6);
// unreachable;
} else {
HEAP32[18100] = 1;
$36 = $33;$37 = $34;
break;
}
} else {
$$pre$i = HEAP32[18102]|0;
$$pre13$i = HEAP32[18101]|0;
$36 = $$pre13$i;$37 = $$pre$i;
}
} while(0);
HEAP32[$37>>2] = $36;
$38 = ((($37)) + 4|0);
HEAP32[$38>>2] = 0;
$39 = HEAP32[18097]|0;
$40 = ($39|0)==(0);
if (!($40)) {
STACKTOP = sp;return;
}
__gcry_log_info(45168,$vararg_buffer9);
STACKTOP = sp;return;
}
function __gcry_secmem_module_init() {
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function __gcry_secmem_malloc($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
(_gpgrt_lock_lock(37900)|0);
$1 = (__gcry_secmem_malloc_internal($0)|0);
(_gpgrt_lock_unlock(37900)|0);
return ($1|0);
}
function __gcry_secmem_malloc_internal($0) {
$0 = $0|0;
var $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$1$i$i$i = 0, $$cast = 0, $$in = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
var $8 = 0, $9 = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i$i = 0, $or$cond29 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$1 = HEAP32[18100]|0;
$2 = ($1|0)==(0);
if ($2) {
_secmem_init(32768);
$3 = HEAP32[18100]|0;
$4 = ($3|0)==(0);
if ($4) {
$5 = (__gcry_gettext(45276)|0);
__gcry_log_info($5,$vararg_buffer);
_gpg_err_set_errno(12);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
$6 = (($0) + 31)|0;
$7 = $6 & -32;
$8 = HEAP32[18102]|0;
$$cast = $8;
$9 = HEAP32[18101]|0;
$10 = (($9) + ($$cast))|0;
$$in = $8;
while(1) {
$11 = $$in;
$12 = ($10>>>0)>($11>>>0);
if (!($12)) {
label = 18;
break;
}
$13 = ((($$in)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14 & 1;
$16 = ($15|0)!=(0);
$17 = HEAP32[$$in>>2]|0;
$18 = ($17>>>0)<($7>>>0);
$or$cond$i = $16 | $18;
if (!($or$cond$i)) {
label = 7;
break;
}
$62 = ((($$in)) + 8|0);
$63 = (($62) + ($17)|0);
$64 = ($8>>>0)<=($63>>>0);
$65 = $63;
$66 = ($10>>>0)>($65>>>0);
$or$cond29 = $64 & $66;
$67 = $or$cond29 ? $63 : 0;
$68 = ($8>>>0)>($67>>>0);
if ($68) {
label = 18;
break;
} else {
$$in = $67;
}
}
do {
if ((label|0) == 7) {
$19 = ((($$in)) + 4|0);
$20 = $14 | 1;
HEAP32[$19>>2] = $20;
$21 = (($17) - ($7))|0;
$22 = ($21>>>0)>(8);
if ($22) {
$23 = ((($$in)) + 8|0);
$24 = (($23) + ($7)|0);
$25 = (($21) + -8)|0;
HEAP32[$24>>2] = $25;
$26 = ((($24)) + 4|0);
HEAP32[$26>>2] = 0;
HEAP32[$$in>>2] = $7;
$27 = ($8|0)==($24|0);
if ($27) {
$$1$i$i$i = 0;
} else {
$28 = HEAP32[18101]|0;
$29 = (($28) + ($$cast))|0;
$$0$i$i$i = $8;
while(1) {
$30 = ((($$0$i$i$i)) + 8|0);
$31 = HEAP32[$$0$i$i$i>>2]|0;
$32 = (($30) + ($31)|0);
$33 = ($8>>>0)<=($32>>>0);
$34 = $32;
$35 = ($29>>>0)>($34>>>0);
$or$cond$i$i = $33 & $35;
$36 = $or$cond$i$i ? $32 : 0;
$37 = ($36|0)==($24|0);
if ($37) {
$$1$i$i$i = $$0$i$i$i;
break;
} else {
$$0$i$i$i = $36;
}
}
}
$38 = ((($24)) + 8|0);
$39 = HEAP32[$24>>2]|0;
$40 = (($38) + ($39)|0);
$41 = ($8>>>0)<=($40>>>0);
$42 = $40;
$43 = ($10>>>0)>($42>>>0);
$or$cond = $41 & $43;
$44 = $or$cond ? $40 : 0;
$45 = ($$1$i$i$i|0)==(0|0);
if ($45) {
$$0$i$i = $24;$59 = $39;
} else {
$46 = ((($$1$i$i$i)) + 4|0);
$47 = HEAP32[$46>>2]|0;
$48 = $47 & 1;
$49 = ($48|0)==(0);
if ($49) {
$50 = (($39) + 8)|0;
$51 = HEAP32[$$1$i$i$i>>2]|0;
$52 = (($50) + ($51))|0;
HEAP32[$$1$i$i$i>>2] = $52;
$$0$i$i = $$1$i$i$i;$59 = $52;
} else {
$$0$i$i = $24;$59 = $39;
}
}
$53 = ($44|0)==(0|0);
if (!($53)) {
$54 = ((($44)) + 4|0);
$55 = HEAP32[$54>>2]|0;
$56 = $55 & 1;
$57 = ($56|0)==(0);
if ($57) {
$58 = (($59) + 8)|0;
$60 = HEAP32[$44>>2]|0;
$61 = (($58) + ($60))|0;
HEAP32[$$0$i$i>>2] = $61;
}
}
}
$69 = ($7|0)==(0);
if ($69) {
$75 = ((($$in)) + 8|0);
$76 = $75;
break;
} else {
$70 = HEAP32[18104]|0;
$71 = (($70) + ($7))|0;
HEAP32[18104] = $71;
$72 = HEAP32[18105]|0;
$73 = (($72) + 1)|0;
HEAP32[18105] = $73;
$74 = ((($$in)) + 8|0);
$76 = $74;
break;
}
}
else if ((label|0) == 18) {
_gpg_err_set_errno(12);
$76 = 0;
}
} while(0);
$$0 = $76;
STACKTOP = sp;return ($$0|0);
}
function __gcry_secmem_free($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
(_gpgrt_lock_lock(37900)|0);
__gcry_secmem_free_internal($0);
(_gpgrt_lock_unlock(37900)|0);
return;
}
function __gcry_secmem_free_internal($0) {
$0 = $0|0;
var $$0$i = 0, $$0$i$i = 0, $$0135$lcssa = 0, $$0135215 = 0, $$0139$lcssa = 0, $$0139180 = 0, $$0143$lcssa = 0, $$0143179 = 0, $$0147$lcssa = 0, $$0147214 = 0, $$0151$lcssa = 0, $$0151191 = 0, $$0155$lcssa = 0, $$0155190 = 0, $$0159$lcssa = 0, $$0159203 = 0, $$0163$lcssa = 0, $$0163202 = 0, $$1$i$i = 0, $$1136 = 0;
var $$1140 = 0, $$1144 = 0, $$1148 = 0, $$1152 = 0, $$1156 = 0, $$1160 = 0, $$1164 = 0, $$2137 = 0, $$2141 = 0, $$2145 = 0, $$2149 = 0, $$2153 = 0, $$2157 = 0, $$2161 = 0, $$2165 = 0, $$3138210 = 0, $$3142178 = 0, $$3146177 = 0, $$3150209 = 0, $$3154186 = 0;
var $$3158185 = 0, $$3162198 = 0, $$3166197 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond$i = 0, $scevgep = 0, $scevgep236 = 0, $scevgep237 = 0, $scevgep238 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + -8|0);
$3 = HEAP32[$2>>2]|0;
$4 = $0;
$5 = $4 & 7;
$6 = ($5|0)!=(0);
$7 = ($3|0)!=(0);
$8 = $7 & $6;
if ($8) {
$$0135215 = $0;$$0147214 = $3;
while(1) {
HEAP8[$$0135215>>0] = -1;
$9 = ((($$0135215)) + 1|0);
$10 = (($$0147214) + -1)|0;
$11 = $9;
$12 = $11 & 7;
$13 = ($12|0)!=(0);
$14 = ($10|0)!=(0);
$15 = $14 & $13;
if ($15) {
$$0135215 = $9;$$0147214 = $10;
} else {
$$0135$lcssa = $9;$$0147$lcssa = $10;
break;
}
}
} else {
$$0135$lcssa = $0;$$0147$lcssa = $3;
}
$16 = ($$0147$lcssa>>>0)<(8);
if ($16) {
$$2137 = $$0135$lcssa;$$2149 = $$0147$lcssa;
} else {
$17 = (($$0147$lcssa) + -8)|0;
$18 = $17 & -8;
$19 = (($18) + 8)|0;
$$1136 = $$0135$lcssa;$$1148 = $$0147$lcssa;
while(1) {
$20 = $$1136;
$21 = $20;
HEAP32[$21>>2] = -1;
$22 = (($20) + 4)|0;
$23 = $22;
HEAP32[$23>>2] = -1;
$24 = (($$1148) + -8)|0;
$25 = ((($$1136)) + 8|0);
$26 = ($24>>>0)>(7);
if ($26) {
$$1136 = $25;$$1148 = $24;
} else {
break;
}
}
$27 = (($17) - ($18))|0;
$scevgep238 = (($$0135$lcssa) + ($19)|0);
$$2137 = $scevgep238;$$2149 = $27;
}
$28 = ($$2149|0)==(0);
if (!($28)) {
$$3138210 = $$2137;$$3150209 = $$2149;
while(1) {
HEAP8[$$3138210>>0] = -1;
$29 = ((($$3138210)) + 1|0);
$30 = (($$3150209) + -1)|0;
$31 = ($30|0)==(0);
if ($31) {
break;
} else {
$$3138210 = $29;$$3150209 = $30;
}
}
}
if ($8) {
$$0159203 = $0;$$0163202 = $3;
while(1) {
HEAP8[$$0159203>>0] = -86;
$32 = ((($$0159203)) + 1|0);
$33 = (($$0163202) + -1)|0;
$34 = $32;
$35 = $34 & 7;
$36 = ($35|0)!=(0);
$37 = ($33|0)!=(0);
$38 = $37 & $36;
if ($38) {
$$0159203 = $32;$$0163202 = $33;
} else {
$$0159$lcssa = $32;$$0163$lcssa = $33;
break;
}
}
} else {
$$0159$lcssa = $0;$$0163$lcssa = $3;
}
$39 = ($$0163$lcssa>>>0)<(8);
if ($39) {
$$2161 = $$0159$lcssa;$$2165 = $$0163$lcssa;
} else {
$40 = (($$0163$lcssa) + -8)|0;
$41 = $40 & -8;
$42 = (($41) + 8)|0;
$$1160 = $$0159$lcssa;$$1164 = $$0163$lcssa;
while(1) {
$43 = $$1160;
$44 = $43;
HEAP32[$44>>2] = -1431655766;
$45 = (($43) + 4)|0;
$46 = $45;
HEAP32[$46>>2] = -1431655766;
$47 = (($$1164) + -8)|0;
$48 = ((($$1160)) + 8|0);
$49 = ($47>>>0)>(7);
if ($49) {
$$1160 = $48;$$1164 = $47;
} else {
break;
}
}
$50 = (($40) - ($41))|0;
$scevgep237 = (($$0159$lcssa) + ($42)|0);
$$2161 = $scevgep237;$$2165 = $50;
}
$51 = ($$2165|0)==(0);
if (!($51)) {
$$3162198 = $$2161;$$3166197 = $$2165;
while(1) {
HEAP8[$$3162198>>0] = -86;
$52 = ((($$3162198)) + 1|0);
$53 = (($$3166197) + -1)|0;
$54 = ($53|0)==(0);
if ($54) {
break;
} else {
$$3162198 = $52;$$3166197 = $53;
}
}
}
if ($8) {
$$0151191 = $3;$$0155190 = $0;
while(1) {
HEAP8[$$0155190>>0] = 85;
$55 = ((($$0155190)) + 1|0);
$56 = (($$0151191) + -1)|0;
$57 = $55;
$58 = $57 & 7;
$59 = ($58|0)!=(0);
$60 = ($56|0)!=(0);
$61 = $60 & $59;
if ($61) {
$$0151191 = $56;$$0155190 = $55;
} else {
$$0151$lcssa = $56;$$0155$lcssa = $55;
break;
}
}
} else {
$$0151$lcssa = $3;$$0155$lcssa = $0;
}
$62 = ($$0151$lcssa>>>0)<(8);
if ($62) {
$$2153 = $$0151$lcssa;$$2157 = $$0155$lcssa;
} else {
$63 = (($$0151$lcssa) + -8)|0;
$64 = $63 & -8;
$65 = (($64) + 8)|0;
$$1152 = $$0151$lcssa;$$1156 = $$0155$lcssa;
while(1) {
$66 = $$1156;
$67 = $66;
HEAP32[$67>>2] = 1431655765;
$68 = (($66) + 4)|0;
$69 = $68;
HEAP32[$69>>2] = 1431655765;
$70 = (($$1152) + -8)|0;
$71 = ((($$1156)) + 8|0);
$72 = ($70>>>0)>(7);
if ($72) {
$$1152 = $70;$$1156 = $71;
} else {
break;
}
}
$73 = (($63) - ($64))|0;
$scevgep236 = (($$0155$lcssa) + ($65)|0);
$$2153 = $73;$$2157 = $scevgep236;
}
$74 = ($$2153|0)==(0);
if (!($74)) {
$$3154186 = $$2153;$$3158185 = $$2157;
while(1) {
HEAP8[$$3158185>>0] = 85;
$75 = ((($$3158185)) + 1|0);
$76 = (($$3154186) + -1)|0;
$77 = ($76|0)==(0);
if ($77) {
break;
} else {
$$3154186 = $76;$$3158185 = $75;
}
}
}
if ($8) {
$$0139180 = $3;$$0143179 = $0;
while(1) {
HEAP8[$$0143179>>0] = 0;
$78 = ((($$0143179)) + 1|0);
$79 = (($$0139180) + -1)|0;
$80 = $78;
$81 = $80 & 7;
$82 = ($81|0)!=(0);
$83 = ($79|0)!=(0);
$84 = $83 & $82;
if ($84) {
$$0139180 = $79;$$0143179 = $78;
} else {
$$0139$lcssa = $79;$$0143$lcssa = $78;
break;
}
}
} else {
$$0139$lcssa = $3;$$0143$lcssa = $0;
}
$85 = ($$0139$lcssa>>>0)<(8);
if ($85) {
$$2141 = $$0139$lcssa;$$2145 = $$0143$lcssa;
} else {
$86 = (($$0139$lcssa) + -8)|0;
$87 = $86 & -8;
$88 = (($87) + 8)|0;
$$1140 = $$0139$lcssa;$$1144 = $$0143$lcssa;
while(1) {
$89 = $$1144;
$90 = $89;
HEAP32[$90>>2] = 0;
$91 = (($89) + 4)|0;
$92 = $91;
HEAP32[$92>>2] = 0;
$93 = (($$1140) + -8)|0;
$94 = ((($$1144)) + 8|0);
$95 = ($93>>>0)>(7);
if ($95) {
$$1140 = $93;$$1144 = $94;
} else {
break;
}
}
$96 = (($86) - ($87))|0;
$scevgep = (($$0143$lcssa) + ($88)|0);
$$2141 = $96;$$2145 = $scevgep;
}
$97 = ($$2141|0)==(0);
if (!($97)) {
$$3142178 = $$2141;$$3146177 = $$2145;
while(1) {
HEAP8[$$3146177>>0] = 0;
$98 = ((($$3146177)) + 1|0);
$99 = (($$3142178) + -1)|0;
$100 = ($99|0)==(0);
if ($100) {
break;
} else {
$$3142178 = $99;$$3146177 = $98;
}
}
}
$101 = ($3|0)==(0);
if (!($101)) {
$102 = HEAP32[18104]|0;
$103 = (($102) - ($3))|0;
HEAP32[18104] = $103;
$104 = HEAP32[18105]|0;
$105 = (($104) + -1)|0;
HEAP32[18105] = $105;
}
$106 = ((($0)) + -4|0);
$107 = HEAP32[$106>>2]|0;
$108 = $107 & -2;
HEAP32[$106>>2] = $108;
$109 = HEAP32[18102]|0;
$110 = ($109|0)==($2|0);
$111 = $109;
if ($110) {
$$1$i$i = 0;
} else {
$112 = HEAP32[18101]|0;
$113 = (($112) + ($111))|0;
$$0$i$i = $109;
while(1) {
$114 = ((($$0$i$i)) + 8|0);
$115 = HEAP32[$$0$i$i>>2]|0;
$116 = (($114) + ($115)|0);
$117 = ($109>>>0)<=($116>>>0);
$118 = $116;
$119 = ($113>>>0)>($118>>>0);
$or$cond$i = $117 & $119;
$120 = $or$cond$i ? $116 : 0;
$121 = ($120|0)==($2|0);
if ($121) {
$$1$i$i = $$0$i$i;
break;
} else {
$$0$i$i = $120;
}
}
}
$122 = HEAP32[$2>>2]|0;
$123 = (($0) + ($122)|0);
$124 = ($109>>>0)>($123>>>0);
if ($124) {
label = 49;
} else {
$125 = $123;
$126 = HEAP32[18101]|0;
$127 = (($126) + ($111))|0;
$128 = ($127>>>0)>($125>>>0);
if ($128) {
$138 = $123;
} else {
label = 49;
}
}
if ((label|0) == 49) {
$138 = 0;
}
$129 = ($$1$i$i|0)==(0|0);
if ($129) {
$$0$i = $2;$145 = $122;
} else {
$130 = ((($$1$i$i)) + 4|0);
$131 = HEAP32[$130>>2]|0;
$132 = $131 & 1;
$133 = ($132|0)==(0);
if ($133) {
$134 = (($122) + 8)|0;
$135 = HEAP32[$$1$i$i>>2]|0;
$136 = (($134) + ($135))|0;
HEAP32[$$1$i$i>>2] = $136;
$$0$i = $$1$i$i;$145 = $136;
} else {
$$0$i = $2;$145 = $122;
}
}
$137 = ($138|0)==(0|0);
if ($137) {
return;
}
$139 = ((($138)) + 4|0);
$140 = HEAP32[$139>>2]|0;
$141 = $140 & 1;
$142 = ($141|0)==(0);
if (!($142)) {
return;
}
$143 = HEAP32[$138>>2]|0;
$144 = (($145) + 8)|0;
$146 = (($144) + ($143))|0;
HEAP32[$$0$i>>2] = $146;
return;
}
function __gcry_secmem_realloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
(_gpgrt_lock_lock(37900)|0);
$2 = ((($0)) + -8|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3>>>0)>($1>>>0);
if ($4) {
$$0 = $0;
} else {
$5 = (__gcry_secmem_malloc_internal($1)|0);
$6 = ($5|0)==(0|0);
if ($6) {
$$0 = 0;
} else {
$7 = (($1) - ($3))|0;
$8 = (($5) + ($3)|0);
_memcpy(($5|0),($0|0),($3|0))|0;
_memset(($8|0),0,($7|0))|0;
__gcry_secmem_free_internal($0);
$$0 = $5;
}
}
(_gpgrt_lock_unlock(37900)|0);
return ($$0|0);
}
function __gcry_private_is_secure($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[18100]|0;
$2 = ($1|0)==(0);
if ($2) {
$9 = 0;
return ($9|0);
}
$3 = $0;
$4 = HEAP32[18102]|0;
$5 = ($4>>>0)>($3>>>0);
if ($5) {
$9 = 0;
return ($9|0);
}
$6 = HEAP32[18101]|0;
$7 = (($6) + ($4))|0;
$8 = ($7>>>0)>($3>>>0);
$phitmp2 = $8&1;
$9 = $phitmp2;
return ($9|0);
}
function __gcry_secmem_term() {
var $$0$lcssa = 0, $$0117$lcssa = 0, $$0117196 = 0, $$0121$lcssa = 0, $$0121162 = 0, $$0125$lcssa = 0, $$0125161 = 0, $$0133$lcssa = 0, $$0133173 = 0, $$0137$lcssa = 0, $$0137172 = 0, $$0141$lcssa = 0, $$0141185 = 0, $$0145$lcssa = 0, $$0145184 = 0, $$0197 = 0, $$1 = 0, $$1118 = 0, $$1122 = 0, $$1126 = 0;
var $$1134 = 0, $$1138 = 0, $$1142 = 0, $$1146 = 0, $$2 = 0, $$2119 = 0, $$2123 = 0, $$2127 = 0, $$2135 = 0, $$2139 = 0, $$2143 = 0, $$2147 = 0, $$3120191 = 0, $$3124160 = 0, $$3128159 = 0, $$3136168 = 0, $$3140167 = 0, $$3144180 = 0, $$3148179 = 0, $$3192 = 0;
var $$pre = 0, $$pre$phi226Z2D = 0, $$pre$phi230Z2D = 0, $$pre221 = 0, $$pre222 = 0, $$pre223 = 0, $$pre224 = 0, $$pre225 = 0, $$pre227 = 0, $$pre229 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0;
var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $scevgep = 0, $scevgep218 = 0, $scevgep219 = 0, $scevgep220 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[18100]|0;
$1 = ($0|0)==(0);
if ($1) {
return;
}
$2 = HEAP32[18102]|0;
$3 = HEAP32[18101]|0;
$4 = $2;
$5 = $4 & 7;
$6 = ($5|0)!=(0);
$7 = ($3|0)!=(0);
$8 = $7 & $6;
if ($8) {
$$0117196 = $3;$$0197 = $2;
while(1) {
HEAP8[$$0197>>0] = -1;
$9 = ((($$0197)) + 1|0);
$10 = (($$0117196) + -1)|0;
$11 = $9;
$12 = $11 & 7;
$13 = ($12|0)!=(0);
$14 = ($10|0)!=(0);
$15 = $14 & $13;
if ($15) {
$$0117196 = $10;$$0197 = $9;
} else {
$$0$lcssa = $9;$$0117$lcssa = $10;
break;
}
}
} else {
$$0$lcssa = $2;$$0117$lcssa = $3;
}
$16 = ($$0117$lcssa>>>0)<(8);
if ($16) {
$$2 = $$0$lcssa;$$2119 = $$0117$lcssa;
} else {
$17 = (($$0117$lcssa) + -8)|0;
$18 = $17 & -8;
$19 = (($18) + 8)|0;
$$1 = $$0$lcssa;$$1118 = $$0117$lcssa;
while(1) {
$20 = $$1;
$21 = $20;
HEAP32[$21>>2] = -1;
$22 = (($20) + 4)|0;
$23 = $22;
HEAP32[$23>>2] = -1;
$24 = (($$1118) + -8)|0;
$25 = ((($$1)) + 8|0);
$26 = ($24>>>0)>(7);
if ($26) {
$$1 = $25;$$1118 = $24;
} else {
break;
}
}
$27 = (($17) - ($18))|0;
$scevgep220 = (($$0$lcssa) + ($19)|0);
$$2 = $scevgep220;$$2119 = $27;
}
$28 = ($$2119|0)==(0);
if ($28) {
$$pre$phi226Z2D = $5;$120 = $2;$34 = $3;
} else {
$$3120191 = $$2119;$$3192 = $$2;
while(1) {
HEAP8[$$3192>>0] = -1;
$29 = ((($$3192)) + 1|0);
$30 = (($$3120191) + -1)|0;
$31 = ($30|0)==(0);
if ($31) {
break;
} else {
$$3120191 = $30;$$3192 = $29;
}
}
$$pre = HEAP32[18102]|0;
$$pre221 = HEAP32[18101]|0;
$$pre224 = $$pre;
$$pre225 = $$pre224 & 7;
$$pre$phi226Z2D = $$pre225;$120 = $$pre;$34 = $$pre221;
}
$32 = ($$pre$phi226Z2D|0)!=(0);
$33 = ($34|0)!=(0);
$35 = $33 & $32;
if ($35) {
$$0141185 = $120;$$0145184 = $34;
while(1) {
HEAP8[$$0141185>>0] = -86;
$36 = ((($$0141185)) + 1|0);
$37 = (($$0145184) + -1)|0;
$38 = $36;
$39 = $38 & 7;
$40 = ($39|0)!=(0);
$41 = ($37|0)!=(0);
$42 = $41 & $40;
if ($42) {
$$0141185 = $36;$$0145184 = $37;
} else {
$$0141$lcssa = $36;$$0145$lcssa = $37;
break;
}
}
} else {
$$0141$lcssa = $120;$$0145$lcssa = $34;
}
$43 = ($$0145$lcssa>>>0)<(8);
if ($43) {
$$2143 = $$0141$lcssa;$$2147 = $$0145$lcssa;
} else {
$44 = (($$0145$lcssa) + -8)|0;
$45 = $44 & -8;
$46 = (($45) + 8)|0;
$$1142 = $$0141$lcssa;$$1146 = $$0145$lcssa;
while(1) {
$47 = $$1142;
$48 = $47;
HEAP32[$48>>2] = -1431655766;
$49 = (($47) + 4)|0;
$50 = $49;
HEAP32[$50>>2] = -1431655766;
$51 = (($$1146) + -8)|0;
$52 = ((($$1142)) + 8|0);
$53 = ($51>>>0)>(7);
if ($53) {
$$1142 = $52;$$1146 = $51;
} else {
break;
}
}
$54 = (($44) - ($45))|0;
$scevgep219 = (($$0141$lcssa) + ($46)|0);
$$2143 = $scevgep219;$$2147 = $54;
}
$55 = ($$2147|0)==(0);
if ($55) {
$$pre$phi230Z2D = $$pre$phi226Z2D;$121 = $120;$61 = $34;
} else {
$$3144180 = $$2143;$$3148179 = $$2147;
while(1) {
HEAP8[$$3144180>>0] = -86;
$56 = ((($$3144180)) + 1|0);
$57 = (($$3148179) + -1)|0;
$58 = ($57|0)==(0);
if ($58) {
break;
} else {
$$3144180 = $56;$$3148179 = $57;
}
}
$$pre222 = HEAP32[18102]|0;
$$pre223 = HEAP32[18101]|0;
$$pre227 = $$pre222;
$$pre229 = $$pre227 & 7;
$$pre$phi230Z2D = $$pre229;$121 = $$pre222;$61 = $$pre223;
}
$59 = ($$pre$phi230Z2D|0)!=(0);
$60 = ($61|0)!=(0);
$62 = $60 & $59;
if ($62) {
$$0133173 = $61;$$0137172 = $121;
while(1) {
HEAP8[$$0137172>>0] = 85;
$63 = ((($$0137172)) + 1|0);
$64 = (($$0133173) + -1)|0;
$65 = $63;
$66 = $65 & 7;
$67 = ($66|0)!=(0);
$68 = ($64|0)!=(0);
$69 = $68 & $67;
if ($69) {
$$0133173 = $64;$$0137172 = $63;
} else {
$$0133$lcssa = $64;$$0137$lcssa = $63;
break;
}
}
} else {
$$0133$lcssa = $61;$$0137$lcssa = $121;
}
$70 = ($$0133$lcssa>>>0)<(8);
if ($70) {
$$2135 = $$0133$lcssa;$$2139 = $$0137$lcssa;
} else {
$71 = (($$0133$lcssa) + -8)|0;
$72 = $71 & -8;
$73 = (($72) + 8)|0;
$$1134 = $$0133$lcssa;$$1138 = $$0137$lcssa;
while(1) {
$74 = $$1138;
$75 = $74;
HEAP32[$75>>2] = 1431655765;
$76 = (($74) + 4)|0;
$77 = $76;
HEAP32[$77>>2] = 1431655765;
$78 = (($$1134) + -8)|0;
$79 = ((($$1138)) + 8|0);
$80 = ($78>>>0)>(7);
if ($80) {
$$1134 = $78;$$1138 = $79;
} else {
break;
}
}
$81 = (($71) - ($72))|0;
$scevgep218 = (($$0137$lcssa) + ($73)|0);
$$2135 = $81;$$2139 = $scevgep218;
}
$82 = ($$2135|0)==(0);
if (!($82)) {
$$3136168 = $$2135;$$3140167 = $$2139;
while(1) {
HEAP8[$$3140167>>0] = 85;
$83 = ((($$3140167)) + 1|0);
$84 = (($$3136168) + -1)|0;
$85 = ($84|0)==(0);
if ($85) {
break;
} else {
$$3136168 = $84;$$3140167 = $83;
}
}
}
$86 = HEAP32[18102]|0;
$87 = HEAP32[18101]|0;
$88 = $86;
$89 = $88 & 7;
$90 = ($89|0)!=(0);
$91 = ($87|0)!=(0);
$92 = $91 & $90;
if ($92) {
$$0121162 = $87;$$0125161 = $86;
while(1) {
HEAP8[$$0125161>>0] = 0;
$93 = ((($$0125161)) + 1|0);
$94 = (($$0121162) + -1)|0;
$95 = $93;
$96 = $95 & 7;
$97 = ($96|0)!=(0);
$98 = ($94|0)!=(0);
$99 = $98 & $97;
if ($99) {
$$0121162 = $94;$$0125161 = $93;
} else {
$$0121$lcssa = $94;$$0125$lcssa = $93;
break;
}
}
} else {
$$0121$lcssa = $87;$$0125$lcssa = $86;
}
$100 = ($$0121$lcssa>>>0)<(8);
if ($100) {
$$2123 = $$0121$lcssa;$$2127 = $$0125$lcssa;
} else {
$101 = (($$0121$lcssa) + -8)|0;
$102 = $101 & -8;
$103 = (($102) + 8)|0;
$$1122 = $$0121$lcssa;$$1126 = $$0125$lcssa;
while(1) {
$104 = $$1126;
$105 = $104;
HEAP32[$105>>2] = 0;
$106 = (($104) + 4)|0;
$107 = $106;
HEAP32[$107>>2] = 0;
$108 = (($$1122) + -8)|0;
$109 = ((($$1126)) + 8|0);
$110 = ($108>>>0)>(7);
if ($110) {
$$1122 = $108;$$1126 = $109;
} else {
break;
}
}
$111 = (($101) - ($102))|0;
$scevgep = (($$0125$lcssa) + ($103)|0);
$$2123 = $111;$$2127 = $scevgep;
}
$112 = ($$2123|0)==(0);
if (!($112)) {
$$3124160 = $$2123;$$3128159 = $$2127;
while(1) {
HEAP8[$$3128159>>0] = 0;
$113 = ((($$3128159)) + 1|0);
$114 = (($$3124160) + -1)|0;
$115 = ($114|0)==(0);
if ($115) {
break;
} else {
$$3124160 = $114;$$3128159 = $113;
}
}
}
$116 = HEAP32[18103]|0;
$117 = ($116|0)==(0);
if (!($117)) {
$118 = HEAP32[18102]|0;
$119 = HEAP32[18101]|0;
(___munmap($118,$119)|0);
}
HEAP32[18102] = 0;
HEAP32[18100] = 0;
HEAP32[18101] = 0;
return;
}
function __gcry_secmem_dump_stats() {
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
(_gpgrt_lock_lock(37900)|0);
$0 = HEAP32[18100]|0;
$1 = ($0|0)==(0);
if ($1) {
(_gpgrt_lock_unlock(37900)|0);
STACKTOP = sp;return;
}
$2 = HEAP32[18104]|0;
$3 = HEAP32[18101]|0;
$4 = HEAP32[18105]|0;
HEAP32[$vararg_buffer>>2] = $2;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $3;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $4;
__gcry_log_info(45337,$vararg_buffer);
(_gpgrt_lock_unlock(37900)|0);
STACKTOP = sp;return;
}
function __gcry_initialize_fips_mode($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(528|0);
$vararg_buffer2 = sp + 520|0;
$vararg_buffer = sp + 512|0;
$1 = sp + 256|0;
$2 = sp;
$3 = HEAP32[18106]|0;
$4 = ($3|0)==(0);
if (!($4)) {
$5 = HEAP32[18107]|0;
$6 = ($5|0)==(1);
if ($6) {
__gcry_assert_failed(45378,45384,114,45391);
// unreachable;
} else {
_fips_new_state(5);
__gcry_fips_noreturn();
// unreachable;
}
}
HEAP32[18106] = 1;
$7 = ($0|0)==(0);
L7: do {
if ($7) {
$10 = (_access(45441,0)|0);
$11 = ($10|0)==(0);
if ($11) {
$12 = HEAP32[18107]|0;
$13 = ($12|0)==(0);
if ($13) {
break;
}
__gcry_assert_failed(45418,45384,132,45391);
// unreachable;
}
$14 = (_fopen(208,45466)|0);
$15 = ($14|0)==(0|0);
L13: do {
if ($15) {
$22 = (___errno_location()|0);
$23 = HEAP32[$22>>2]|0;
switch ($23|0) {
case 2: case 13: {
break L13;
break;
}
default: {
}
}
$24 = (_access(45468,0)|0);
$25 = ($24|0)==(0);
if ($25) {
$26 = (_strerror($23)|0);
HEAP32[$vararg_buffer>>2] = 208;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $26;
__gcry_log_info(45482,$vararg_buffer);
_abort();
// unreachable;
}
} else {
$16 = (_fgets($1,256,$14)|0);
$17 = ($16|0)==(0|0);
if (!($17)) {
$18 = (_atoi($1)|0);
$19 = ($18|0)==(0);
if (!($19)) {
(_fclose($14)|0);
$20 = HEAP32[18107]|0;
$21 = ($20|0)==(0);
if ($21) {
break L7;
} else {
__gcry_assert_failed(45418,45384,151,45391);
// unreachable;
}
}
}
(_fclose($14)|0);
}
} while(0);
HEAP32[18107] = 1;
STACKTOP = sp;return;
} else {
$8 = HEAP32[18107]|0;
$9 = ($8|0)==(0);
if (!($9)) {
__gcry_assert_failed(45418,45384,121,45391);
// unreachable;
}
}
} while(0);
$27 = (_gpgrt_lock_init(37944)|0);
$28 = ($27|0)==(0);
if (!($28)) {
$29 = (_gpg_strerror($27)|0);
HEAP32[$vararg_buffer2>>2] = $29;
__gcry_log_info(45526,$vararg_buffer2);
_abort();
// unreachable;
}
$30 = (_fopen(45441,45466)|0);
$31 = ($30|0)==(0|0);
if (!($31)) {
$32 = (_fgets($2,256,$30)|0);
$33 = ($32|0)==(0|0);
if (!($33)) {
$34 = (_atoi($2)|0);
$35 = ($34|0)==(0);
if (!($35)) {
HEAP32[18108] = 1;
}
}
(_fclose($30)|0);
}
_fips_new_state(1);
STACKTOP = sp;return;
}
function _fips_new_state($0) {
$0 = $0|0;
var $$0$i = 0, $$0$i57 = 0, $$060 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer7 = sp + 24|0;
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$1 = (_gpgrt_lock_lock(37944)|0);
$2 = ($1|0)==(0);
if (!($2)) {
$3 = (_gpg_strerror($1)|0);
HEAP32[$vararg_buffer>>2] = $3;
__gcry_log_info(45581,$vararg_buffer);
_abort();
// unreachable;
}
$4 = HEAP32[18109]|0;
switch ($4|0) {
case 0: {
switch ($0|0) {
case 1: case 4: case 5: {
label = 10;
break;
}
default: {
label = 13;
}
}
break;
}
case 1: {
switch ($0|0) {
case 2: case 4: case 5: {
label = 10;
break;
}
default: {
label = 13;
}
}
break;
}
case 2: {
$5 = (($0) + -3)|0;
$6 = ($5>>>0)<(3);
if ($6) {
label = 10;
} else {
label = 13;
}
break;
}
case 3: {
switch ($0|0) {
case 2: case 4: case 5: case 6: {
label = 10;
break;
}
default: {
label = 13;
}
}
break;
}
case 4: {
switch ($0|0) {
case 2: case 4: case 5: case 6: {
label = 10;
break;
}
default: {
label = 13;
}
}
break;
}
case 5: {
$7 = ($0|0)==(6);
if ($7) {
label = 10;
} else {
label = 13;
}
break;
}
default: {
label = 13;
}
}
if ((label|0) == 10) {
HEAP32[18109] = $0;
$8 = (_gpgrt_lock_unlock(37944)|0);
$9 = ($8|0)==(0);
if (!($9)) {
$10 = (_gpg_strerror($8)|0);
HEAP32[$vararg_buffer1>>2] = $10;
__gcry_log_info(45636,$vararg_buffer1);
_abort();
// unreachable;
}
$11 = (__gcry_log_verbosity(2)|0);
$12 = ($11|0)==(0);
if ($12) {
STACKTOP = sp;return;
} else {
$$060 = 1;
}
}
else if ((label|0) == 13) {
$13 = (_gpgrt_lock_unlock(37944)|0);
$14 = ($13|0)==(0);
if ($14) {
$$060 = 0;
} else {
$15 = (_gpg_strerror($13)|0);
HEAP32[$vararg_buffer4>>2] = $15;
__gcry_log_info(45636,$vararg_buffer4);
_abort();
// unreachable;
}
}
switch ($4|0) {
case 0: {
$$0$i = 45745;
break;
}
case 1: {
$$0$i = 45740;
break;
}
case 2: {
$$0$i = 45730;
break;
}
case 3: {
$$0$i = 45718;
break;
}
case 4: {
$$0$i = 45712;
break;
}
case 5: {
$$0$i = 45700;
break;
}
case 6: {
$$0$i = 45691;
break;
}
default: {
$$0$i = 59741;
}
}
switch ($0|0) {
case 0: {
$$0$i57 = 45745;
break;
}
case 1: {
$$0$i57 = 45740;
break;
}
case 2: {
$$0$i57 = 45730;
break;
}
case 3: {
$$0$i57 = 45718;
break;
}
case 4: {
$$0$i57 = 45712;
break;
}
case 5: {
$$0$i57 = 45700;
break;
}
case 6: {
$$0$i57 = 45691;
break;
}
default: {
$$0$i57 = 59741;
}
}
$16 = $$060 ? 45754 : 45762;
HEAP32[$vararg_buffer7>>2] = $$0$i;
$vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
HEAP32[$vararg_ptr10>>2] = $$0$i57;
$vararg_ptr11 = ((($vararg_buffer7)) + 8|0);
HEAP32[$vararg_ptr11>>2] = $16;
__gcry_log_info(45769,$vararg_buffer7);
if ($$060) {
STACKTOP = sp;return;
} else {
__gcry_fips_noreturn();
// unreachable;
}
}
function __gcry_fips_noreturn() {
var label = 0, sp = 0;
sp = STACKTOP;
(_fflush(0)|0);
_abort();
// unreachable;
}
function __gcry_fips_mode() {
var $0 = 0, $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[18107]|0;
$1 = $0 ^ 1;
return ($1|0);
}
function __gcry_enforced_fips_mode() {
var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[18107]|0;
$1 = ($0|0)==(1);
$2 = HEAP32[18108]|0;
$$0 = $1 ? 0 : $2;
return ($$0|0);
}
function __gcry_set_enforced_fips_mode() {
var label = 0, sp = 0;
sp = STACKTOP;
HEAP32[18108] = 1;
return;
}
function __gcry_inactivate_fips_mode($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer6 = 0;
var $vararg_buffer9 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer12 = sp + 40|0;
$vararg_buffer9 = sp + 32|0;
$vararg_buffer6 = sp + 24|0;
$vararg_buffer = sp;
$1 = HEAP32[18107]|0;
$2 = ($1|0)==(1);
if ($2) {
__gcry_assert_failed(45809,45384,295,45828);
// unreachable;
}
$3 = HEAP32[18108]|0;
$4 = ($3|0)==(0);
if (!($4)) {
$5 = ($0|0)==(0|0);
$6 = $5 ? 45855 : $0;
_fips_new_state(4);
HEAP32[$vararg_buffer>>2] = 73338;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 45384;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 300;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = 45928;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = 45828;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = $6;
__gcry_log_info(45880,$vararg_buffer);
STACKTOP = sp;return;
}
$7 = (_gpgrt_lock_lock(37944)|0);
$8 = ($7|0)==(0);
if (!($8)) {
$9 = (_gpg_strerror($7)|0);
HEAP32[$vararg_buffer6>>2] = $9;
__gcry_log_info(45581,$vararg_buffer6);
_abort();
// unreachable;
}
$10 = HEAP32[18110]|0;
$11 = ($10|0)==(0);
if ($11) {
HEAP32[18110] = 1;
$12 = (_gpgrt_lock_unlock(37944)|0);
$13 = ($12|0)==(0);
if ($13) {
STACKTOP = sp;return;
} else {
$14 = (_gpg_strerror($12)|0);
HEAP32[$vararg_buffer9>>2] = $14;
__gcry_log_info(45636,$vararg_buffer9);
_abort();
// unreachable;
}
} else {
$15 = (_gpgrt_lock_unlock(37944)|0);
$16 = ($15|0)==(0);
if ($16) {
STACKTOP = sp;return;
} else {
$17 = (_gpg_strerror($15)|0);
HEAP32[$vararg_buffer12>>2] = $17;
__gcry_log_info(45636,$vararg_buffer12);
_abort();
// unreachable;
}
}
}
function __gcry_fips_signal_error($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp;
$5 = HEAP32[18107]|0;
$6 = ($5|0)==(1);
if ($6) {
STACKTOP = sp;return;
}
$7 = ($3|0)!=(0);
$8 = $7 ? 5 : 4;
_fips_new_state($8);
$9 = $7 ? 45940 : 73338;
$10 = ($2|0)!=(0|0);
$11 = $10 ? 45928 : 73338;
$12 = $10 ? $2 : 73338;
$13 = ($4|0)==(0|0);
$14 = $13 ? 45855 : $4;
HEAP32[$vararg_buffer>>2] = $9;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $0;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $1;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $11;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $12;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = $14;
__gcry_log_info(45880,$vararg_buffer);
STACKTOP = sp;return;
}
function __gcry_is_fips_mode_inactive() {
var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = HEAP32[18107]|0;
$1 = ($0|0)==(1);
if ($1) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$2 = (_gpgrt_lock_lock(37944)|0);
$3 = ($2|0)==(0);
if (!($3)) {
$4 = (_gpg_strerror($2)|0);
HEAP32[$vararg_buffer>>2] = $4;
__gcry_log_info(45581,$vararg_buffer);
_abort();
// unreachable;
}
$5 = HEAP32[18110]|0;
$6 = (_gpgrt_lock_unlock(37944)|0);
$7 = ($6|0)==(0);
if ($7) {
$$0 = $5;
STACKTOP = sp;return ($$0|0);
} else {
$8 = (_gpg_strerror($6)|0);
HEAP32[$vararg_buffer1>>2] = $8;
__gcry_log_info(45636,$vararg_buffer1);
_abort();
// unreachable;
}
return (0)|0;
}
function __gcry_fips_is_operational() {
var $$0 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer7 = sp + 24|0;
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = HEAP32[18107]|0;
$1 = ($0|0)==(1);
if ($1) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$2 = (_gpgrt_lock_lock(37944)|0);
$3 = ($2|0)==(0);
if (!($3)) {
$4 = (_gpg_strerror($2)|0);
HEAP32[$vararg_buffer>>2] = $4;
__gcry_log_info(45581,$vararg_buffer);
_abort();
// unreachable;
}
$5 = HEAP32[18109]|0;
$6 = ($5|0)==(1);
do {
if ($6) {
$7 = (_gpgrt_lock_unlock(37944)|0);
$8 = ($7|0)==(0);
if (!($8)) {
$9 = (_gpg_strerror($7)|0);
HEAP32[$vararg_buffer1>>2] = $9;
__gcry_log_info(45636,$vararg_buffer1);
_abort();
// unreachable;
}
(__gcry_fips_run_selftests(0)|0);
$10 = (_gpgrt_lock_lock(37944)|0);
$11 = ($10|0)==(0);
if ($11) {
$$pre = HEAP32[18109]|0;
$14 = $$pre;
break;
} else {
$12 = (_gpg_strerror($10)|0);
HEAP32[$vararg_buffer4>>2] = $12;
__gcry_log_info(45581,$vararg_buffer4);
_abort();
// unreachable;
}
} else {
$14 = $5;
}
} while(0);
$13 = ($14|0)==(3);
$15 = $13&1;
$16 = (_gpgrt_lock_unlock(37944)|0);
$17 = ($16|0)==(0);
if ($17) {
$$0 = $15;
STACKTOP = sp;return ($$0|0);
} else {
$18 = (_gpg_strerror($16)|0);
HEAP32[$vararg_buffer7>>2] = $18;
__gcry_log_info(45636,$vararg_buffer7);
_abort();
// unreachable;
}
return (0)|0;
}
function __gcry_fips_run_selftests($0) {
$0 = $0|0;
var $$0 = 0, $$09 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $spec$select = 0, $spec$select11 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[18107]|0;
$2 = ($1|0)==(1);
if (!($2)) {
_fips_new_state(2);
}
$3 = (__gcry_cipher_selftest(2,$0,60)|0);
$4 = ($3|0)==(0);
if ($4) {
$6 = 0;
} else {
$5 = (_gpg_strerror($3)|0);
$6 = $5;
}
_reporter(59927,2,0,$6);
$7 = (__gcry_cipher_selftest(7,$0,60)|0);
$8 = ($7|0)==(0);
if ($8) {
$10 = 0;
} else {
$9 = (_gpg_strerror($7)|0);
$10 = $9;
}
_reporter(59927,7,0,$10);
$11 = $7 | $3;
$12 = (__gcry_cipher_selftest(8,$0,60)|0);
$13 = ($12|0)==(0);
if ($13) {
$15 = 0;
} else {
$14 = (_gpg_strerror($12)|0);
$15 = $14;
}
_reporter(59927,8,0,$15);
$16 = $11 | $12;
$17 = (__gcry_cipher_selftest(9,$0,60)|0);
$18 = ($17|0)==(0);
if ($18) {
$20 = 0;
} else {
$19 = (_gpg_strerror($17)|0);
$20 = $19;
}
_reporter(59927,9,0,$20);
$21 = $16 | $17;
$22 = ($21|0)==(0);
do {
if ($22) {
$23 = (__gcry_md_selftest(2,$0,60)|0);
$24 = ($23|0)==(0);
if ($24) {
$26 = 0;
} else {
$25 = (_gpg_strerror($23)|0);
$26 = $25;
}
_reporter(63225,2,0,$26);
$27 = (__gcry_md_selftest(11,$0,60)|0);
$28 = ($27|0)==(0);
if ($28) {
$30 = 0;
} else {
$29 = (_gpg_strerror($27)|0);
$30 = $29;
}
_reporter(63225,11,0,$30);
$31 = $27 | $23;
$32 = (__gcry_md_selftest(8,$0,60)|0);
$33 = ($32|0)==(0);
if ($33) {
$35 = 0;
} else {
$34 = (_gpg_strerror($32)|0);
$35 = $34;
}
_reporter(63225,8,0,$35);
$36 = $31 | $32;
$37 = (__gcry_md_selftest(9,$0,60)|0);
$38 = ($37|0)==(0);
if ($38) {
$40 = 0;
} else {
$39 = (_gpg_strerror($37)|0);
$40 = $39;
}
_reporter(63225,9,0,$40);
$41 = $36 | $37;
$42 = (__gcry_md_selftest(10,$0,60)|0);
$43 = ($42|0)==(0);
if ($43) {
$45 = 0;
} else {
$44 = (_gpg_strerror($42)|0);
$45 = $44;
}
_reporter(63225,10,0,$45);
$46 = $41 | $42;
$47 = ($46|0)==(0);
if ($47) {
$48 = (__gcry_hmac_selftest(2,$0,60)|0);
$49 = ($48|0)==(0);
if ($49) {
$51 = 0;
} else {
$50 = (_gpg_strerror($48)|0);
$51 = $50;
}
_reporter(58127,2,0,$51);
$52 = (__gcry_hmac_selftest(11,$0,60)|0);
$53 = ($52|0)==(0);
if ($53) {
$55 = 0;
} else {
$54 = (_gpg_strerror($52)|0);
$55 = $54;
}
_reporter(58127,11,0,$55);
$56 = $52 | $48;
$57 = (__gcry_hmac_selftest(8,$0,60)|0);
$58 = ($57|0)==(0);
if ($58) {
$60 = 0;
} else {
$59 = (_gpg_strerror($57)|0);
$60 = $59;
}
_reporter(58127,8,0,$60);
$61 = $56 | $57;
$62 = (__gcry_hmac_selftest(9,$0,60)|0);
$63 = ($62|0)==(0);
if ($63) {
$65 = 0;
} else {
$64 = (_gpg_strerror($62)|0);
$65 = $64;
}
_reporter(58127,9,0,$65);
$66 = $61 | $62;
$67 = (__gcry_hmac_selftest(10,$0,60)|0);
$68 = ($67|0)==(0);
if ($68) {
$70 = 0;
} else {
$69 = (_gpg_strerror($67)|0);
$70 = $69;
}
_reporter(58127,10,0,$70);
$71 = $66 | $67;
$72 = ($71|0)==(0);
if ($72) {
$73 = (__gcry_random_selftest(60)|0);
$74 = ($73|0)==(0);
if (!($74)) {
$75 = (_gpg_strerror($73)|0);
_reporter(69464,0,0,$75);
$$0 = 50;$$09 = 4;
break;
}
_reporter(69464,0,0,0);
$76 = (__gcry_pk_selftest(1,$0,60)|0);
$77 = ($76|0)==(0);
if ($77) {
$79 = 0;
} else {
$78 = (_gpg_strerror($76)|0);
$79 = $78;
}
_reporter(61280,1,0,$79);
$80 = (__gcry_pk_selftest(17,$0,60)|0);
$81 = ($80|0)==(0);
if ($81) {
$83 = 0;
} else {
$82 = (_gpg_strerror($80)|0);
$83 = $82;
}
_reporter(61280,17,0,$83);
$84 = $80 | $76;
$85 = ($84|0)==(0);
$spec$select = $85 ? 3 : 4;
$spec$select11 = $85 ? 0 : 50;
$$0 = $spec$select11;$$09 = $spec$select;
} else {
$$0 = 50;$$09 = 4;
}
} else {
$$0 = 50;$$09 = 4;
}
} else {
$$0 = 50;$$09 = 4;
}
} while(0);
$86 = HEAP32[18107]|0;
$87 = ($86|0)==(1);
if ($87) {
return ($$0|0);
}
_fips_new_state($$09);
return ($$0|0);
}
function _reporter($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp;
$4 = ($3|0)!=(0|0);
if (!($4)) {
$5 = (__gcry_log_verbosity(2)|0);
$6 = ($5|0)==(0);
if ($6) {
STACKTOP = sp;return;
}
}
$7 = (_strcmp($0,58127)|0);
$8 = ($7|0)==(0);
$9 = $8 ? 63225 : $0;
$10 = $8 ? 45947 : 73338;
$11 = (_strcmp($0,59927)|0);
$12 = ($11|0)==(0);
do {
if ($12) {
$13 = (__gcry_cipher_algo_name($1)|0);
$26 = $13;
} else {
$14 = (_strcmp($0,63225)|0);
$15 = ($14|0)==(0);
if ($15) {
$16 = (__gcry_md_algo_name($1)|0);
$26 = $16;
break;
}
if ($8) {
$17 = (__gcry_md_algo_name($1)|0);
$26 = $17;
break;
}
$18 = (_strcmp($0,61280)|0);
$19 = ($18|0)==(0);
if ($19) {
$20 = (__gcry_pk_algo_name($1)|0);
$26 = $20;
} else {
$26 = 73338;
}
}
} while(0);
$21 = $4 ? $3 : 45953;
$22 = ($2|0)!=(0|0);
$23 = $22 ? 45958 : 73338;
$24 = $22 ? $2 : 73338;
$25 = $22 ? 64767 : 73338;
HEAP32[$vararg_buffer>>2] = $9;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $10;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $26;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $1;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $21;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = $23;
$vararg_ptr6 = ((($vararg_buffer)) + 24|0);
HEAP32[$vararg_ptr6>>2] = $24;
$vararg_ptr7 = ((($vararg_buffer)) + 28|0);
HEAP32[$vararg_ptr7>>2] = $25;
__gcry_log_info(45961,$vararg_buffer);
STACKTOP = sp;return;
}
function __gcry_fips_test_operational() {
var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = HEAP32[18107]|0;
$1 = ($0|0)==(1);
if ($1) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$2 = (_gpgrt_lock_lock(37944)|0);
$3 = ($2|0)==(0);
if (!($3)) {
$4 = (_gpg_strerror($2)|0);
HEAP32[$vararg_buffer>>2] = $4;
__gcry_log_info(45581,$vararg_buffer);
_abort();
// unreachable;
}
$5 = HEAP32[18109]|0;
$6 = ($5|0)==(3);
$7 = $6&1;
$8 = (_gpgrt_lock_unlock(37944)|0);
$9 = ($8|0)==(0);
if ($9) {
$$0 = $7;
STACKTOP = sp;return ($$0|0);
} else {
$10 = (_gpg_strerror($8)|0);
HEAP32[$vararg_buffer1>>2] = $10;
__gcry_log_info(45636,$vararg_buffer1);
_abort();
// unreachable;
}
return (0)|0;
}
function __gcry_fips_test_error_or_operational() {
var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = HEAP32[18107]|0;
$1 = ($0|0)==(1);
if ($1) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$2 = (_gpgrt_lock_lock(37944)|0);
$3 = ($2|0)==(0);
if (!($3)) {
$4 = (_gpg_strerror($2)|0);
HEAP32[$vararg_buffer>>2] = $4;
__gcry_log_info(45581,$vararg_buffer);
_abort();
// unreachable;
}
$5 = HEAP32[18109]|0;
$6 = (($5) + -3)|0;
$7 = ($6>>>0)<(2);
$8 = $7&1;
$9 = (_gpgrt_lock_unlock(37944)|0);
$10 = ($9|0)==(0);
if ($10) {
$$0 = $8;
STACKTOP = sp;return ($$0|0);
} else {
$11 = (_gpg_strerror($9)|0);
HEAP32[$vararg_buffer1>>2] = $11;
__gcry_log_info(45636,$vararg_buffer1);
_abort();
// unreachable;
}
return (0)|0;
}
function __gcry_ctx_alloc($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $cond = 0, $spec$select = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$cond = ($0|0)==(1);
if (!($cond)) {
HEAP32[$vararg_buffer>>2] = $0;
__gcry_log_bug(46005,$vararg_buffer);
// unreachable;
}
$3 = ($1>>>0)>(8);
$spec$select = $3 ? $1 : 8;
$4 = (($spec$select) + 8)|0;
$5 = (__gcry_calloc(1,$4)|0);
$6 = ($5|0)==(0|0);
if ($6) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
;HEAP8[$5>>0]=HEAP8[46051>>0]|0;HEAP8[$5+1>>0]=HEAP8[46051+1>>0]|0;HEAP8[$5+2>>0]=HEAP8[46051+2>>0]|0;
$7 = ((($5)) + 3|0);
HEAP8[$7>>0] = 1;
$8 = ((($5)) + 4|0);
HEAP32[$8>>2] = $2;
$$0 = $5;
STACKTOP = sp;return ($$0|0);
}
function __gcry_ctx_get_pointer($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$2 = ($0|0)==(0|0);
if ($2) {
HEAP32[$vararg_buffer>>2] = $0;
__gcry_log_fatal(46055,$vararg_buffer);
// unreachable;
}
$3 = (_memcmp($0,46051,3)|0);
$4 = ($3|0)==(0);
if (!($4)) {
HEAP32[$vararg_buffer>>2] = $0;
__gcry_log_fatal(46055,$vararg_buffer);
// unreachable;
}
$5 = ((($0)) + 3|0);
$6 = HEAP8[$5>>0]|0;
$7 = $6 << 24 >> 24;
$8 = ($7|0)==($1|0);
if ($8) {
$9 = ((($0)) + 8|0);
STACKTOP = sp;return ($9|0);
} else {
HEAP32[$vararg_buffer1>>2] = $1;
$vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
HEAP32[$vararg_ptr4>>2] = $0;
$vararg_ptr5 = ((($vararg_buffer1)) + 8|0);
HEAP32[$vararg_ptr5>>2] = $7;
__gcry_log_fatal(46103,$vararg_buffer1);
// unreachable;
}
return (0)|0;
}
function __gcry_ctx_release($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$1 = ($0|0)==(0|0);
if ($1) {
STACKTOP = sp;return;
}
$2 = (_memcmp($0,46051,3)|0);
$3 = ($2|0)==(0);
if (!($3)) {
HEAP32[$vararg_buffer>>2] = $0;
__gcry_log_fatal(46160,$vararg_buffer);
// unreachable;
}
$4 = ((($0)) + 3|0);
$5 = HEAP8[$4>>0]|0;
$cond = ($5<<24>>24)==(1);
if (!($cond)) {
$6 = $5 << 24 >> 24;
HEAP32[$vararg_buffer1>>2] = $6;
__gcry_log_fatal(46202,$vararg_buffer1);
// unreachable;
}
$7 = ((($0)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0|0);
if (!($9)) {
$10 = ((($0)) + 8|0);
FUNCTION_TABLE_vi[$8 & 127]($10);
}
__gcry_free($0);
STACKTOP = sp;return;
}
function __gcry_cipher_algo_name($0) {
$0 = $0|0;
var $$ph = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[9497]|0;
$2 = ($1|0)==($0|0);
if ($2) {
$$ph = 37988;
} else {
$3 = HEAP32[9833]|0;
$4 = ($3|0)==($0|0);
if ($4) {
$$ph = 39332;
} else {
$5 = HEAP32[9852]|0;
$6 = ($5|0)==($0|0);
if ($6) {
$$ph = 39408;
} else {
$7 = HEAP32[9984]|0;
$8 = ($7|0)==($0|0);
if ($8) {
$$ph = 39936;
} else {
$9 = HEAP32[10000]|0;
$10 = ($9|0)==($0|0);
if ($10) {
$$ph = 40000;
} else {
$13 = 59741;
return ($13|0);
}
}
}
}
}
$11 = ((($$ph)) + 8|0);
$12 = HEAP32[$11>>2]|0;
$13 = $12;
return ($13|0);
}
function __gcry_cipher_open($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$07 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$4 = sp;
HEAP32[$4>>2] = 0;
$5 = ($2|0)>(65535);
if ($5) {
$$07 = 71;$9 = 0;
} else {
$6 = (__gcry_cipher_open_internal($4,$1,$2,$3)|0);
$7 = ($6|0)==(0);
$8 = HEAP32[$4>>2]|0;
$spec$select8 = $7 ? $8 : 0;
$$07 = $6;$9 = $spec$select8;
}
HEAP32[$0>>2] = $9;
STACKTOP = sp;return ($$07|0);
}
function __gcry_cipher_open_internal($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$074$in = 0, $$1 = 0, $$3 = 0, $$5 = 0, $$mux = 0, $$not = 0, $$ph = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $cond = 0, $or$cond = 0, $or$cond94 = 0, $spec$select = 0, $spec$select$i$i$i = 0, $switch$split12D = 0, $switch$split2D = 0, $switch$split42D = 0, $switch$split72D = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = $3 & 1;
__gcry_fast_random_poll();
$5 = HEAP32[9497]|0;
$6 = ($5|0)==($1|0);
if ($6) {
$$ph = 37988;
label = 6;
} else {
$7 = HEAP32[9833]|0;
$8 = ($7|0)==($1|0);
if ($8) {
$$ph = 39332;
label = 6;
} else {
$9 = HEAP32[9852]|0;
$10 = ($9|0)==($1|0);
if ($10) {
$$ph = 39408;
label = 6;
} else {
$11 = HEAP32[9984]|0;
$12 = ($11|0)==($1|0);
if ($12) {
$$ph = 39936;
label = 6;
} else {
$13 = HEAP32[10000]|0;
$14 = ($13|0)==($1|0);
if ($14) {
$$ph = 40000;
label = 6;
} else {
$$3 = 0;$$5 = 12;
}
}
}
}
}
L6: do {
if ((label|0) == 6) {
$15 = ((($$ph)) + 4|0);
$16 = HEAP8[$15>>0]|0;
$17 = $16 & 1;
$18 = ($17<<24>>24)!=(0);
$19 = ($3>>>0)>(15);
$or$cond = $19 | $18;
if ($or$cond) {
$$3 = 0;$$5 = 12;
} else {
$switch$split2D = ($2|0)<(6);
L9: do {
if ($switch$split2D) {
switch ($2|0) {
case 5: case 2: case 3: case 1: {
label = 10;
break L9;
break;
}
case 4: {
$54 = ((($$ph)) + 44|0);
$55 = HEAP32[$54>>2]|0;
$56 = ($55|0)==(0|0);
if ($56) {
$$3 = 0;$$5 = 71;
break L6;
}
$57 = ((($$ph)) + 48|0);
$58 = HEAP32[$57>>2]|0;
$59 = ($58|0)==(0|0);
if ($59) {
$$3 = 0;$$5 = 71;
break L6;
} else {
break L9;
}
break;
}
case 0: {
$60 = (__gcry_fips_mode()|0);
$61 = ($60|0)==(0);
if (!($61)) {
$$3 = 0;$$5 = 71;
break L6;
}
$62 = (__gcry_get_debug_flag(0)|0);
$63 = ($62|0)==(0);
if ($63) {
$$3 = 0;$$5 = 71;
break L6;
} else {
break L9;
}
break;
}
default: {
$$3 = 0;$$5 = 71;
break L6;
}
}
} else {
$switch$split12D = ($2|0)<(9);
if ($switch$split12D) {
switch ($2|0) {
case 7: case 6: {
label = 10;
break L9;
break;
}
case 8: {
break;
}
default: {
$$3 = 0;$$5 = 71;
break L6;
}
}
$20 = ((($$ph)) + 20|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($21|0)==(16);
$23 = ((($$ph)) + 36|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($24|0)==(0|0);
if ($25) {
$$3 = 0;$$5 = 71;
break L6;
}
$spec$select = $22 ? 0 : 71;
$26 = ((($$ph)) + 40|0);
$27 = HEAP32[$26>>2]|0;
$28 = ($27|0)==(0|0);
$$not = $22 ^ 1;
$brmerge = $28 | $$not;
$$mux = $28 ? 71 : $spec$select;
if ($brmerge) {
$$3 = 0;$$5 = $$mux;
break L6;
} else {
break;
}
}
$switch$split42D = ($2|0)<(11);
if ($switch$split42D) {
switch ($2|0) {
case 9: {
label = 10;
break L9;
break;
}
case 10: {
break;
}
default: {
$$3 = 0;$$5 = 71;
break L6;
}
}
$35 = ((($$ph)) + 44|0);
$36 = HEAP32[$35>>2]|0;
$37 = ($36|0)==(0|0);
if ($37) {
$$3 = 0;$$5 = 71;
break L6;
}
$38 = ((($$ph)) + 48|0);
$39 = HEAP32[$38>>2]|0;
$40 = ($39|0)==(0|0);
if ($40) {
$$3 = 0;$$5 = 71;
break L6;
}
$41 = ((($$ph)) + 60|0);
$42 = HEAP32[$41>>2]|0;
$43 = ($42|0)!=(0|0);
$44 = ($1|0)==(316);
$or$cond94 = $43 & $44;
if ($or$cond94) {
break;
} else {
$$3 = 0;$$5 = 71;
break L6;
}
}
$switch$split72D = ($2|0)<(65537);
if (!($switch$split72D)) {
switch ($2|0) {
case 65537: {
label = 10;
break L9;
break;
}
default: {
$$3 = 0;$$5 = 71;
break L6;
}
}
}
switch ($2|0) {
case 11: {
break;
}
default: {
$$3 = 0;$$5 = 71;
break L6;
}
}
$45 = ((($$ph)) + 36|0);
$46 = HEAP32[$45>>2]|0;
$47 = ($46|0)==(0|0);
if ($47) {
$$3 = 0;$$5 = 71;
break L6;
}
$48 = ((($$ph)) + 40|0);
$49 = HEAP32[$48>>2]|0;
$50 = ($49|0)==(0|0);
if ($50) {
$$3 = 0;$$5 = 71;
break L6;
}
$51 = ((($$ph)) + 20|0);
$52 = HEAP32[$51>>2]|0;
$53 = ($52|0)==(16);
if (!($53)) {
$$3 = 0;$$5 = 71;
break L6;
}
}
} while(0);
if ((label|0) == 10) {
$29 = ((($$ph)) + 36|0);
$30 = HEAP32[$29>>2]|0;
$31 = ($30|0)==(0|0);
if ($31) {
$$3 = 0;$$5 = 71;
break;
}
$32 = ((($$ph)) + 40|0);
$33 = HEAP32[$32>>2]|0;
$34 = ($33|0)==(0|0);
if ($34) {
$$3 = 0;$$5 = 71;
break;
}
}
$64 = ((($$ph)) + 28|0);
$65 = HEAP32[$64>>2]|0;
$66 = $65 << 1;
$67 = (($66) + 511)|0;
$68 = ($4|0)!=(0);
if ($68) {
$69 = (__gcry_calloc_secure(1,$67)|0);
$$074$in = $69;
} else {
$70 = (__gcry_calloc(1,$67)|0);
$$074$in = $70;
}
$71 = ($$074$in|0)==(0|0);
if ($71) {
$72 = (_gpg_err_code_from_syserror()|0);
$$3 = $$074$in;$$5 = $72;
break;
}
$73 = $$074$in;
$74 = $73 & 15;
$75 = ($74|0)==(0);
$76 = (16 - ($74))|0;
$77 = (($$074$in) + ($76)|0);
$$1 = $75 ? $$074$in : $77;
$$0 = $75 ? 0 : $76;
$78 = $68 ? 1183944770 : 604576100;
HEAP32[$$1>>2] = $78;
$79 = (($67) - ($$0))|0;
$80 = ((($$1)) + 4|0);
HEAP32[$80>>2] = $79;
$81 = ((($$1)) + 8|0);
HEAP32[$81>>2] = $$0;
$82 = ((($$1)) + 12|0);
HEAP32[$82>>2] = $$ph;
$83 = ((($$1)) + 16|0);
HEAP32[$83>>2] = $1;
$84 = ((($$1)) + 48|0);
HEAP32[$84>>2] = $2;
$85 = ((($$1)) + 52|0);
HEAP32[$85>>2] = $3;
switch ($1|0) {
case 9: case 8: case 7: {
$86 = ((($$1)) + 20|0);
HEAP32[$86>>2] = 61;
$87 = ((($$1)) + 24|0);
HEAP32[$87>>2] = 62;
$88 = ((($$1)) + 28|0);
HEAP32[$88>>2] = 63;
$89 = ((($$1)) + 32|0);
HEAP32[$89>>2] = 64;
$90 = ((($$1)) + 36|0);
HEAP32[$90>>2] = 65;
$91 = ((($$1)) + 40|0);
HEAP32[$91>>2] = 66;
$92 = ((($$1)) + 44|0);
HEAP32[$92>>2] = 67;
break;
}
case 303: case 10: {
$93 = ((($$1)) + 32|0);
HEAP32[$93>>2] = 68;
$94 = ((($$1)) + 24|0);
HEAP32[$94>>2] = 69;
$95 = ((($$1)) + 36|0);
HEAP32[$95>>2] = 70;
break;
}
default: {
}
}
$cond = ($2|0)==(11);
if ($cond) {
$96 = ((($$1)) + 480|0);
HEAP8[$96>>0] = 16;
$$3 = $$1;$$5 = 0;
} else {
$$3 = $$1;$$5 = 0;
}
}
}
} while(0);
$97 = ($$5|0)==(0);
$98 = $97 ? $$3 : 0;
HEAP32[$0>>2] = $98;
$99 = $$5 & 65535;
$100 = $99 | 536870912;
$spec$select$i$i$i = $97 ? 0 : $100;
return ($spec$select$i$i$i|0);
}
function __gcry_cipher_close($0) {
$0 = $0|0;
var $$038$lcssa = 0, $$03847 = 0, $$039$lcssa = 0, $$03946 = 0, $$1 = 0, $$140 = 0, $$2 = 0, $$241 = 0, $$34244 = 0, $$345 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $switch$split2D = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = HEAP32[$0>>2]|0;
$switch$split2D = ($2|0)<(1183944770);
L4: do {
if ($switch$split2D) {
switch ($2|0) {
case 604576100: {
break L4;
break;
}
default: {
}
}
__gcry_fatal_error(63,46251);
// unreachable;
} else {
switch ($2|0) {
case 1183944770: {
break L4;
break;
}
default: {
}
}
__gcry_fatal_error(63,46251);
// unreachable;
}
} while(0);
HEAP32[$0>>2] = 0;
$3 = ((($0)) + 8|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($0)) + 4|0);
$6 = HEAP32[$5>>2]|0;
$7 = $0;
$8 = $7 & 7;
$9 = ($8|0)!=(0);
$10 = ($6|0)!=(0);
$11 = $10 & $9;
if ($11) {
$$03847 = $0;$$03946 = $6;
while(1) {
HEAP8[$$03847>>0] = 0;
$12 = ((($$03847)) + 1|0);
$13 = (($$03946) + -1)|0;
$14 = $12;
$15 = $14 & 7;
$16 = ($15|0)!=(0);
$17 = ($13|0)!=(0);
$18 = $17 & $16;
if ($18) {
$$03847 = $12;$$03946 = $13;
} else {
$$038$lcssa = $12;$$039$lcssa = $13;
break;
}
}
} else {
$$038$lcssa = $0;$$039$lcssa = $6;
}
$19 = ($$039$lcssa>>>0)<(8);
if ($19) {
$$2 = $$038$lcssa;$$241 = $$039$lcssa;
} else {
$20 = (($$039$lcssa) + -8)|0;
$21 = $20 & -8;
$22 = (($21) + 8)|0;
$$1 = $$038$lcssa;$$140 = $$039$lcssa;
while(1) {
$23 = $$1;
$24 = $23;
HEAP32[$24>>2] = 0;
$25 = (($23) + 4)|0;
$26 = $25;
HEAP32[$26>>2] = 0;
$27 = (($$140) + -8)|0;
$28 = ((($$1)) + 8|0);
$29 = ($27>>>0)>(7);
if ($29) {
$$1 = $28;$$140 = $27;
} else {
break;
}
}
$30 = (($20) - ($21))|0;
$scevgep = (($$038$lcssa) + ($22)|0);
$$2 = $scevgep;$$241 = $30;
}
$31 = ($$241|0)==(0);
if (!($31)) {
$$34244 = $$241;$$345 = $$2;
while(1) {
HEAP8[$$345>>0] = 0;
$32 = ((($$345)) + 1|0);
$33 = (($$34244) + -1)|0;
$34 = ($33|0)==(0);
if ($34) {
break;
} else {
$$34244 = $33;$$345 = $32;
}
}
}
$35 = (0 - ($4))|0;
$36 = (($0) + ($35)|0);
__gcry_free($36);
return;
}
function __gcry_cipher_encrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0$i = 0, $$0$i17 = 0, $$03340$i$i$i = 0, $$03439$i$i$i = 0, $$03538$i$i$i = 0, $$03637$i$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $spec$select = 0, $spec$select15 = 0, $switch$split12D = 0, $switch$split2D = 0, $switch$split42D = 0, $switch$split72D = 0, $vararg_buffer = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$5 = ($3|0)==(0|0);
$spec$select = $5 ? $2 : $4;
$spec$select15 = $5 ? $1 : $3;
$6 = ((($0)) + 48|0);
$7 = HEAP32[$6>>2]|0;
$switch$split2D = ($7|0)<(6);
L1: do {
if ($switch$split2D) {
switch ($7|0) {
case 1: {
$8 = ((($0)) + 12|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($9)) + 36|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($9)) + 20|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($spec$select>>>0)>($2>>>0);
if ($14) {
$$0$i = 200;
break L1;
}
$15 = (($spec$select>>>0) / ($13>>>0))&-1;
$16 = Math_imul($15, $13)|0;
$17 = (($spec$select) - ($16))|0;
$18 = ($17|0)==(0);
if (!($18)) {
$$0$i = 139;
break L1;
}
$19 = ($13>>>0)>($spec$select>>>0);
if ($19) {
$$0$i17 = 0;
STACKTOP = sp;return ($$0$i17|0);
}
$20 = ((($0)) + 496|0);
$$03340$i$i$i = 0;$$03439$i$i$i = $1;$$03538$i$i$i = 0;$$03637$i$i$i = $spec$select15;
while(1) {
$21 = (FUNCTION_TABLE_iiii[$11 & 127]($20,$$03439$i$i$i,$$03637$i$i$i)|0);
$22 = ($21>>>0)>($$03340$i$i$i>>>0);
$23 = $22 ? $21 : $$03340$i$i$i;
$24 = (($$03637$i$i$i) + ($13)|0);
$25 = (($$03439$i$i$i) + ($13)|0);
$26 = (($$03538$i$i$i) + 1)|0;
$27 = ($26>>>0)<($15>>>0);
if ($27) {
$$03340$i$i$i = $23;$$03439$i$i$i = $25;$$03538$i$i$i = $26;$$03637$i$i$i = $24;
} else {
break;
}
}
$28 = ($23|0)==(0);
if ($28) {
$$0$i17 = 0;
STACKTOP = sp;return ($$0$i17|0);
}
$29 = (($23) + 16)|0;
___gcry_burn_stack($29);
$$0$i17 = 0;
STACKTOP = sp;return ($$0$i17|0);
break;
}
case 3: {
$30 = (__gcry_cipher_cbc_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
$$0$i = $30;
break L1;
break;
}
case 2: {
$31 = (__gcry_cipher_cfb_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
$$0$i = $31;
break L1;
break;
}
case 5: {
$32 = (__gcry_cipher_ofb_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
$$0$i = $32;
break L1;
break;
}
case 4: {
$39 = ((($0)) + 12|0);
$40 = HEAP32[$39>>2]|0;
$41 = ((($40)) + 44|0);
$42 = HEAP32[$41>>2]|0;
$43 = ((($0)) + 496|0);
FUNCTION_TABLE_viiii[$42 & 63]($43,$1,$spec$select15,$spec$select);
$$0$i17 = 0;
STACKTOP = sp;return ($$0$i17|0);
break;
}
case 0: {
$44 = (__gcry_fips_mode()|0);
$45 = ($44|0)==(0);
if ($45) {
$46 = (__gcry_get_debug_flag(0)|0);
$47 = ($46|0)==(0);
if (!($47)) {
$48 = ($spec$select15|0)==($1|0);
if ($48) {
$$0$i17 = 0;
STACKTOP = sp;return ($$0$i17|0);
}
_memmove(($1|0),($spec$select15|0),($spec$select|0))|0;
$$0$i17 = 0;
STACKTOP = sp;return ($$0$i17|0);
}
}
__gcry_fips_signal_error(46300,875,46309,0,46324);
$$0$i = 71;
break L1;
break;
}
default: {
HEAP32[$vararg_buffer>>2] = $7;
__gcry_log_fatal(46346,$vararg_buffer);
// unreachable;
}
}
} else {
$switch$split12D = ($7|0)<(9);
if ($switch$split12D) {
switch ($7|0) {
case 6: {
$33 = (__gcry_cipher_ctr_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
$$0$i = $33;
break L1;
break;
}
case 7: {
$34 = (__gcry_cipher_aeswrap_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
$$0$i = $34;
break L1;
break;
}
case 8: {
$35 = (__gcry_cipher_ccm_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
$$0$i = $35;
break L1;
break;
}
default: {
HEAP32[$vararg_buffer>>2] = $7;
__gcry_log_fatal(46346,$vararg_buffer);
// unreachable;
}
}
}
$switch$split42D = ($7|0)<(11);
if ($switch$split42D) {
switch ($7|0) {
case 9: {
$36 = (__gcry_cipher_gcm_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
$$0$i = $36;
break L1;
break;
}
case 10: {
$37 = (__gcry_cipher_poly1305_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
$$0$i = $37;
break L1;
break;
}
default: {
HEAP32[$vararg_buffer>>2] = $7;
__gcry_log_fatal(46346,$vararg_buffer);
// unreachable;
}
}
}
$switch$split72D = ($7|0)<(65537);
if (!($switch$split72D)) {
switch ($7|0) {
case 65537: {
$$0$i = 71;
break L1;
break;
}
default: {
}
}
HEAP32[$vararg_buffer>>2] = $7;
__gcry_log_fatal(46346,$vararg_buffer);
// unreachable;
}
switch ($7|0) {
case 11: {
$38 = (__gcry_cipher_ocb_encrypt($0,$1,$2,$spec$select15,$spec$select)|0);
$$0$i = $38;
break L1;
break;
}
default: {
HEAP32[$vararg_buffer>>2] = $7;
__gcry_log_fatal(46346,$vararg_buffer);
// unreachable;
}
}
}
} while(0);
$49 = ($$0$i|0)!=(0);
$50 = ($1|0)!=(0|0);
$or$cond = $50 & $49;
if (!($or$cond)) {
$$0$i17 = $$0$i;
STACKTOP = sp;return ($$0$i17|0);
}
_memset(($1|0),66,($2|0))|0;
$$0$i17 = $$0$i;
STACKTOP = sp;return ($$0$i17|0);
}
function __gcry_cipher_decrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0$i = 0, $$03340$i$i$i = 0, $$03439$i$i$i = 0, $$03538$i$i$i = 0, $$03637$i$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $spec$select8 = 0, $switch$split12D = 0, $switch$split2D = 0, $switch$split42D = 0, $switch$split72D = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$5 = ($3|0)==(0|0);
$spec$select = $5 ? $1 : $3;
$spec$select8 = $5 ? $2 : $4;
$6 = ((($0)) + 48|0);
$7 = HEAP32[$6>>2]|0;
$switch$split2D = ($7|0)<(6);
L1: do {
if ($switch$split2D) {
switch ($7|0) {
case 1: {
$8 = ((($0)) + 12|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($9)) + 40|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($9)) + 20|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($spec$select8>>>0)>($2>>>0);
if ($14) {
$$0$i = 200;
break L1;
}
$15 = (($spec$select8>>>0) / ($13>>>0))&-1;
$16 = Math_imul($15, $13)|0;
$17 = (($spec$select8) - ($16))|0;
$18 = ($17|0)==(0);
if (!($18)) {
$$0$i = 139;
break L1;
}
$19 = ($13>>>0)>($spec$select8>>>0);
if ($19) {
$$0$i = 0;
break L1;
}
$20 = ((($0)) + 496|0);
$$03340$i$i$i = 0;$$03439$i$i$i = $1;$$03538$i$i$i = 0;$$03637$i$i$i = $spec$select;
while(1) {
$21 = (FUNCTION_TABLE_iiii[$11 & 127]($20,$$03439$i$i$i,$$03637$i$i$i)|0);
$22 = ($21>>>0)>($$03340$i$i$i>>>0);
$23 = $22 ? $21 : $$03340$i$i$i;
$24 = (($$03637$i$i$i) + ($13)|0);
$25 = (($$03439$i$i$i) + ($13)|0);
$26 = (($$03538$i$i$i) + 1)|0;
$27 = ($26>>>0)<($15>>>0);
if ($27) {
$$03340$i$i$i = $23;$$03439$i$i$i = $25;$$03538$i$i$i = $26;$$03637$i$i$i = $24;
} else {
break;
}
}
$28 = ($23|0)==(0);
if ($28) {
$$0$i = 0;
break L1;
}
$29 = (($23) + 16)|0;
___gcry_burn_stack($29);
$$0$i = 0;
break L1;
break;
}
case 3: {
$30 = (__gcry_cipher_cbc_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
$$0$i = $30;
break L1;
break;
}
case 2: {
$31 = (__gcry_cipher_cfb_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
$$0$i = $31;
break L1;
break;
}
case 5: {
$32 = (__gcry_cipher_ofb_encrypt($0,$1,$2,$spec$select,$spec$select8)|0);
$$0$i = $32;
break L1;
break;
}
case 4: {
$39 = ((($0)) + 12|0);
$40 = HEAP32[$39>>2]|0;
$41 = ((($40)) + 48|0);
$42 = HEAP32[$41>>2]|0;
$43 = ((($0)) + 496|0);
FUNCTION_TABLE_viiii[$42 & 63]($43,$1,$spec$select,$spec$select8);
$$0$i = 0;
break L1;
break;
}
case 0: {
$44 = (__gcry_fips_mode()|0);
$45 = ($44|0)==(0);
if ($45) {
$46 = (__gcry_get_debug_flag(0)|0);
$47 = ($46|0)==(0);
if (!($47)) {
$48 = ($spec$select|0)==($1|0);
if ($48) {
$$0$i = 0;
break L1;
}
_memmove(($1|0),($spec$select|0),($spec$select8|0))|0;
$$0$i = 0;
break L1;
}
}
__gcry_fips_signal_error(46300,992,46379,0,46324);
$$0$i = 71;
break L1;
break;
}
default: {
HEAP32[$vararg_buffer>>2] = $7;
__gcry_log_fatal(46394,$vararg_buffer);
// unreachable;
}
}
} else {
$switch$split12D = ($7|0)<(9);
if ($switch$split12D) {
switch ($7|0) {
case 6: {
$33 = (__gcry_cipher_ctr_encrypt($0,$1,$2,$spec$select,$spec$select8)|0);
$$0$i = $33;
break L1;
break;
}
case 7: {
$34 = (__gcry_cipher_aeswrap_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
$$0$i = $34;
break L1;
break;
}
case 8: {
$35 = (__gcry_cipher_ccm_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
$$0$i = $35;
break L1;
break;
}
default: {
HEAP32[$vararg_buffer>>2] = $7;
__gcry_log_fatal(46394,$vararg_buffer);
// unreachable;
}
}
}
$switch$split42D = ($7|0)<(11);
if ($switch$split42D) {
switch ($7|0) {
case 9: {
$36 = (__gcry_cipher_gcm_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
$$0$i = $36;
break L1;
break;
}
case 10: {
$37 = (__gcry_cipher_poly1305_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
$$0$i = $37;
break L1;
break;
}
default: {
HEAP32[$vararg_buffer>>2] = $7;
__gcry_log_fatal(46394,$vararg_buffer);
// unreachable;
}
}
}
$switch$split72D = ($7|0)<(65537);
if (!($switch$split72D)) {
switch ($7|0) {
case 65537: {
$$0$i = 71;
break L1;
break;
}
default: {
}
}
HEAP32[$vararg_buffer>>2] = $7;
__gcry_log_fatal(46394,$vararg_buffer);
// unreachable;
}
switch ($7|0) {
case 11: {
$38 = (__gcry_cipher_ocb_decrypt($0,$1,$2,$spec$select,$spec$select8)|0);
$$0$i = $38;
break L1;
break;
}
default: {
HEAP32[$vararg_buffer>>2] = $7;
__gcry_log_fatal(46394,$vararg_buffer);
// unreachable;
}
}
}
} while(0);
STACKTOP = sp;return ($$0$i|0);
}
function __gcry_cipher_setkey($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch$split12D = 0;
var $switch$split2D = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 12|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($4)) + 32|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($0)) + 496|0);
$8 = (FUNCTION_TABLE_iiii[$6 & 127]($7,$1,$2)|0);
$9 = ($8|0)==(0);
if (!($9)) {
$19 = ((($0)) + 56|0);
$20 = HEAP8[$19>>0]|0;
$21 = $20 & -2;
HEAP8[$19>>0] = $21;
return ($8|0);
}
$10 = HEAP32[$3>>2]|0;
$11 = ((($10)) + 28|0);
$12 = HEAP32[$11>>2]|0;
$13 = (($7) + ($12)|0);
_memcpy(($13|0),($7|0),($12|0))|0;
$14 = ((($0)) + 56|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15 | 1;
HEAP8[$14>>0] = $16;
$17 = ((($0)) + 48|0);
$18 = HEAP32[$17>>2]|0;
$switch$split2D = ($18|0)<(10);
if ($switch$split2D) {
switch ($18|0) {
case 9: {
break;
}
default: {
return ($8|0);
}
}
__gcry_cipher_gcm_setkey($0);
return ($8|0);
}
$switch$split12D = ($18|0)<(65537);
if ($switch$split12D) {
switch ($18|0) {
case 10: {
break;
}
default: {
return ($8|0);
}
}
__gcry_cipher_poly1305_setkey($0);
return ($8|0);
} else {
switch ($18|0) {
case 65537: {
break;
}
default: {
return ($8|0);
}
}
(__gcry_cipher_cmac_set_subkeys($0)|0);
return ($8|0);
}
return (0)|0;
}
function __gcry_cipher_setiv($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$phi$trans$insert$i = 0, $$pre$i = 0, $$pre1$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select$i = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$3 = ((($0)) + 48|0);
$4 = HEAP32[$3>>2]|0;
switch ($4|0) {
case 8: {
$5 = (__gcry_cipher_ccm_set_nonce($0,$1,$2)|0);
$$0 = $5;
STACKTOP = sp;return ($$0|0);
break;
}
case 9: {
$6 = (__gcry_cipher_gcm_setiv($0,$1,$2)|0);
$$0 = $6;
STACKTOP = sp;return ($$0|0);
break;
}
case 10: {
$7 = (__gcry_cipher_poly1305_setiv($0,$1,$2)|0);
$$0 = $7;
STACKTOP = sp;return ($$0|0);
break;
}
case 11: {
$8 = (__gcry_cipher_ocb_set_nonce($0,$1,$2)|0);
$$0 = $8;
STACKTOP = sp;return ($$0|0);
break;
}
default: {
$9 = ((($0)) + 12|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($10)) + 60|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0|0);
if (!($13)) {
$14 = ((($0)) + 496|0);
FUNCTION_TABLE_viii[$12 & 127]($14,$1,$2);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$15 = ((($0)) + 64|0);
$16 = ((($10)) + 20|0);
$17 = HEAP32[$16>>2]|0;
_memset(($15|0),0,($17|0))|0;
$18 = ($1|0)==(0|0);
if ($18) {
$26 = ((($0)) + 56|0);
$27 = HEAP8[$26>>0]|0;
$28 = $27 & -3;
HEAP8[$26>>0] = $28;
} else {
$19 = HEAP32[$16>>2]|0;
$20 = ($19|0)==($2|0);
if ($20) {
$22 = $2;
} else {
HEAP32[$vararg_buffer>>2] = $2;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $19;
__gcry_log_info(46427,$vararg_buffer);
__gcry_fips_signal_error(46300,682,46470,0,46483);
$$pre$i = HEAP32[$9>>2]|0;
$$phi$trans$insert$i = ((($$pre$i)) + 20|0);
$$pre1$i = HEAP32[$$phi$trans$insert$i>>2]|0;
$22 = $$pre1$i;
}
$21 = ($22>>>0)<($2>>>0);
$spec$select$i = $21 ? $22 : $2;
_memcpy(($15|0),($1|0),($spec$select$i|0))|0;
$23 = ((($0)) + 56|0);
$24 = HEAP8[$23>>0]|0;
$25 = $24 | 2;
HEAP8[$23>>0] = $25;
}
$29 = ((($0)) + 112|0);
HEAP32[$29>>2] = 0;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
return (0)|0;
}
function __gcry_cipher_init() {
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function __gcry_cipher_selftest($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[9497]|0;
$4 = ($3|0)==($0|0);
if ($4) {
$$ph = 37988;
label = 6;
} else {
$5 = HEAP32[9833]|0;
$6 = ($5|0)==($0|0);
if ($6) {
$$ph = 39332;
label = 6;
} else {
$7 = HEAP32[9852]|0;
$8 = ($7|0)==($0|0);
if ($8) {
$$ph = 39408;
label = 6;
} else {
$9 = HEAP32[9984]|0;
$10 = ($9|0)==($0|0);
if ($10) {
$$ph = 39936;
label = 6;
} else {
$11 = HEAP32[10000]|0;
$12 = ($11|0)==($0|0);
if ($12) {
$$ph = 40000;
label = 6;
} else {
$22 = 0;$27 = 0;
}
}
}
}
}
if ((label|0) == 6) {
$13 = ((($$ph)) + 4|0);
$14 = HEAP8[$13>>0]|0;
$15 = $14 & 1;
$16 = ($15<<24>>24)==(0);
if ($16) {
$17 = ((($$ph)) + 52|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0|0);
if ($19) {
$22 = $$ph;$27 = 1;
} else {
$29 = (FUNCTION_TABLE_iiii[$18 & 127]($0,$1,$2)|0);
$30 = ($29|0)==(0);
$31 = $29 & 65535;
$32 = $31 | 16777216;
$spec$select = $30 ? 0 : $32;
return ($spec$select|0);
}
} else {
$22 = $$ph;$27 = 1;
}
}
$20 = ($2|0)==(0|0);
if ($20) {
return 16777228;
}
if ($27) {
$21 = ((($22)) + 4|0);
$23 = HEAP8[$21>>0]|0;
$24 = $23 & 1;
$25 = ($24<<24>>24)==(0);
if ($25) {
$28 = 59812;
} else {
label = 11;
}
} else {
label = 11;
}
if ((label|0) == 11) {
$26 = $27 ? 59773 : 59792;
$28 = $26;
}
FUNCTION_TABLE_viiii[$2 & 63](59927,$0,59834,$28);
return 16777228;
}
function __gcry_ecc_fill_in_curve($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$049 = 0, $$159 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $or$cond51 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
var $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$vararg_buffer16 = sp + 48|0;
$vararg_buffer13 = sp + 40|0;
$vararg_buffer10 = sp + 32|0;
$vararg_buffer7 = sp + 24|0;
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$4 = sp + 76|0;
$5 = sp + 72|0;
$6 = sp + 68|0;
$7 = sp + 64|0;
$8 = sp + 60|0;
$9 = sp + 56|0;
$10 = sp + 52|0;
$11 = ($1|0)==(0|0);
L1: do {
if ($11) {
switch ($0|0) {
case 192: {
$$159 = 1;
break L1;
break;
}
case 224: {
$$159 = 2;
break L1;
break;
}
case 256: {
$$159 = 3;
break L1;
break;
}
case 384: {
$$159 = 4;
break L1;
break;
}
case 521: {
$$159 = 5;
break L1;
break;
}
case 160: {
$$159 = 6;
break L1;
break;
}
case 320: {
$$159 = 10;
break L1;
break;
}
case 512: {
$$159 = 12;
break L1;
break;
}
case 511: {
$$159 = 17;
break L1;
break;
}
default: {
$$049 = 188;
STACKTOP = sp;return ($$049|0);
}
}
} else {
$12 = (_find_domain_parms_idx($1)|0);
$13 = ($12|0)<(0);
if ($13) {
$$049 = 188;
STACKTOP = sp;return ($$049|0);
} else {
$$159 = $12;
}
}
} while(0);
$14 = (240 + (($$159*48)|0)|0);
$15 = HEAP32[$14>>2]|0;
$16 = (__gcry_fips_mode()|0);
$17 = ($16|0)==(0);
$18 = (($$159) + -1)|0;
$19 = ($18>>>0)<(5);
$or$cond51 = $19 | $17;
if (!($or$cond51)) {
$$049 = 60;
STACKTOP = sp;return ($$049|0);
}
$20 = (((240 + (($$159*48)|0)|0)) + 12|0);
$21 = ($3|0)==(0|0);
if (!($21)) {
$22 = (((240 + (($$159*48)|0)|0)) + 4|0);
$23 = HEAP32[$22>>2]|0;
HEAP32[$3>>2] = $23;
}
$24 = ($2|0)==(0|0);
if ($24) {
$$049 = 0;
STACKTOP = sp;return ($$049|0);
}
$25 = HEAP32[$20>>2]|0;
HEAP32[$2>>2] = $25;
$26 = (((240 + (($$159*48)|0)|0)) + 16|0);
$27 = HEAP32[$26>>2]|0;
$28 = ((($2)) + 4|0);
HEAP32[$28>>2] = $27;
$29 = ((($2)) + 8|0);
$30 = HEAP32[$29>>2]|0;
$31 = ($30|0)==(0|0);
do {
if ($31) {
$32 = (((240 + (($$159*48)|0)|0)) + 20|0);
$33 = HEAP32[$32>>2]|0;
$34 = (__gcry_mpi_scan($10,4,$33,0,0)|0);
$35 = ($34|0)==(0);
if ($35) {
$37 = HEAP32[$10>>2]|0;
HEAP32[$29>>2] = $37;
break;
} else {
$36 = (_gpg_strerror($34)|0);
HEAP32[$vararg_buffer>>2] = $36;
__gcry_log_fatal(57702,$vararg_buffer);
// unreachable;
}
}
} while(0);
$38 = ((($2)) + 12|0);
$39 = HEAP32[$38>>2]|0;
$40 = ($39|0)==(0|0);
do {
if ($40) {
$41 = (((240 + (($$159*48)|0)|0)) + 24|0);
$42 = HEAP32[$41>>2]|0;
$43 = (__gcry_mpi_scan($9,4,$42,0,0)|0);
$44 = ($43|0)==(0);
if ($44) {
$46 = HEAP32[$9>>2]|0;
HEAP32[$38>>2] = $46;
break;
} else {
$45 = (_gpg_strerror($43)|0);
HEAP32[$vararg_buffer1>>2] = $45;
__gcry_log_fatal(57702,$vararg_buffer1);
// unreachable;
}
}
} while(0);
$47 = ((($2)) + 16|0);
$48 = HEAP32[$47>>2]|0;
$49 = ($48|0)==(0|0);
do {
if ($49) {
$50 = (((240 + (($$159*48)|0)|0)) + 28|0);
$51 = HEAP32[$50>>2]|0;
$52 = (__gcry_mpi_scan($8,4,$51,0,0)|0);
$53 = ($52|0)==(0);
if ($53) {
$55 = HEAP32[$8>>2]|0;
HEAP32[$47>>2] = $55;
break;
} else {
$54 = (_gpg_strerror($52)|0);
HEAP32[$vararg_buffer4>>2] = $54;
__gcry_log_fatal(57702,$vararg_buffer4);
// unreachable;
}
}
} while(0);
$56 = ((($2)) + 32|0);
$57 = HEAP32[$56>>2]|0;
$58 = ($57|0)==(0|0);
do {
if ($58) {
$59 = (((240 + (($$159*48)|0)|0)) + 32|0);
$60 = HEAP32[$59>>2]|0;
$61 = (__gcry_mpi_scan($7,4,$60,0,0)|0);
$62 = ($61|0)==(0);
if ($62) {
$64 = HEAP32[$7>>2]|0;
HEAP32[$56>>2] = $64;
break;
} else {
$63 = (_gpg_strerror($61)|0);
HEAP32[$vararg_buffer7>>2] = $63;
__gcry_log_fatal(57702,$vararg_buffer7);
// unreachable;
}
}
} while(0);
$65 = ((($2)) + 36|0);
$66 = HEAP32[$65>>2]|0;
$67 = ($66|0)==(0|0);
do {
if ($67) {
$68 = (((240 + (($$159*48)|0)|0)) + 44|0);
$69 = HEAP32[$68>>2]|0;
$70 = (__gcry_mpi_scan($6,4,$69,0,0)|0);
$71 = ($70|0)==(0);
if ($71) {
$73 = HEAP32[$6>>2]|0;
HEAP32[$65>>2] = $73;
break;
} else {
$72 = (_gpg_strerror($70)|0);
HEAP32[$vararg_buffer10>>2] = $72;
__gcry_log_fatal(57702,$vararg_buffer10);
// unreachable;
}
}
} while(0);
$74 = ((($2)) + 20|0);
$75 = HEAP32[$74>>2]|0;
$76 = ($75|0)==(0|0);
do {
if ($76) {
$77 = (((240 + (($$159*48)|0)|0)) + 36|0);
$78 = HEAP32[$77>>2]|0;
$79 = (__gcry_mpi_scan($5,4,$78,0,0)|0);
$80 = ($79|0)==(0);
if ($80) {
$82 = HEAP32[$5>>2]|0;
HEAP32[$74>>2] = $82;
break;
} else {
$81 = (_gpg_strerror($79)|0);
HEAP32[$vararg_buffer13>>2] = $81;
__gcry_log_fatal(57702,$vararg_buffer13);
// unreachable;
}
}
} while(0);
$83 = ((($2)) + 24|0);
$84 = HEAP32[$83>>2]|0;
$85 = ($84|0)==(0|0);
do {
if ($85) {
$86 = (((240 + (($$159*48)|0)|0)) + 40|0);
$87 = HEAP32[$86>>2]|0;
$88 = (__gcry_mpi_scan($4,4,$87,0,0)|0);
$89 = ($88|0)==(0);
if ($89) {
$91 = HEAP32[$4>>2]|0;
HEAP32[$83>>2] = $91;
break;
} else {
$90 = (_gpg_strerror($88)|0);
HEAP32[$vararg_buffer16>>2] = $90;
__gcry_log_fatal(57702,$vararg_buffer16);
// unreachable;
}
}
} while(0);
$92 = ((($2)) + 28|0);
$93 = HEAP32[$92>>2]|0;
$94 = ($93|0)==(0|0);
if ($94) {
$95 = (__gcry_mpi_alloc_set_ui(1)|0);
HEAP32[$92>>2] = $95;
}
$96 = ((($2)) + 40|0);
$97 = HEAP32[$96>>2]|0;
$98 = ($97|0)==(0|0);
if (!($98)) {
$$049 = 0;
STACKTOP = sp;return ($$049|0);
}
HEAP32[$96>>2] = $15;
$$049 = 0;
STACKTOP = sp;return ($$049|0);
}
function _find_domain_parms_idx($0) {
$0 = $0|0;
var $$018 = 0, $$024 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $cond = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_strcmp($0,57883)|0);
$2 = ($1|0)==(0);
L1: do {
if ($2) {
$$018 = 0;
} else {
$3 = (_strcmp($0,46867)|0);
$4 = ($3|0)==(0);
if ($4) {
$$018 = 1;
} else {
$55 = (_strcmp($0,47189)|0);
$56 = ($55|0)==(0);
if ($56) {
$$018 = 2;
} else {
$57 = (_strcmp($0,47554)|0);
$58 = ($57|0)==(0);
if ($58) {
$$018 = 3;
} else {
$59 = (_strcmp($0,47967)|0);
$60 = ($59|0)==(0);
if ($60) {
$$018 = 4;
} else {
$61 = (_strcmp($0,48572)|0);
$62 = ($61|0)==(0);
if ($62) {
$$018 = 5;
} else {
$63 = (_strcmp($0,49391)|0);
$64 = ($63|0)==(0);
if ($64) {
$$018 = 6;
} else {
$65 = (_strcmp($0,49665)|0);
$66 = ($65|0)==(0);
if ($66) {
$$018 = 7;
} else {
$67 = (_strcmp($0,49987)|0);
$68 = ($67|0)==(0);
if ($68) {
$$018 = 8;
} else {
$69 = (_strcmp($0,50357)|0);
$70 = ($69|0)==(0);
if ($70) {
$$018 = 9;
} else {
$71 = (_strcmp($0,50775)|0);
$72 = ($71|0)==(0);
if ($72) {
$$018 = 10;
} else {
$73 = (_strcmp($0,51289)|0);
$74 = ($73|0)==(0);
if ($74) {
$$018 = 11;
} else {
$75 = (_strcmp($0,51899)|0);
$76 = ($75|0)==(0);
if ($76) {
$$018 = 12;
} else {
$77 = (_strcmp($0,52701)|0);
$78 = ($77|0)==(0);
if ($78) {
$$018 = 13;
} else {
$79 = (_strcmp($0,53117)|0);
$80 = ($79|0)==(0);
if ($80) {
$$018 = 14;
} else {
$81 = (_strcmp($0,53540)|0);
$82 = ($81|0)==(0);
if ($82) {
$$018 = 15;
} else {
$83 = (_strcmp($0,53896)|0);
$84 = ($83|0)==(0);
if ($84) {
$$018 = 16;
} else {
$85 = (_strcmp($0,54319)|0);
$86 = ($85|0)==(0);
if ($86) {
$$018 = 17;
} else {
$87 = (_strcmp($0,54988)|0);
$88 = ($87|0)==(0);
if ($88) {
$$018 = 18;
} else {
$89 = (_strcmp($0,55790)|0);
$90 = ($89|0)==(0);
if ($90) {
$$018 = 19;
break;
}
$91 = (_strcmp($0,56592)|0);
$92 = ($91|0)==(0);
if ($92) {
$$018 = 20;
break;
}
$$024 = 0;$12 = 1296;
while(1) {
$7 = (((1296 + ($$024<<3)|0)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = (_strcmp($0,$8)|0);
$10 = ($9|0)==(0);
$6 = (($$024) + 1)|0;
if ($10) {
break;
}
$5 = (1296 + ($6<<3)|0);
$cond = ($6|0)==(36);
if ($cond) {
$$018 = -1;
break L1;
} else {
$$024 = $6;$12 = $5;
}
}
$11 = HEAP32[$12>>2]|0;
$13 = (_strcmp($11,57883)|0);
$14 = ($13|0)==(0);
if ($14) {
$$018 = 0;
break;
}
$15 = (_strcmp($11,46867)|0);
$16 = ($15|0)==(0);
if ($16) {
$$018 = 1;
break;
}
$17 = (_strcmp($11,47189)|0);
$18 = ($17|0)==(0);
if ($18) {
$$018 = 2;
break;
}
$19 = (_strcmp($11,47554)|0);
$20 = ($19|0)==(0);
if ($20) {
$$018 = 3;
break;
}
$21 = (_strcmp($11,47967)|0);
$22 = ($21|0)==(0);
if ($22) {
$$018 = 4;
break;
}
$23 = (_strcmp($11,48572)|0);
$24 = ($23|0)==(0);
if ($24) {
$$018 = 5;
break;
}
$25 = (_strcmp($11,49391)|0);
$26 = ($25|0)==(0);
if ($26) {
$$018 = 6;
break;
}
$27 = (_strcmp($11,49665)|0);
$28 = ($27|0)==(0);
if ($28) {
$$018 = 7;
break;
}
$29 = (_strcmp($11,49987)|0);
$30 = ($29|0)==(0);
if ($30) {
$$018 = 8;
break;
}
$31 = (_strcmp($11,50357)|0);
$32 = ($31|0)==(0);
if ($32) {
$$018 = 9;
break;
}
$33 = (_strcmp($11,50775)|0);
$34 = ($33|0)==(0);
if ($34) {
$$018 = 10;
break;
}
$35 = (_strcmp($11,51289)|0);
$36 = ($35|0)==(0);
if ($36) {
$$018 = 11;
break;
}
$37 = (_strcmp($11,51899)|0);
$38 = ($37|0)==(0);
if ($38) {
$$018 = 12;
break;
}
$39 = (_strcmp($11,52701)|0);
$40 = ($39|0)==(0);
if ($40) {
$$018 = 13;
break;
}
$41 = (_strcmp($11,53117)|0);
$42 = ($41|0)==(0);
if ($42) {
$$018 = 14;
break;
}
$43 = (_strcmp($11,53540)|0);
$44 = ($43|0)==(0);
if ($44) {
$$018 = 15;
break;
}
$45 = (_strcmp($11,53896)|0);
$46 = ($45|0)==(0);
if ($46) {
$$018 = 16;
break;
}
$47 = (_strcmp($11,54319)|0);
$48 = ($47|0)==(0);
if ($48) {
$$018 = 17;
break;
}
$49 = (_strcmp($11,54988)|0);
$50 = ($49|0)==(0);
if ($50) {
$$018 = 18;
break;
}
$51 = (_strcmp($11,55790)|0);
$52 = ($51|0)==(0);
if ($52) {
$$018 = 19;
break;
}
$53 = (_strcmp($11,56592)|0);
$54 = ($53|0)==(0);
$spec$select = $54 ? 20 : -1;
return ($spec$select|0);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
} while(0);
return ($$018|0);
}
function __gcry_ecc_update_curve_param($0,$1,$2,$3,$4,$5,$6,$7,$8) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
$8 = $8|0;
var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0;
var $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$vararg_buffer13 = sp + 40|0;
$vararg_buffer10 = sp + 32|0;
$vararg_buffer7 = sp + 24|0;
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$9 = sp + 64|0;
$10 = sp + 60|0;
$11 = sp + 56|0;
$12 = sp + 52|0;
$13 = sp + 48|0;
$14 = sp + 44|0;
$15 = (_find_domain_parms_idx($0)|0);
$16 = ($15|0)<(0);
if ($16) {
$$1 = 188;
STACKTOP = sp;return ($$1|0);
}
$17 = ($6|0)==(0|0);
do {
if (!($17)) {
$18 = (((240 + (($15*48)|0)|0)) + 36|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($19)) + 2|0);
$21 = (_strlen($20)|0);
$22 = (((240 + (($15*48)|0)|0)) + 40|0);
$23 = HEAP32[$22>>2]|0;
$24 = ((($23)) + 2|0);
$25 = (_strlen($24)|0);
$26 = (($21) + 5)|0;
$27 = (($26) + ($25))|0;
$28 = (__gcry_malloc($27)|0);
$29 = ($28|0)==(0|0);
if ($29) {
$37 = (_gpg_err_code_from_syserror()|0);
$$1 = $37;
STACKTOP = sp;return ($$1|0);
}
$30 = ((($28)) + 4|0);
;HEAP8[$28>>0]=HEAP8[57441>>0]|0;HEAP8[$28+1>>0]=HEAP8[57441+1>>0]|0;HEAP8[$28+2>>0]=HEAP8[57441+2>>0]|0;HEAP8[$28+3>>0]=HEAP8[57441+3>>0]|0;HEAP8[$28+4>>0]=HEAP8[57441+4>>0]|0;
$31 = (___stpcpy($30,$20)|0);
(_strcpy($31,$24)|0);
$32 = HEAP32[$6>>2]|0;
__gcry_mpi_release($32);
$33 = (__gcry_mpi_scan($14,4,$28,0,0)|0);
$34 = ($33|0)==(0);
if ($34) {
$36 = HEAP32[$14>>2]|0;
HEAP32[$6>>2] = $36;
__gcry_free($28);
break;
} else {
$35 = (_gpg_strerror($33)|0);
HEAP32[$vararg_buffer>>2] = $35;
__gcry_log_fatal(57702,$vararg_buffer);
// unreachable;
}
}
} while(0);
$38 = ($1|0)==(0|0);
if (!($38)) {
$39 = (((240 + (($15*48)|0)|0)) + 12|0);
$40 = HEAP32[$39>>2]|0;
HEAP32[$1>>2] = $40;
}
$41 = ($2|0)==(0|0);
if (!($41)) {
$42 = (((240 + (($15*48)|0)|0)) + 16|0);
$43 = HEAP32[$42>>2]|0;
HEAP32[$2>>2] = $43;
}
$44 = ($3|0)==(0|0);
do {
if (!($44)) {
$45 = HEAP32[$3>>2]|0;
__gcry_mpi_release($45);
$46 = (((240 + (($15*48)|0)|0)) + 20|0);
$47 = HEAP32[$46>>2]|0;
$48 = (__gcry_mpi_scan($13,4,$47,0,0)|0);
$49 = ($48|0)==(0);
if ($49) {
$51 = HEAP32[$13>>2]|0;
HEAP32[$3>>2] = $51;
break;
} else {
$50 = (_gpg_strerror($48)|0);
HEAP32[$vararg_buffer1>>2] = $50;
__gcry_log_fatal(57702,$vararg_buffer1);
// unreachable;
}
}
} while(0);
$52 = ($4|0)==(0|0);
do {
if (!($52)) {
$53 = HEAP32[$4>>2]|0;
__gcry_mpi_release($53);
$54 = (((240 + (($15*48)|0)|0)) + 24|0);
$55 = HEAP32[$54>>2]|0;
$56 = (__gcry_mpi_scan($12,4,$55,0,0)|0);
$57 = ($56|0)==(0);
if ($57) {
$59 = HEAP32[$12>>2]|0;
HEAP32[$4>>2] = $59;
break;
} else {
$58 = (_gpg_strerror($56)|0);
HEAP32[$vararg_buffer4>>2] = $58;
__gcry_log_fatal(57702,$vararg_buffer4);
// unreachable;
}
}
} while(0);
$60 = ($5|0)==(0|0);
do {
if (!($60)) {
$61 = HEAP32[$5>>2]|0;
__gcry_mpi_release($61);
$62 = (((240 + (($15*48)|0)|0)) + 28|0);
$63 = HEAP32[$62>>2]|0;
$64 = (__gcry_mpi_scan($11,4,$63,0,0)|0);
$65 = ($64|0)==(0);
if ($65) {
$67 = HEAP32[$11>>2]|0;
HEAP32[$5>>2] = $67;
break;
} else {
$66 = (_gpg_strerror($64)|0);
HEAP32[$vararg_buffer7>>2] = $66;
__gcry_log_fatal(57702,$vararg_buffer7);
// unreachable;
}
}
} while(0);
$68 = ($7|0)==(0|0);
do {
if (!($68)) {
$69 = HEAP32[$7>>2]|0;
__gcry_mpi_release($69);
$70 = (((240 + (($15*48)|0)|0)) + 32|0);
$71 = HEAP32[$70>>2]|0;
$72 = (__gcry_mpi_scan($10,4,$71,0,0)|0);
$73 = ($72|0)==(0);
if ($73) {
$75 = HEAP32[$10>>2]|0;
HEAP32[$7>>2] = $75;
break;
} else {
$74 = (_gpg_strerror($72)|0);
HEAP32[$vararg_buffer10>>2] = $74;
__gcry_log_fatal(57702,$vararg_buffer10);
// unreachable;
}
}
} while(0);
$76 = ($8|0)==(0|0);
if ($76) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$77 = HEAP32[$8>>2]|0;
__gcry_mpi_release($77);
$78 = (((240 + (($15*48)|0)|0)) + 44|0);
$79 = HEAP32[$78>>2]|0;
$80 = (__gcry_mpi_scan($9,4,$79,0,0)|0);
$81 = ($80|0)==(0);
if (!($81)) {
$82 = (_gpg_strerror($80)|0);
HEAP32[$vararg_buffer13>>2] = $82;
__gcry_log_fatal(57702,$vararg_buffer13);
// unreachable;
}
$83 = HEAP32[$9>>2]|0;
HEAP32[$8>>2] = $83;
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
function __gcry_ecc_get_curve($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$072143 = 0, $$073142 = 0, $$1 = 0, $$174 = 0, $$275 = 0, $$3 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
var $97 = 0, $98 = 0, $99 = 0, $trunc = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer25 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, dest = 0, label = 0;
var sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
$vararg_buffer25 = sp + 80|0;
$vararg_buffer22 = sp + 72|0;
$vararg_buffer19 = sp + 64|0;
$vararg_buffer16 = sp + 56|0;
$vararg_buffer13 = sp + 48|0;
$vararg_buffer10 = sp + 40|0;
$vararg_buffer7 = sp + 32|0;
$vararg_buffer = sp;
$3 = sp + 156|0;
$4 = sp + 152|0;
$5 = sp + 148|0;
$6 = sp + 144|0;
$7 = sp + 140|0;
$8 = sp + 136|0;
$9 = sp + 132|0;
$10 = sp + 88|0;
$11 = sp + 84|0;
HEAP32[$11>>2] = 0;
dest=$10; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$12 = ($2|0)!=(0|0);
if ($12) {
HEAP32[$2>>2] = 0;
}
$13 = ($0|0)==(0|0);
if ($13) {
$14 = ($1>>>0)<(22);
if (!($14)) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$15 = (240 + (($1*48)|0)|0);
$16 = HEAP32[$15>>2]|0;
if (!($12)) {
$$1 = $16;
STACKTOP = sp;return ($$1|0);
}
$17 = (((240 + (($1*48)|0)|0)) + 4|0);
$18 = HEAP32[$17>>2]|0;
HEAP32[$2>>2] = $18;
$$1 = $16;
STACKTOP = sp;return ($$1|0);
}
$19 = ((($10)) + 8|0);
$20 = ((($10)) + 12|0);
$21 = ((($10)) + 16|0);
$22 = ((($10)) + 32|0);
$23 = ((($10)) + 36|0);
HEAP32[$vararg_buffer>>2] = $19;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $20;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $21;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $11;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $22;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = $23;
$vararg_ptr6 = ((($vararg_buffer)) + 24|0);
HEAP32[$vararg_ptr6>>2] = 0;
$24 = (__gcry_sexp_extract_param($0,0,57446,$vararg_buffer)|0);
$trunc = $24&65535;
L14: do {
switch ($trunc<<16>>16) {
case 68: {
$25 = (__gcry_sexp_find_token($0,64745,5)|0);
$26 = ($25|0)==(0|0);
if ($26) {
$$275 = 0;$$3 = 0;
} else {
$27 = (__gcry_sexp_nth_string($25,1)|0);
__gcry_sexp_release($25);
$28 = ($27|0)==(0|0);
if ($28) {
$$275 = 0;$$3 = 0;
} else {
$29 = (_find_domain_parms_idx($27)|0);
__gcry_free($27);
$30 = ($29|0)>(-1);
if (!($30)) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$31 = (240 + (($29*48)|0)|0);
$32 = HEAP32[$31>>2]|0;
if (!($12)) {
$$1 = $32;
STACKTOP = sp;return ($$1|0);
}
$33 = (((240 + (($29*48)|0)|0)) + 4|0);
$34 = HEAP32[$33>>2]|0;
HEAP32[$2>>2] = $34;
$$1 = $32;
STACKTOP = sp;return ($$1|0);
}
}
break;
}
case 0: {
$35 = HEAP32[$11>>2]|0;
$36 = ($35|0)==(0|0);
if (!($36)) {
$37 = ((($10)) + 20|0);
__gcry_mpi_point_init($37);
$38 = HEAP32[$11>>2]|0;
$39 = (__gcry_ecc_os2ec($37,$38)|0);
$40 = ($39|0)==(0);
if (!($40)) {
$$275 = 0;$$3 = 0;
break L14;
}
}
$41 = ((($10)) + 20|0);
$42 = ((($10)) + 24|0);
$$072143 = 0;$$073142 = 0;$107 = 240;
while(1) {
__gcry_mpi_free($$073142);
$43 = (((240 + (($$072143*48)|0)|0)) + 20|0);
$44 = HEAP32[$43>>2]|0;
$45 = (__gcry_mpi_scan($8,4,$44,0,0)|0);
$46 = ($45|0)==(0);
if (!($46)) {
label = 17;
break;
}
$48 = HEAP32[$8>>2]|0;
$49 = HEAP32[$19>>2]|0;
$50 = (__gcry_mpi_cmp($48,$49)|0);
$51 = ($50|0)==(0);
if ($51) {
__gcry_mpi_free($48);
$52 = (((240 + (($$072143*48)|0)|0)) + 24|0);
$53 = HEAP32[$52>>2]|0;
$54 = (__gcry_mpi_scan($7,4,$53,0,0)|0);
$55 = ($54|0)==(0);
if (!($55)) {
label = 20;
break;
}
$57 = HEAP32[$7>>2]|0;
$58 = HEAP32[$20>>2]|0;
$59 = (__gcry_mpi_cmp($57,$58)|0);
$60 = ($59|0)==(0);
if ($60) {
__gcry_mpi_free($57);
$61 = (((240 + (($$072143*48)|0)|0)) + 28|0);
$62 = HEAP32[$61>>2]|0;
$63 = (__gcry_mpi_scan($6,4,$62,0,0)|0);
$64 = ($63|0)==(0);
if (!($64)) {
label = 23;
break;
}
$66 = HEAP32[$6>>2]|0;
$67 = HEAP32[$21>>2]|0;
$68 = (__gcry_mpi_cmp($66,$67)|0);
$69 = ($68|0)==(0);
if ($69) {
__gcry_mpi_free($66);
$70 = (((240 + (($$072143*48)|0)|0)) + 32|0);
$71 = HEAP32[$70>>2]|0;
$72 = (__gcry_mpi_scan($5,4,$71,0,0)|0);
$73 = ($72|0)==(0);
if (!($73)) {
label = 26;
break;
}
$75 = HEAP32[$5>>2]|0;
$76 = HEAP32[$22>>2]|0;
$77 = (__gcry_mpi_cmp($75,$76)|0);
$78 = ($77|0)==(0);
if ($78) {
__gcry_mpi_free($75);
$79 = (((240 + (($$072143*48)|0)|0)) + 44|0);
$80 = HEAP32[$79>>2]|0;
$81 = (__gcry_mpi_scan($4,4,$80,0,0)|0);
$82 = ($81|0)==(0);
if (!($82)) {
label = 29;
break;
}
$84 = HEAP32[$4>>2]|0;
$85 = HEAP32[$23>>2]|0;
$86 = (__gcry_mpi_cmp($84,$85)|0);
$87 = ($86|0)==(0);
if ($87) {
__gcry_mpi_free($84);
$88 = (((240 + (($$072143*48)|0)|0)) + 36|0);
$89 = HEAP32[$88>>2]|0;
$90 = (__gcry_mpi_scan($3,4,$89,0,0)|0);
$91 = ($90|0)==(0);
if (!($91)) {
label = 32;
break;
}
$93 = HEAP32[$3>>2]|0;
$94 = HEAP32[$41>>2]|0;
$95 = (__gcry_mpi_cmp($93,$94)|0);
$96 = ($95|0)==(0);
if ($96) {
__gcry_mpi_free($93);
$97 = (((240 + (($$072143*48)|0)|0)) + 40|0);
$98 = HEAP32[$97>>2]|0;
$99 = (__gcry_mpi_scan($9,4,$98,0,0)|0);
$100 = ($99|0)==(0);
if (!($100)) {
label = 35;
break;
}
$102 = HEAP32[$9>>2]|0;
$103 = HEAP32[$42>>2]|0;
$104 = (__gcry_mpi_cmp($102,$103)|0);
$105 = ($104|0)==(0);
if ($105) {
label = 37;
break;
} else {
$$174 = $102;
}
} else {
$$174 = $93;
}
} else {
$$174 = $84;
}
} else {
$$174 = $75;
}
} else {
$$174 = $66;
}
} else {
$$174 = $57;
}
} else {
$$174 = $48;
}
$110 = (($$072143) + 1)|0;
$111 = (240 + (($110*48)|0)|0);
$112 = ($110|0)==(21);
if ($112) {
$$275 = $$174;$$3 = 0;
break L14;
} else {
$$072143 = $110;$$073142 = $$174;$107 = $111;
}
}
if ((label|0) == 17) {
$47 = (_gpg_strerror($45)|0);
HEAP32[$vararg_buffer7>>2] = $47;
__gcry_log_fatal(57702,$vararg_buffer7);
// unreachable;
}
else if ((label|0) == 20) {
$56 = (_gpg_strerror($54)|0);
HEAP32[$vararg_buffer10>>2] = $56;
__gcry_log_fatal(57702,$vararg_buffer10);
// unreachable;
}
else if ((label|0) == 23) {
$65 = (_gpg_strerror($63)|0);
HEAP32[$vararg_buffer13>>2] = $65;
__gcry_log_fatal(57702,$vararg_buffer13);
// unreachable;
}
else if ((label|0) == 26) {
$74 = (_gpg_strerror($72)|0);
HEAP32[$vararg_buffer16>>2] = $74;
__gcry_log_fatal(57702,$vararg_buffer16);
// unreachable;
}
else if ((label|0) == 29) {
$83 = (_gpg_strerror($81)|0);
HEAP32[$vararg_buffer19>>2] = $83;
__gcry_log_fatal(57702,$vararg_buffer19);
// unreachable;
}
else if ((label|0) == 32) {
$92 = (_gpg_strerror($90)|0);
HEAP32[$vararg_buffer22>>2] = $92;
__gcry_log_fatal(57702,$vararg_buffer22);
// unreachable;
}
else if ((label|0) == 35) {
$101 = (_gpg_strerror($99)|0);
HEAP32[$vararg_buffer25>>2] = $101;
__gcry_log_fatal(57702,$vararg_buffer25);
// unreachable;
}
else if ((label|0) == 37) {
$106 = HEAP32[$107>>2]|0;
if (!($12)) {
$$275 = $102;$$3 = $106;
break L14;
}
$108 = (((240 + (($$072143*48)|0)|0)) + 4|0);
$109 = HEAP32[$108>>2]|0;
HEAP32[$2>>2] = $109;
$$275 = $102;$$3 = $106;
break L14;
}
break;
}
default: {
$$275 = 0;$$3 = 0;
}
}
} while(0);
__gcry_mpi_release($$275);
$113 = HEAP32[$19>>2]|0;
__gcry_mpi_release($113);
$114 = HEAP32[$20>>2]|0;
__gcry_mpi_release($114);
$115 = HEAP32[$21>>2]|0;
__gcry_mpi_release($115);
$116 = HEAP32[$11>>2]|0;
__gcry_mpi_release($116);
$117 = ((($10)) + 20|0);
__gcry_mpi_point_free_parts($117);
$118 = HEAP32[$22>>2]|0;
__gcry_mpi_release($118);
$119 = HEAP32[$23>>2]|0;
__gcry_mpi_release($119);
$$1 = $$3;
STACKTOP = sp;return ($$1|0);
}
function __gcry_mpi_ec_new($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$092 = 0, $$093 = 0, $$093148149 = 0, $$1 = 0, $$195 = 0, $$197 = 0, $$3 = 0, $$sroa$0$1 = 0, $$sroa$0$1147150 = 0, $$sroa$0$1147151 = 0, $$sroa$0$2 = 0, $$sroa$0$4 = 0, $$sroa$0$6 = 0, $$sroa$0116$0$ph = 0, $$sroa$0116$1 = 0, $$sroa$0116$1146152 = 0, $$sroa$0116$1146153 = 0, $$sroa$0116$2 = 0, $$sroa$0116$4 = 0, $$sroa$0116$6 = 0;
var $$sroa$0121$0$ph = 0, $$sroa$0121$1 = 0, $$sroa$0121$1145154 = 0, $$sroa$0121$1145155 = 0, $$sroa$0121$2 = 0, $$sroa$0121$4 = 0, $$sroa$0121$6 = 0, $$sroa$0127$0$ph = 0, $$sroa$0127$1 = 0, $$sroa$0127$1144156 = 0, $$sroa$0127$1144157 = 0, $$sroa$0127$2 = 0, $$sroa$0127$4 = 0, $$sroa$0127$5 = 0, $$sroa$0132$0$ph = 0, $$sroa$0132$1 = 0, $$sroa$0132$1143158 = 0, $$sroa$0132$1143159 = 0, $$sroa$0132$2 = 0, $$sroa$0132$4 = 0;
var $$sroa$0132$5 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
var $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp + 12|0;
$4 = sp + 8|0;
$5 = sp + 4|0;
$6 = sp;
HEAP32[$3>>2] = 0;
HEAP32[$4>>2] = 0;
HEAP32[$5>>2] = 0;
HEAP32[$6>>2] = 0;
HEAP32[$0>>2] = 0;
$7 = ($1|0)!=(0|0);
do {
if ($7) {
$8 = (__gcry_sexp_find_token($1,64705,0)|0);
$9 = ($8|0)==(0|0);
if (!($9)) {
$10 = (__gcry_pk_util_parse_flaglist($8,$6,0)|0);
__gcry_sexp_release($8);
$11 = ($10|0)==(0);
if (!($11)) {
$$3 = $10;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = 0;$$sroa$0127$5 = 0;$$sroa$0132$5 = 0;
break;
}
}
$12 = (__gcry_sexp_find_token($1,64745,5)|0);
$13 = ($12|0)==(0|0);
if (!($13)) {
$14 = HEAP32[$6>>2]|0;
$15 = $14 & 512;
$16 = ($15|0)==(0);
if ($16) {
$$093148149 = $12;$$sroa$0$1147150 = 0;$$sroa$0116$1146152 = 0;$$sroa$0121$1145154 = 0;$$sroa$0127$1144156 = 0;$$sroa$0132$1143158 = 0;
label = 19;
break;
}
}
$17 = (__gcry_sexp_find_token($1,64769,0)|0);
$18 = ($17|0)==(0|0);
if ($18) {
$$sroa$0132$0$ph = 0;
} else {
$19 = (__gcry_sexp_nth_mpi($17,1,5)|0);
$20 = $19;
__gcry_sexp_release($17);
$21 = ($19|0)==(0|0);
if ($21) {
$$3 = 65;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = 0;$$sroa$0127$5 = 0;$$sroa$0132$5 = $20;
break;
} else {
$$sroa$0132$0$ph = $20;
}
}
$22 = (__gcry_sexp_find_token($1,60979,0)|0);
$23 = ($22|0)==(0|0);
if ($23) {
$$sroa$0127$0$ph = 0;
} else {
$24 = (__gcry_sexp_nth_mpi($22,1,5)|0);
$25 = $24;
__gcry_sexp_release($22);
$26 = ($24|0)==(0|0);
if ($26) {
$$3 = 65;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = 0;$$sroa$0127$5 = $25;$$sroa$0132$5 = $$sroa$0132$0$ph;
break;
} else {
$$sroa$0127$0$ph = $25;
}
}
$27 = (__gcry_sexp_find_token($1,57454,0)|0);
$28 = ($27|0)==(0|0);
if ($28) {
$$sroa$0121$0$ph = 0;
} else {
$29 = (__gcry_sexp_nth_mpi($27,1,5)|0);
$30 = $29;
__gcry_sexp_release($27);
$31 = ($29|0)==(0|0);
if ($31) {
$$3 = 65;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = $30;$$sroa$0127$5 = $$sroa$0127$0$ph;$$sroa$0132$5 = $$sroa$0132$0$ph;
break;
} else {
$$sroa$0121$0$ph = $30;
}
}
$32 = (_point_from_keyparam($4,$1,57456,0)|0);
$33 = ($32|0)==(0);
if ($33) {
$34 = (__gcry_sexp_find_token($1,60983,0)|0);
$35 = ($34|0)==(0|0);
if ($35) {
$$sroa$0116$0$ph = 0;
} else {
$36 = (__gcry_sexp_nth_mpi($34,1,5)|0);
$37 = $36;
__gcry_sexp_release($34);
$38 = ($36|0)==(0|0);
if ($38) {
$$3 = 65;$$sroa$0$6 = 0;$$sroa$0116$6 = $37;$$sroa$0121$6 = $$sroa$0121$0$ph;$$sroa$0127$5 = $$sroa$0127$0$ph;$$sroa$0132$5 = $$sroa$0132$0$ph;
break;
} else {
$$sroa$0116$0$ph = $37;
}
}
$39 = (__gcry_sexp_find_token($1,57458,0)|0);
$40 = ($39|0)==(0|0);
if ($40) {
$$093 = $12;$$sroa$0$1 = 0;$$sroa$0116$1 = $$sroa$0116$0$ph;$$sroa$0121$1 = $$sroa$0121$0$ph;$$sroa$0127$1 = $$sroa$0127$0$ph;$$sroa$0132$1 = $$sroa$0132$0$ph;
label = 17;
} else {
$41 = (__gcry_sexp_nth_mpi($39,1,5)|0);
$42 = $41;
__gcry_sexp_release($39);
$43 = ($41|0)==(0|0);
if ($43) {
$$3 = 65;$$sroa$0$6 = $42;$$sroa$0116$6 = $$sroa$0116$0$ph;$$sroa$0121$6 = $$sroa$0121$0$ph;$$sroa$0127$5 = $$sroa$0127$0$ph;$$sroa$0132$5 = $$sroa$0132$0$ph;
} else {
$$093 = $12;$$sroa$0$1 = $42;$$sroa$0116$1 = $$sroa$0116$0$ph;$$sroa$0121$1 = $$sroa$0121$0$ph;$$sroa$0127$1 = $$sroa$0127$0$ph;$$sroa$0132$1 = $$sroa$0132$0$ph;
label = 17;
}
}
} else {
$$3 = $32;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = $$sroa$0121$0$ph;$$sroa$0127$5 = $$sroa$0127$0$ph;$$sroa$0132$5 = $$sroa$0132$0$ph;
}
} else {
$$093 = 0;$$sroa$0$1 = 0;$$sroa$0116$1 = 0;$$sroa$0121$1 = 0;$$sroa$0127$1 = 0;$$sroa$0132$1 = 0;
label = 17;
}
} while(0);
if ((label|0) == 17) {
$44 = ($$093|0)!=(0|0);
$45 = ($2|0)!=(0|0);
$or$cond = $45 | $44;
if ($or$cond) {
if ($44) {
$$093148149 = $$093;$$sroa$0$1147150 = $$sroa$0$1;$$sroa$0116$1146152 = $$sroa$0116$1;$$sroa$0121$1145154 = $$sroa$0121$1;$$sroa$0127$1144156 = $$sroa$0127$1;$$sroa$0132$1143158 = $$sroa$0132$1;
label = 19;
} else {
$$092 = 0;$$sroa$0$1147151 = $$sroa$0$1;$$sroa$0116$1146153 = $$sroa$0116$1;$$sroa$0121$1145155 = $$sroa$0121$1;$$sroa$0127$1144157 = $$sroa$0127$1;$$sroa$0132$1143159 = $$sroa$0132$1;
label = 20;
}
} else {
$$195 = 0;$$197 = 0;$$sroa$0$4 = $$sroa$0$1;$$sroa$0116$4 = $$sroa$0116$1;$$sroa$0121$4 = $$sroa$0121$1;$$sroa$0127$4 = $$sroa$0127$1;$$sroa$0132$4 = $$sroa$0132$1;
label = 37;
}
}
if ((label|0) == 19) {
$46 = (__gcry_sexp_nth_string($$093148149,1)|0);
__gcry_sexp_release($$093148149);
$47 = ($46|0)==(0|0);
if ($47) {
$$3 = 65;$$sroa$0$6 = $$sroa$0$1147150;$$sroa$0116$6 = $$sroa$0116$1146152;$$sroa$0121$6 = $$sroa$0121$1145154;$$sroa$0127$5 = $$sroa$0127$1144156;$$sroa$0132$5 = $$sroa$0132$1143158;
} else {
$$092 = $46;$$sroa$0$1147151 = $$sroa$0$1147150;$$sroa$0116$1146153 = $$sroa$0116$1146152;$$sroa$0121$1145155 = $$sroa$0121$1145154;$$sroa$0127$1144157 = $$sroa$0127$1144156;$$sroa$0132$1143159 = $$sroa$0132$1143158;
label = 20;
}
}
do {
if ((label|0) == 20) {
$48 = (__gcry_calloc(1,44)|0);
$49 = ($48|0)==(0|0);
if ($49) {
$50 = (_gpg_err_code_from_syserror()|0);
__gcry_free($$092);
$$3 = $50;$$sroa$0$6 = $$sroa$0$1147151;$$sroa$0116$6 = $$sroa$0116$1146153;$$sroa$0121$6 = $$sroa$0121$1145155;$$sroa$0127$5 = $$sroa$0127$1144157;$$sroa$0132$5 = $$sroa$0132$1143159;
break;
}
$51 = ($$092|0)==(0|0);
$52 = $51 ? $2 : $$092;
$53 = (__gcry_ecc_fill_in_curve(0,$52,$48,0)|0);
__gcry_free($$092);
$54 = ($53|0)==(0);
if (!($54)) {
__gcry_free($48);
$$3 = $53;$$sroa$0$6 = $$sroa$0$1147151;$$sroa$0116$6 = $$sroa$0116$1146153;$$sroa$0121$6 = $$sroa$0121$1145155;$$sroa$0127$5 = $$sroa$0127$1144157;$$sroa$0132$5 = $$sroa$0132$1143159;
break;
}
$55 = HEAP32[$48>>2]|0;
$56 = ((($48)) + 4|0);
$57 = HEAP32[$56>>2]|0;
$58 = ($$sroa$0132$1143159|0)==(0);
if ($58) {
$59 = ((($48)) + 8|0);
$60 = HEAP32[$59>>2]|0;
HEAP32[$59>>2] = 0;
$$sroa$0132$2 = $60;
} else {
$$sroa$0132$2 = $$sroa$0132$1143159;
}
$61 = ($$sroa$0127$1144157|0)==(0);
if ($61) {
$62 = ((($48)) + 12|0);
$63 = HEAP32[$62>>2]|0;
HEAP32[$62>>2] = 0;
$$sroa$0127$2 = $63;
} else {
$$sroa$0127$2 = $$sroa$0127$1144157;
}
$64 = ($$sroa$0121$1145155|0)==(0);
if ($64) {
$65 = ((($48)) + 16|0);
$66 = HEAP32[$65>>2]|0;
HEAP32[$65>>2] = 0;
$$sroa$0121$2 = $66;
} else {
$$sroa$0121$2 = $$sroa$0121$1145155;
}
$67 = HEAP32[$4>>2]|0;
$68 = ($67|0)==(0|0);
if ($68) {
$69 = ((($48)) + 20|0);
$70 = HEAP32[$69>>2]|0;
$71 = ((($48)) + 24|0);
$72 = HEAP32[$71>>2]|0;
$73 = ((($48)) + 28|0);
$74 = HEAP32[$73>>2]|0;
$75 = (__gcry_mpi_point_snatch_set(0,$70,$72,$74)|0);
HEAP32[$4>>2] = $75;
HEAP32[$69>>2] = 0;
HEAP32[$71>>2] = 0;
HEAP32[$73>>2] = 0;
}
$76 = ($$sroa$0116$1146153|0)==(0);
if ($76) {
$77 = ((($48)) + 32|0);
$78 = HEAP32[$77>>2]|0;
HEAP32[$77>>2] = 0;
$$sroa$0116$2 = $78;
} else {
$$sroa$0116$2 = $$sroa$0116$1146153;
}
$79 = ($$sroa$0$1147151|0)==(0);
if ($79) {
$80 = ((($48)) + 36|0);
$81 = HEAP32[$80>>2]|0;
HEAP32[$80>>2] = 0;
$$sroa$0$2 = $81;
} else {
$$sroa$0$2 = $$sroa$0$1147151;
}
__gcry_ecc_curve_free($48);
__gcry_free($48);
$$195 = $57;$$197 = $55;$$sroa$0$4 = $$sroa$0$2;$$sroa$0116$4 = $$sroa$0116$2;$$sroa$0121$4 = $$sroa$0121$2;$$sroa$0127$4 = $$sroa$0127$2;$$sroa$0132$4 = $$sroa$0132$2;
label = 37;
}
} while(0);
do {
if ((label|0) == 37) {
$82 = HEAP32[$6>>2]|0;
$83 = $$sroa$0132$4;
$84 = $$sroa$0127$4;
$85 = $$sroa$0121$4;
$86 = (__gcry_mpi_ec_p_new($3,$$197,$$195,$82,$83,$84,$85)|0);
$87 = ($86|0)==(0);
if ($87) {
$88 = HEAP32[$3>>2]|0;
$89 = (__gcry_ctx_get_pointer($88,1)|0);
$90 = ($$sroa$0121$4|0)==(0);
if (!($90)) {
$91 = ((($89)) + 24|0);
$92 = HEAP32[$91>>2]|0;
__gcry_mpi_free($92);
HEAP32[$91>>2] = $$sroa$0121$4;
}
$93 = HEAP32[$4>>2]|0;
$94 = ($93|0)==(0|0);
if (!($94)) {
$95 = ((($89)) + 28|0);
HEAP32[$95>>2] = $93;
HEAP32[$4>>2] = 0;
}
$96 = ($$sroa$0116$4|0)==(0);
if (!($96)) {
$97 = $$sroa$0116$4;
$98 = ((($89)) + 32|0);
HEAP32[$98>>2] = $97;
}
$99 = ($$sroa$0$4|0)==(0);
if (!($99)) {
$100 = $$sroa$0$4;
$101 = ((($89)) + 36|0);
HEAP32[$101>>2] = $100;
}
if ($7) {
$102 = (_point_from_keyparam($5,$1,64743,$89)|0);
$103 = ($102|0)==(0);
if (!($103)) {
$$3 = $102;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = 0;$$sroa$0127$5 = $$sroa$0127$4;$$sroa$0132$5 = $$sroa$0132$4;
break;
}
$104 = (__gcry_sexp_find_token($1,57460,0)|0);
$105 = ($104|0)==(0|0);
if ($105) {
$$1 = 0;
} else {
$106 = (__gcry_sexp_nth_mpi($104,1,5)|0);
__gcry_sexp_release($104);
$107 = ($106|0)==(0|0);
if ($107) {
$$3 = 65;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = 0;$$sroa$0127$5 = $$sroa$0127$4;$$sroa$0132$5 = $$sroa$0132$4;
break;
} else {
$$1 = $106;
}
}
} else {
$$1 = 0;
}
$108 = HEAP32[$5>>2]|0;
$109 = ($108|0)==(0|0);
if (!($109)) {
$110 = ((($89)) + 40|0);
HEAP32[$110>>2] = $108;
HEAP32[$5>>2] = 0;
}
$111 = ($$1|0)==(0|0);
if (!($111)) {
$112 = ((($89)) + 44|0);
HEAP32[$112>>2] = $$1;
}
$113 = HEAP32[$3>>2]|0;
HEAP32[$0>>2] = $113;
HEAP32[$3>>2] = 0;
$$3 = 0;$$sroa$0$6 = 0;$$sroa$0116$6 = 0;$$sroa$0121$6 = 0;$$sroa$0127$5 = $$sroa$0127$4;$$sroa$0132$5 = $$sroa$0132$4;
} else {
$$3 = $86;$$sroa$0$6 = $$sroa$0$4;$$sroa$0116$6 = $$sroa$0116$4;$$sroa$0121$6 = $$sroa$0121$4;$$sroa$0127$5 = $$sroa$0127$4;$$sroa$0132$5 = $$sroa$0132$4;
}
}
} while(0);
$114 = HEAP32[$3>>2]|0;
__gcry_ctx_release($114);
$115 = $$sroa$0132$5;
__gcry_mpi_free($115);
$116 = $$sroa$0127$5;
__gcry_mpi_free($116);
$117 = $$sroa$0121$6;
__gcry_mpi_free($117);
$118 = HEAP32[$4>>2]|0;
__gcry_mpi_point_release($118);
$119 = $$sroa$0116$6;
__gcry_mpi_free($119);
$120 = $$sroa$0$6;
__gcry_mpi_free($120);
$121 = HEAP32[$5>>2]|0;
__gcry_mpi_point_release($121);
__gcry_mpi_free(0);
STACKTOP = sp;return ($$3|0);
}
function _point_from_keyparam($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$058 = 0, $$084$ph = 0, $$085$ph = 0, $$160 = 0, $$183 = 0, $$2 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (__gcry_sexp_find_token($1,$2,0)|0);
$5 = ($4|0)==(0|0);
if ($5) {
$16 = (_strlen($2)|0);
$17 = (($16) + 3)|0;
$18 = (__gcry_malloc($17)|0);
$19 = ($18|0)==(0|0);
if ($19) {
$20 = (_gpg_err_code_from_syserror()|0);
$$2 = $20;
return ($$2|0);
}
$21 = (___stpcpy($18,$2)|0);
;HEAP8[$21>>0]=HEAP8[57462>>0]|0;HEAP8[$21+1>>0]=HEAP8[57462+1>>0]|0;HEAP8[$21+2>>0]=HEAP8[57462+2>>0]|0;
$22 = (__gcry_sexp_find_token($1,$18,0)|0);
$23 = ($22|0)==(0|0);
if ($23) {
$$085$ph = 0;
} else {
$24 = (__gcry_sexp_nth_mpi($22,1,5)|0);
__gcry_sexp_release($22);
$25 = ($24|0)==(0|0);
if ($25) {
__gcry_free($18);
$$2 = 65;
return ($$2|0);
} else {
$$085$ph = $24;
}
}
$26 = (___stpcpy($18,$2)|0);
;HEAP8[$26>>0]=HEAP8[57465>>0]|0;HEAP8[$26+1>>0]=HEAP8[57465+1>>0]|0;HEAP8[$26+2>>0]=HEAP8[57465+2>>0]|0;
$27 = (__gcry_sexp_find_token($1,$18,0)|0);
$28 = ($27|0)==(0|0);
if ($28) {
$$084$ph = 0;
} else {
$29 = (__gcry_sexp_nth_mpi($27,1,5)|0);
__gcry_sexp_release($27);
$30 = ($29|0)==(0|0);
if ($30) {
__gcry_mpi_free($$085$ph);
__gcry_free($18);
$$2 = 65;
return ($$2|0);
} else {
$$084$ph = $29;
}
}
$31 = (___stpcpy($18,$2)|0);
;HEAP8[$31>>0]=HEAP8[57468>>0]|0;HEAP8[$31+1>>0]=HEAP8[57468+1>>0]|0;HEAP8[$31+2>>0]=HEAP8[57468+2>>0]|0;
$32 = (__gcry_sexp_find_token($1,$18,0)|0);
$33 = ($32|0)==(0|0);
if ($33) {
$36 = (__gcry_mpi_set_ui(0,1)|0);
$$183 = $36;
} else {
$34 = (__gcry_sexp_nth_mpi($32,1,5)|0);
__gcry_sexp_release($32);
$35 = ($34|0)==(0|0);
if ($35) {
__gcry_mpi_free($$084$ph);
__gcry_mpi_free($$085$ph);
__gcry_free($18);
$$2 = 65;
return ($$2|0);
} else {
$$183 = $34;
}
}
$37 = ($$085$ph|0)!=(0|0);
$38 = ($$084$ph|0)!=(0|0);
$or$cond = $37 & $38;
if ($or$cond) {
$39 = (__gcry_mpi_point_snatch_set(0,$$085$ph,$$084$ph,$$183)|0);
$$160 = $39;
} else {
__gcry_mpi_free($$085$ph);
__gcry_mpi_free($$084$ph);
__gcry_mpi_free($$183);
$$160 = 0;
}
__gcry_free($18);
$$3 = $$160;
} else {
$6 = (__gcry_sexp_nth_mpi($4,1,8)|0);
__gcry_sexp_release($4);
$7 = ($6|0)==(0|0);
if ($7) {
$$2 = 65;
return ($$2|0);
}
$8 = (__gcry_mpi_point_new(0)|0);
$9 = ($3|0)==(0|0);
if ($9) {
label = 6;
} else {
$10 = ((($3)) + 4|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11|0)==(1);
if ($12) {
$13 = (__gcry_ecc_eddsa_decodepoint($6,$3,$8,0,0)|0);
$$058 = $13;
} else {
label = 6;
}
}
if ((label|0) == 6) {
$14 = (__gcry_ecc_os2ec($8,$6)|0);
$$058 = $14;
}
__gcry_mpi_free($6);
$15 = ($$058|0)==(0);
if ($15) {
$$3 = $8;
} else {
__gcry_mpi_point_release($8);
$$2 = $$058;
return ($$2|0);
}
}
$40 = ($$3|0)==(0|0);
if ($40) {
$$2 = 0;
return ($$2|0);
}
HEAP32[$0>>2] = $$3;
$$2 = 0;
return ($$2|0);
}
function __gcry_ecc_get_param_sexp($0) {
$0 = $0|0;
var $$019 = 0, $$020 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$vararg_buffer1 = sp + 40|0;
$vararg_buffer = sp + 32|0;
$1 = sp + 112|0;
$2 = sp + 68|0;
$3 = sp;
$4 = sp + 64|0;
dest=$2; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$5 = (__gcry_ecc_fill_in_curve(0,$0,$2,$1)|0);
$6 = ($5|0)==(0);
if (!($6)) {
$$019 = 0;
STACKTOP = sp;return ($$019|0);
}
$7 = (__gcry_mpi_new(0)|0);
$8 = (__gcry_mpi_new(0)|0);
$9 = ((($2)) + 8|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($2)) + 12|0);
$12 = HEAP32[$11>>2]|0;
$13 = (__gcry_mpi_ec_p_internal_new(0,0,0,$10,$12,0)|0);
$14 = ((($2)) + 20|0);
$15 = (__gcry_mpi_ec_get_affine($7,$8,$14,$13)|0);
$16 = ($15|0)==(0);
if (!($16)) {
__gcry_log_fatal(57471,$vararg_buffer);
// unreachable;
}
__gcry_mpi_ec_free($13);
__gcry_mpi_point_free_parts($14);
$17 = HEAP32[$9>>2]|0;
HEAP32[$3>>2] = $17;
$18 = HEAP32[$11>>2]|0;
$19 = ((($3)) + 4|0);
HEAP32[$19>>2] = $18;
$20 = ((($2)) + 16|0);
$21 = HEAP32[$20>>2]|0;
$22 = ((($3)) + 8|0);
HEAP32[$22>>2] = $21;
$23 = $17;
$24 = (__gcry_ecc_ec2os($7,$8,$23)|0);
$25 = ((($3)) + 12|0);
HEAP32[$25>>2] = $24;
$26 = ((($2)) + 32|0);
$27 = HEAP32[$26>>2]|0;
$28 = ((($3)) + 16|0);
HEAP32[$28>>2] = $27;
$29 = ((($2)) + 36|0);
$30 = HEAP32[$29>>2]|0;
$31 = ((($3)) + 20|0);
HEAP32[$31>>2] = $30;
$32 = ((($3)) + 24|0);
HEAP32[$32>>2] = 0;
__gcry_mpi_free($7);
__gcry_mpi_free($8);
$33 = $18;
$34 = $21;
$35 = $27;
$36 = $30;
HEAP32[$vararg_buffer1>>2] = $23;
$vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
HEAP32[$vararg_ptr3>>2] = $33;
$vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
HEAP32[$vararg_ptr4>>2] = $34;
$vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
HEAP32[$vararg_ptr5>>2] = $24;
$vararg_ptr6 = ((($vararg_buffer1)) + 16|0);
HEAP32[$vararg_ptr6>>2] = $35;
$vararg_ptr7 = ((($vararg_buffer1)) + 20|0);
HEAP32[$vararg_ptr7>>2] = $36;
$37 = (__gcry_sexp_build($4,0,57520,$vararg_buffer1)|0);
$38 = ($37|0)==(0);
if (!($38)) {
HEAP32[$4>>2] = 0;
}
$39 = ($17|0)==(0);
if (!($39)) {
$$020 = 0;$40 = $23;
while(1) {
__gcry_mpi_release($40);
$41 = (($$020) + 1)|0;
$42 = (($3) + ($41<<2)|0);
$43 = HEAP32[$42>>2]|0;
$44 = ($43|0)==(0|0);
if ($44) {
break;
} else {
$$020 = $41;$40 = $43;
}
}
}
$45 = HEAP32[$4>>2]|0;
$$019 = $45;
STACKTOP = sp;return ($$019|0);
}
function __gcry_ecc_get_mpi($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$1 = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
var $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond19 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp + 4|0;
$4 = sp;
$5 = HEAP8[$0>>0]|0;
$6 = ($5<<24>>24)==(0);
L1: do {
if ($6) {
$$1 = 0;
} else {
$7 = (_strcmp($0,64769)|0);
$8 = ($7|0)==(0);
if ($8) {
$9 = ((($1)) + 16|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0|0);
if (!($11)) {
$12 = ((($10)) + 12|0);
$13 = HEAP32[$12>>2]|0;
$14 = $13 & 32;
$15 = ($14|0)==(0);
$16 = ($2|0)!=(0);
$or$cond = $16 | $15;
if (!($or$cond)) {
$$1 = $10;
break;
}
$17 = (__gcry_mpi_copy($10)|0);
$$1 = $17;
break;
}
}
$18 = (_strcmp($0,60979)|0);
$19 = ($18|0)==(0);
if ($19) {
$20 = ((($1)) + 20|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($21|0)==(0|0);
if (!($22)) {
$23 = ((($21)) + 12|0);
$24 = HEAP32[$23>>2]|0;
$25 = $24 & 32;
$26 = ($25|0)==(0);
$27 = ($2|0)!=(0);
$or$cond3 = $27 | $26;
if (!($or$cond3)) {
$$1 = $21;
break;
}
$28 = (__gcry_mpi_copy($21)|0);
$$1 = $28;
break;
}
}
$29 = (_strcmp($0,57454)|0);
$30 = ($29|0)==(0);
if ($30) {
$31 = ((($1)) + 24|0);
$32 = HEAP32[$31>>2]|0;
$33 = ($32|0)==(0|0);
if (!($33)) {
$34 = ((($32)) + 12|0);
$35 = HEAP32[$34>>2]|0;
$36 = $35 & 32;
$37 = ($36|0)==(0);
$38 = ($2|0)!=(0);
$or$cond5 = $38 | $37;
if (!($or$cond5)) {
$$1 = $32;
break;
}
$39 = (__gcry_mpi_copy($32)|0);
$$1 = $39;
break;
}
}
$40 = (_strcmp($0,60983)|0);
$41 = ($40|0)==(0);
if ($41) {
$42 = ((($1)) + 32|0);
$43 = HEAP32[$42>>2]|0;
$44 = ($43|0)==(0|0);
if (!($44)) {
$45 = ((($43)) + 12|0);
$46 = HEAP32[$45>>2]|0;
$47 = $46 & 32;
$48 = ($47|0)==(0);
$49 = ($2|0)!=(0);
$or$cond7 = $49 | $48;
if (!($or$cond7)) {
$$1 = $43;
break;
}
$50 = (__gcry_mpi_copy($43)|0);
$$1 = $50;
break;
}
}
$51 = (_strcmp($0,57458)|0);
$52 = ($51|0)==(0);
if ($52) {
$53 = ((($1)) + 36|0);
$54 = HEAP32[$53>>2]|0;
$55 = ($54|0)==(0|0);
if (!($55)) {
$56 = ((($54)) + 12|0);
$57 = HEAP32[$56>>2]|0;
$58 = $57 & 32;
$59 = ($58|0)==(0);
$60 = ($2|0)!=(0);
$or$cond9 = $60 | $59;
if (!($or$cond9)) {
$$1 = $54;
break;
}
$61 = (__gcry_mpi_copy($54)|0);
$$1 = $61;
break;
}
}
$62 = (_strcmp($0,57460)|0);
$63 = ($62|0)==(0);
if ($63) {
$64 = ((($1)) + 44|0);
$65 = HEAP32[$64>>2]|0;
$66 = ($65|0)==(0|0);
if (!($66)) {
$67 = ((($65)) + 12|0);
$68 = HEAP32[$67>>2]|0;
$69 = $68 & 32;
$70 = ($69|0)==(0);
$71 = ($2|0)!=(0);
$or$cond11 = $71 | $70;
if (!($or$cond11)) {
$$1 = $65;
break;
}
$72 = (__gcry_mpi_copy($65)|0);
$$1 = $72;
break;
}
}
$73 = (_strcmp($0,57568)|0);
$74 = ($73|0)==(0);
if ($74) {
$75 = ((($1)) + 28|0);
$76 = HEAP32[$75>>2]|0;
$77 = ($76|0)==(0|0);
if (!($77)) {
$78 = HEAP32[$76>>2]|0;
$79 = ($78|0)==(0|0);
if (!($79)) {
$80 = ((($78)) + 12|0);
$81 = HEAP32[$80>>2]|0;
$82 = $81 & 32;
$83 = ($82|0)==(0);
$84 = ($2|0)!=(0);
$or$cond13 = $84 | $83;
if (!($or$cond13)) {
$$1 = $78;
break;
}
$85 = (__gcry_mpi_copy($78)|0);
$$1 = $85;
break;
}
}
}
$86 = (_strcmp($0,57572)|0);
$87 = ($86|0)==(0);
if ($87) {
$88 = ((($1)) + 28|0);
$89 = HEAP32[$88>>2]|0;
$90 = ($89|0)==(0|0);
if (!($90)) {
$91 = ((($89)) + 4|0);
$92 = HEAP32[$91>>2]|0;
$93 = ($92|0)==(0|0);
if (!($93)) {
$94 = ((($92)) + 12|0);
$95 = HEAP32[$94>>2]|0;
$96 = $95 & 32;
$97 = ($96|0)==(0);
$98 = ($2|0)!=(0);
$or$cond15 = $98 | $97;
if (!($or$cond15)) {
$$1 = $92;
break;
}
$99 = (__gcry_mpi_copy($92)|0);
$$1 = $99;
break;
}
}
}
$100 = (_strcmp($0,57576)|0);
$101 = ($100|0)==(0);
if ($101) {
$102 = ((($1)) + 40|0);
$103 = HEAP32[$102>>2]|0;
$104 = ($103|0)==(0|0);
if (!($104)) {
$105 = HEAP32[$103>>2]|0;
$106 = ($105|0)==(0|0);
if (!($106)) {
$107 = ((($105)) + 12|0);
$108 = HEAP32[$107>>2]|0;
$109 = $108 & 32;
$110 = ($109|0)==(0);
$111 = ($2|0)!=(0);
$or$cond17 = $111 | $110;
if (!($or$cond17)) {
$$1 = $105;
break;
}
$112 = (__gcry_mpi_copy($105)|0);
$$1 = $112;
break;
}
}
}
$113 = (_strcmp($0,57580)|0);
$114 = ($113|0)==(0);
if ($114) {
$115 = ((($1)) + 40|0);
$116 = HEAP32[$115>>2]|0;
$117 = ($116|0)==(0|0);
if (!($117)) {
$118 = ((($116)) + 4|0);
$119 = HEAP32[$118>>2]|0;
$120 = ($119|0)==(0|0);
if (!($120)) {
$121 = ((($1)) + 28|0);
$122 = HEAP32[$121>>2]|0;
$123 = ((($122)) + 4|0);
$124 = HEAP32[$123>>2]|0;
$125 = ($124|0)==(0|0);
if (!($125)) {
$126 = ((($124)) + 12|0);
$127 = HEAP32[$126>>2]|0;
$128 = $127 & 32;
$129 = ($128|0)==(0);
$130 = ($2|0)!=(0);
$or$cond19 = $130 | $129;
if (!($or$cond19)) {
$$1 = $119;
break;
}
}
$131 = (__gcry_mpi_copy($119)|0);
$$1 = $131;
break;
}
}
}
$132 = (_strcmp($0,57456)|0);
$133 = ($132|0)==(0);
if ($133) {
$134 = ((($1)) + 28|0);
$135 = HEAP32[$134>>2]|0;
$136 = ($135|0)==(0|0);
if (!($136)) {
$137 = (__gcry_mpi_ec_ec2os($135,$1)|0);
$$1 = $137;
break;
}
}
$138 = ($5<<24>>24)==(113);
if ($138) {
$139 = ((($0)) + 1|0);
$140 = HEAP8[$139>>0]|0;
switch ($140<<24>>24) {
case 64: case 0: {
break;
}
default: {
$$1 = 0;
break L1;
}
}
$141 = ((($1)) + 40|0);
$142 = HEAP32[$141>>2]|0;
$143 = ($142|0)==(0|0);
if ($143) {
$144 = (__gcry_ecc_compute_public(0,$1,0,0)|0);
HEAP32[$141>>2] = $144;
$145 = ($144|0)==(0|0);
if ($145) {
$$1 = 0;
break;
}
$$pre = HEAP8[$139>>0]|0;
$147 = $$pre;$148 = $144;
} else {
$147 = $140;$148 = $142;
}
$146 = ($147<<24>>24)==(64);
if (!($146)) {
$149 = (__gcry_mpi_ec_ec2os($148,$1)|0);
$$1 = $149;
break;
}
$150 = ((($0)) + 2|0);
$151 = (_strcmp($150,67434)|0);
$152 = ($151|0)==(0);
if ($152) {
$153 = HEAP32[$1>>2]|0;
$154 = ($153|0)==(2);
if ($154) {
$155 = (__gcry_ecc_eddsa_encodepoint($148,$1,0,0,0,$3,$4)|0);
$156 = ($155|0)==(0);
if ($156) {
$157 = HEAP32[$3>>2]|0;
$158 = HEAP32[$4>>2]|0;
$159 = $158 << 3;
$160 = (__gcry_mpi_set_opaque(0,$157,$159)|0);
$$1 = $160;
break;
} else {
$$1 = 0;
break;
}
} else {
$$1 = 0;
}
} else {
$$1 = 0;
}
} else {
$$1 = 0;
}
}
} while(0);
STACKTOP = sp;return ($$1|0);
}
function __gcry_ecc_get_point($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_strcmp($0,57456)|0);
$3 = ($2|0)==(0);
if ($3) {
$4 = ((($1)) + 28|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
if (!($6)) {
$7 = (__gcry_mpi_point_new(0)|0);
$8 = HEAP32[$7>>2]|0;
$9 = HEAP32[$5>>2]|0;
(__gcry_mpi_set($8,$9)|0);
$10 = ((($7)) + 4|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($5)) + 4|0);
$13 = HEAP32[$12>>2]|0;
(__gcry_mpi_set($11,$13)|0);
$14 = ((($7)) + 8|0);
$15 = HEAP32[$14>>2]|0;
$16 = ((($5)) + 8|0);
$17 = HEAP32[$16>>2]|0;
(__gcry_mpi_set($15,$17)|0);
$$0 = $7;
return ($$0|0);
}
}
$18 = (_strcmp($0,64743)|0);
$19 = ($18|0)==(0);
if (!($19)) {
$$0 = 0;
return ($$0|0);
}
$20 = ((($1)) + 40|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($21|0)==(0|0);
if ($22) {
$23 = (__gcry_ecc_compute_public(0,$1,0,0)|0);
HEAP32[$20>>2] = $23;
$24 = ($23|0)==(0|0);
if ($24) {
$$0 = 0;
return ($$0|0);
} else {
$28 = $23;
}
} else {
$28 = $21;
}
$25 = (__gcry_mpi_point_new(0)|0);
$26 = HEAP32[$25>>2]|0;
$27 = HEAP32[$28>>2]|0;
(__gcry_mpi_set($26,$27)|0);
$29 = ((($25)) + 4|0);
$30 = HEAP32[$29>>2]|0;
$31 = ((($28)) + 4|0);
$32 = HEAP32[$31>>2]|0;
(__gcry_mpi_set($30,$32)|0);
$33 = ((($25)) + 8|0);
$34 = HEAP32[$33>>2]|0;
$35 = ((($28)) + 8|0);
$36 = HEAP32[$35>>2]|0;
(__gcry_mpi_set($34,$36)|0);
$$0 = $25;
return ($$0|0);
}
function __gcry_ecc_eddsa_encodepoint($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$0 = 0, $$0$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $7 = 0, $8 = 0, $9 = 0, $not$$i = 0, $or$cond$i = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$7 = sp + 4|0;
$8 = ($2|0)!=(0|0);
if ($8) {
$12 = $2;
} else {
$9 = (__gcry_mpi_new(0)|0);
$12 = $9;
}
$10 = ($3|0)!=(0|0);
if ($10) {
$13 = $3;
} else {
$11 = (__gcry_mpi_new(0)|0);
$13 = $11;
}
$14 = (__gcry_mpi_ec_get_affine($12,$13,$0,$1)|0);
$15 = ($14|0)==(0);
if ($15) {
$16 = ((($1)) + 12|0);
$17 = HEAP32[$16>>2]|0;
$18 = $17 >>> 3;
$19 = ($4|0)!=(0);
$20 = $19&1;
$21 = $19 << 31 >> 31;
$22 = (__gcry_mpi_get_buffer_extra($13,$18,$21,$7,0)|0);
$23 = ($22|0)==(0|0);
if ($23) {
$24 = (_gpg_err_code_from_syserror()|0);
$$0$i = $24;
} else {
$25 = (__gcry_mpi_test_bit($12,0)|0);
$26 = ($25|0)!=(0);
$27 = HEAP32[$7>>2]|0;
$28 = ($27|0)!=(0);
$or$cond$i = $26 & $28;
$not$$i = $19 ^ 1;
$29 = $not$$i << 31 >> 31;
$30 = (($27) + ($29))|0;
$31 = (($22) + ($30)|0);
if ($or$cond$i) {
$32 = HEAP8[$31>>0]|0;
$33 = $32 | -128;
HEAP8[$31>>0] = $33;
}
if ($19) {
HEAP8[$22>>0] = 64;
}
HEAP32[$5>>2] = $22;
$34 = HEAP32[$7>>2]|0;
$35 = (($34) + ($20))|0;
HEAP32[$6>>2] = $35;
$$0$i = 0;
}
$$0 = $$0$i;
} else {
__gcry_log_error(57584,$vararg_buffer);
$$0 = 63;
}
if (!($8)) {
__gcry_mpi_free($12);
}
if ($10) {
STACKTOP = sp;return ($$0|0);
}
__gcry_mpi_free($13);
STACKTOP = sp;return ($$0|0);
}
function __gcry_ecc_eddsa_ensure_compact($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$0$i = 0, $$024 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond$i = 0, $phitmp = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp + 12|0;
$3 = sp + 8|0;
$4 = sp + 4|0;
$5 = sp;
$6 = ($0|0)==(0|0);
if ($6) {
$$0 = 65;
STACKTOP = sp;return ($$0|0);
}
$7 = ((($0)) + 12|0);
$8 = HEAP32[$7>>2]|0;
$9 = $8 & 4;
$10 = ($9|0)==(0);
if ($10) {
$$0 = 65;
STACKTOP = sp;return ($$0|0);
}
$11 = (__gcry_mpi_get_opaque($0,$3)|0);
$12 = ($11|0)==(0|0);
if ($12) {
$$0 = 65;
STACKTOP = sp;return ($$0|0);
}
$13 = HEAP32[$3>>2]|0;
$14 = (($13) + 7)|0;
$15 = $14 >>> 3;
HEAP32[$3>>2] = $15;
$16 = ($14>>>0)<(16);
$17 = $14 & 8;
$18 = ($17|0)==(0);
$or$cond = $16 | $18;
if ($or$cond) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$19 = HEAP8[$11>>0]|0;
switch ($19<<24>>24) {
case 4: {
$20 = ((($11)) + 1|0);
$21 = (($15) + -1)|0;
$22 = $21 >>> 1;
$23 = (__gcry_mpi_scan($4,1,$20,$22,0)|0);
$24 = ($23|0)==(0);
if (!($24)) {
$$0 = $23;
STACKTOP = sp;return ($$0|0);
}
$25 = HEAP32[$3>>2]|0;
$26 = (($25) + -1)|0;
$27 = $26 >>> 1;
$28 = (($20) + ($27)|0);
$29 = (__gcry_mpi_scan($5,1,$28,$27,0)|0);
$30 = ($29|0)==(0);
$31 = HEAP32[$4>>2]|0;
if (!($30)) {
__gcry_mpi_free($31);
$$0 = $29;
STACKTOP = sp;return ($$0|0);
}
$32 = HEAP32[$5>>2]|0;
$33 = $1 >>> 3;
$34 = (__gcry_mpi_get_buffer_extra($32,$33,0,$2,0)|0);
$35 = ($34|0)==(0|0);
if ($35) {
$36 = (_gpg_err_code_from_syserror()|0);
$$0$i = $36;$$024 = 0;
} else {
$37 = (__gcry_mpi_test_bit($31,0)|0);
$38 = ($37|0)!=(0);
$39 = HEAP32[$2>>2]|0;
$40 = ($39|0)!=(0);
$or$cond$i = $38 & $40;
$41 = (($39) + -1)|0;
$42 = (($34) + ($41)|0);
if ($or$cond$i) {
$43 = HEAP8[$42>>0]|0;
$44 = $43 | -128;
HEAP8[$42>>0] = $44;
$$pre = HEAP32[$2>>2]|0;
$45 = $$pre;
} else {
$45 = $39;
}
$phitmp = $45 << 3;
$$0$i = 0;$$024 = $phitmp;
}
$46 = HEAP32[$4>>2]|0;
__gcry_mpi_free($46);
$47 = HEAP32[$5>>2]|0;
__gcry_mpi_free($47);
$48 = ($$0$i|0)==(0);
if (!($48)) {
$$0 = $$0$i;
STACKTOP = sp;return ($$0|0);
}
(__gcry_mpi_set_opaque($0,$34,$$024)|0);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
break;
}
case 64: {
$49 = ((($11)) + 1|0);
$50 = (($13) + -1)|0;
$51 = $50 & -8;
$52 = (__gcry_mpi_set_opaque_copy($0,$49,$51)|0);
$53 = ($52|0)==(0|0);
if (!($53)) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$54 = (_gpg_err_code_from_syserror()|0);
$$0 = $54;
STACKTOP = sp;return ($$0|0);
break;
}
default: {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
return (0)|0;
}
function __gcry_ecc_eddsa_recover_x($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$080 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$4 = sp + 16|0;
$5 = sp + 12|0;
$6 = ((($3)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(1);
if (!($8)) {
$$0 = 69;
STACKTOP = sp;return ($$0|0);
}
$9 = HEAP32[18111]|0;
$10 = ($9|0)==(0|0);
do {
if ($10) {
$11 = (__gcry_mpi_scan($5,4,57637,0,0)|0);
$12 = ($11|0)==(0);
if ($12) {
$14 = HEAP32[$5>>2]|0;
HEAP32[18111] = $14;
break;
} else {
$13 = (_gpg_strerror($11)|0);
HEAP32[$vararg_buffer>>2] = $13;
__gcry_log_fatal(57702,$vararg_buffer);
// unreachable;
}
}
} while(0);
$15 = HEAP32[18112]|0;
$16 = ($15|0)==(0|0);
if ($16) {
$17 = (__gcry_mpi_set_ui(0,7)|0);
HEAP32[18112] = $17;
}
$18 = (__gcry_mpi_new(0)|0);
$19 = (__gcry_mpi_new(0)|0);
$20 = (__gcry_mpi_new(0)|0);
$21 = (__gcry_mpi_new(0)|0);
$22 = ((($3)) + 16|0);
$23 = HEAP32[$22>>2]|0;
__gcry_mpi_mulm($18,$1,$1,$23);
$24 = ((($3)) + 24|0);
$25 = HEAP32[$24>>2]|0;
$26 = HEAP32[$22>>2]|0;
__gcry_mpi_mulm($19,$25,$18,$26);
__gcry_mpi_sub_ui($18,$18,1);
__gcry_mpi_add_ui($19,$19,1);
$27 = (__gcry_mpi_const(3)|0);
$28 = HEAP32[$22>>2]|0;
__gcry_mpi_powm($20,$19,$27,$28);
$29 = HEAP32[18112]|0;
$30 = HEAP32[$22>>2]|0;
__gcry_mpi_powm($21,$19,$29,$30);
$31 = HEAP32[$22>>2]|0;
__gcry_mpi_mulm($21,$21,$18,$31);
$32 = HEAP32[18111]|0;
$33 = HEAP32[$22>>2]|0;
__gcry_mpi_powm($21,$21,$32,$33);
$34 = HEAP32[$22>>2]|0;
__gcry_mpi_mulm($21,$21,$18,$34);
$35 = HEAP32[$22>>2]|0;
__gcry_mpi_mulm($0,$21,$20,$35);
$36 = HEAP32[$22>>2]|0;
__gcry_mpi_mulm($21,$0,$0,$36);
$37 = HEAP32[$22>>2]|0;
__gcry_mpi_mulm($21,$21,$19,$37);
__gcry_mpi_neg($21,$21);
$38 = (__gcry_mpi_cmp($21,$18)|0);
$39 = ($38|0)==(0);
if ($39) {
$40 = HEAP32[18113]|0;
$41 = ($40|0)==(0|0);
do {
if ($41) {
$42 = (__gcry_mpi_scan($4,4,57737,0,0)|0);
$43 = ($42|0)==(0);
if ($43) {
$45 = HEAP32[$4>>2]|0;
HEAP32[18113] = $45;
$46 = $45;
$48 = $46;
break;
} else {
$44 = (_gpg_strerror($42)|0);
HEAP32[$vararg_buffer1>>2] = $44;
__gcry_log_fatal(57702,$vararg_buffer1);
// unreachable;
}
} else {
$48 = $40;
}
} while(0);
$47 = HEAP32[$22>>2]|0;
__gcry_mpi_mulm($0,$0,$48,$47);
$49 = HEAP32[$22>>2]|0;
__gcry_mpi_mulm($21,$0,$0,$49);
$50 = HEAP32[$22>>2]|0;
__gcry_mpi_mulm($21,$21,$19,$50);
__gcry_mpi_neg($21,$21);
$51 = (__gcry_mpi_cmp($21,$18)|0);
$52 = ($51|0)==(0);
$spec$select = $52 ? 65 : 0;
$$080 = $spec$select;
} else {
$$080 = 0;
}
$53 = (__gcry_mpi_test_bit($0,0)|0);
$54 = ($2|0)!=(0);
$55 = $54&1;
$56 = ($53|0)==($55|0);
if (!($56)) {
$57 = HEAP32[$22>>2]|0;
__gcry_mpi_sub($0,$57,$0);
}
__gcry_mpi_free($21);
__gcry_mpi_free($20);
__gcry_mpi_free($19);
__gcry_mpi_free($18);
$$0 = $$080;
STACKTOP = sp;return ($$0|0);
}
function __gcry_ecc_eddsa_decodepoint($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$016$i = 0, $$016$i66 = 0, $$057 = 0, $$058 = 0, $$061 = 0, $$160 = 0, $$2 = 0, $$lobit = 0, $$pr$pre = 0, $$pre = 0, $$pre70 = 0, $$pre71 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0;
var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i = 0, $exitcond$i67 = 0, $or$cond = 0, $or$cond$i = 0, $or$cond64 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp + 12|0;
$6 = sp + 8|0;
$7 = sp + 4|0;
$8 = sp;
$9 = ($0|0)==(0|0);
if ($9) {
label = 24;
} else {
$10 = ((($0)) + 12|0);
$11 = HEAP32[$10>>2]|0;
$12 = $11 & 4;
$13 = ($12|0)==(0);
if ($13) {
label = 24;
} else {
$14 = (__gcry_mpi_get_opaque($0,$6)|0);
$15 = ($14|0)==(0|0);
if ($15) {
$$2 = 65;
STACKTOP = sp;return ($$2|0);
}
$16 = HEAP32[$6>>2]|0;
$17 = (($16) + 7)|0;
$18 = $17 >>> 3;
HEAP32[$6>>2] = $18;
$19 = ($17>>>0)<(16);
$20 = $17 & 8;
$21 = ($20|0)==(0);
$or$cond64 = $19 | $21;
L7: do {
if ($or$cond64) {
$$057 = $14;$66 = $18;
} else {
$22 = HEAP8[$14>>0]|0;
switch ($22<<24>>24) {
case 4: {
break;
}
case 64: {
$63 = (($18) + -1)|0;
HEAP32[$6>>2] = $63;
$64 = ((($14)) + 1|0);
$$057 = $64;$66 = $63;
break L7;
break;
}
default: {
$$057 = $14;$66 = $18;
break L7;
}
}
$23 = ((($14)) + 1|0);
$24 = (($18) + -1)|0;
$25 = $24 >>> 1;
$26 = (__gcry_mpi_scan($7,1,$23,$25,0)|0);
$27 = ($26|0)==(0);
L12: do {
if ($27) {
$28 = HEAP32[$6>>2]|0;
$29 = (($28) + -1)|0;
$30 = $29 >>> 1;
$31 = (($23) + ($30)|0);
$32 = (__gcry_mpi_scan($8,1,$31,$30,0)|0);
$33 = ($32|0)==(0);
if (!($33)) {
$34 = HEAP32[$7>>2]|0;
__gcry_mpi_free($34);
$$061 = $32;
break;
}
$35 = ($3|0)==(0|0);
do {
if (!($35)) {
$36 = HEAP32[$7>>2]|0;
$37 = HEAP32[$8>>2]|0;
$38 = ((($1)) + 12|0);
$39 = HEAP32[$38>>2]|0;
$40 = $39 >>> 3;
$41 = (__gcry_mpi_get_buffer_extra($37,$40,0,$5,0)|0);
$42 = ($41|0)==(0|0);
if ($42) {
$52 = (_gpg_err_code_from_syserror()|0);
$53 = ($52|0)==(0);
if ($53) {
break;
}
$54 = HEAP32[$7>>2]|0;
__gcry_mpi_free($54);
$55 = HEAP32[$8>>2]|0;
__gcry_mpi_free($55);
$$061 = $52;
break L12;
}
$43 = (__gcry_mpi_test_bit($36,0)|0);
$44 = ($43|0)!=(0);
$45 = HEAP32[$5>>2]|0;
$46 = ($45|0)!=(0);
$or$cond$i = $44 & $46;
$47 = (($45) + -1)|0;
$48 = (($41) + ($47)|0);
if ($or$cond$i) {
$49 = HEAP8[$48>>0]|0;
$50 = $49 | -128;
HEAP8[$48>>0] = $50;
$$pre = HEAP32[$5>>2]|0;
$51 = $$pre;
} else {
$51 = $45;
}
HEAP32[$3>>2] = $41;
HEAP32[$4>>2] = $51;
}
} while(0);
$56 = HEAP32[$2>>2]|0;
$57 = HEAP32[$7>>2]|0;
__gcry_mpi_snatch($56,$57);
$58 = ((($2)) + 4|0);
$59 = HEAP32[$58>>2]|0;
$60 = HEAP32[$8>>2]|0;
__gcry_mpi_snatch($59,$60);
$61 = ((($2)) + 8|0);
$62 = HEAP32[$61>>2]|0;
(__gcry_mpi_set_ui($62,1)|0);
$$061 = 0;
} else {
$$061 = $26;
}
} while(0);
$$2 = $$061;
STACKTOP = sp;return ($$2|0);
}
} while(0);
$65 = ($66|0)==(0);
$67 = $65 ? 1 : $66;
$68 = (__gcry_malloc($67)|0);
$69 = ($68|0)==(0|0);
if ($69) {
$70 = (_gpg_err_code_from_syserror()|0);
$$2 = $70;
STACKTOP = sp;return ($$2|0);
}
$71 = HEAP32[$6>>2]|0;
_memcpy(($68|0),($$057|0),($71|0))|0;
$72 = $71 >>> 1;
$73 = ($72|0)==(0);
if ($73) {
$$160 = $68;$88 = $71;
} else {
$74 = (($71) + -1)|0;
$$016$i = 0;
while(1) {
$75 = (($68) + ($$016$i)|0);
$76 = HEAP8[$75>>0]|0;
$77 = (($74) - ($$016$i))|0;
$78 = (($68) + ($77)|0);
$79 = HEAP8[$78>>0]|0;
HEAP8[$75>>0] = $79;
HEAP8[$78>>0] = $76;
$80 = (($$016$i) + 1)|0;
$exitcond$i = ($80|0)==($72|0);
if ($exitcond$i) {
$$160 = $68;$88 = $71;
break;
} else {
$$016$i = $80;
}
}
}
}
}
do {
if ((label|0) == 24) {
$81 = ((($1)) + 12|0);
$82 = HEAP32[$81>>2]|0;
$83 = $82 >>> 3;
$84 = (__gcry_mpi_get_buffer($0,$83,$6,0)|0);
$85 = ($84|0)==(0|0);
if (!($85)) {
$$pr$pre = HEAP32[$6>>2]|0;
$$160 = $84;$88 = $$pr$pre;
break;
}
$86 = (_gpg_err_code_from_syserror()|0);
$$2 = $86;
STACKTOP = sp;return ($$2|0);
}
} while(0);
$87 = ($88|0)==(0);
if ($87) {
$$058 = 0;$95 = 0;
} else {
$89 = HEAP8[$$160>>0]|0;
$90 = $89&255;
$$lobit = $90 >>> 7;
$91 = $90 & 127;
$92 = $91&255;
HEAP8[$$160>>0] = $92;
$$pre70 = HEAP32[$6>>2]|0;
$$058 = $$lobit;$95 = $$pre70;
}
$93 = ((($2)) + 4|0);
$94 = HEAP32[$93>>2]|0;
__gcry_mpi_set_buffer($94,$$160,$95,0);
$96 = ($3|0)==(0|0);
if ($96) {
__gcry_free($$160);
} else {
$97 = ($$058|0)!=(0);
$98 = HEAP32[$6>>2]|0;
$99 = ($98|0)!=(0);
$or$cond = $97 & $99;
if ($or$cond) {
$100 = HEAP8[$$160>>0]|0;
$101 = $100 | -128;
HEAP8[$$160>>0] = $101;
$$pre71 = HEAP32[$6>>2]|0;
$103 = $$pre71;
} else {
$103 = $98;
}
$102 = $103 >>> 1;
$104 = ($102|0)==(0);
if (!($104)) {
$105 = (($103) + -1)|0;
$$016$i66 = 0;
while(1) {
$106 = (($$160) + ($$016$i66)|0);
$107 = HEAP8[$106>>0]|0;
$108 = (($105) - ($$016$i66))|0;
$109 = (($$160) + ($108)|0);
$110 = HEAP8[$109>>0]|0;
HEAP8[$106>>0] = $110;
HEAP8[$109>>0] = $107;
$111 = (($$016$i66) + 1)|0;
$exitcond$i67 = ($111|0)==($102|0);
if ($exitcond$i67) {
break;
} else {
$$016$i66 = $111;
}
}
}
HEAP32[$3>>2] = $$160;
$112 = ($4|0)==(0|0);
if (!($112)) {
$113 = HEAP32[$6>>2]|0;
HEAP32[$4>>2] = $113;
}
}
$114 = HEAP32[$2>>2]|0;
$115 = HEAP32[$93>>2]|0;
$116 = (__gcry_ecc_eddsa_recover_x($114,$115,$$058,$1)|0);
$117 = ((($2)) + 8|0);
$118 = HEAP32[$117>>2]|0;
(__gcry_mpi_set_ui($118,1)|0);
$$2 = $116;
STACKTOP = sp;return ($$2|0);
}
function __gcry_ecc_eddsa_compute_h_d($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$mask = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$3 = sp + 32|0;
$4 = sp;
HEAP32[$0>>2] = 0;
$5 = ((($2)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = (($6) + 7)|0;
$$mask = $7 & -8;
$8 = ($$mask|0)==(256);
if (!($8)) {
$$0 = 63;
STACKTOP = sp;return ($$0|0);
}
$9 = (__gcry_calloc_secure(2,32)|0);
$10 = ($9|0)==(0|0);
if ($10) {
$11 = (_gpg_err_code_from_syserror()|0);
$$0 = $11;
STACKTOP = sp;return ($$0|0);
}
;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0;HEAP32[$4+28>>2]=0|0;
$12 = (__gcry_mpi_get_buffer($1,0,$3,0)|0);
$13 = ($12|0)==(0|0);
if ($13) {
__gcry_free($9);
$14 = (_gpg_err_code_from_syserror()|0);
$$0 = $14;
STACKTOP = sp;return ($$0|0);
}
$15 = ((($4)) + 12|0);
HEAP32[$15>>2] = $9;
$16 = ((($4)) + 4|0);
HEAP32[$16>>2] = 0;
$17 = HEAP32[$3>>2]|0;
$18 = ($17>>>0)<(32);
$19 = (32 - ($17))|0;
$spec$select = $18 ? $19 : 0;
$20 = ((($4)) + 8|0);
HEAP32[$20>>2] = $spec$select;
$21 = ((($4)) + 28|0);
HEAP32[$21>>2] = $12;
$22 = ((($4)) + 20|0);
HEAP32[$22>>2] = 0;
$23 = ((($4)) + 24|0);
HEAP32[$23>>2] = $17;
$24 = (__gcry_md_hash_buffers(10,0,$9,$4,2)|0);
__gcry_free($12);
$25 = ($24|0)==(0);
if ($25) {
$26 = HEAP8[$9>>0]|0;
$27 = ((($9)) + 31|0);
$28 = HEAP8[$27>>0]|0;
$29 = ((($9)) + 1|0);
$30 = HEAP8[$29>>0]|0;
$31 = ((($9)) + 30|0);
$32 = HEAP8[$31>>0]|0;
HEAP8[$29>>0] = $32;
HEAP8[$31>>0] = $30;
$33 = ((($9)) + 2|0);
$34 = HEAP8[$33>>0]|0;
$35 = ((($9)) + 29|0);
$36 = HEAP8[$35>>0]|0;
HEAP8[$33>>0] = $36;
HEAP8[$35>>0] = $34;
$37 = ((($9)) + 3|0);
$38 = HEAP8[$37>>0]|0;
$39 = ((($9)) + 28|0);
$40 = HEAP8[$39>>0]|0;
HEAP8[$37>>0] = $40;
HEAP8[$39>>0] = $38;
$41 = ((($9)) + 4|0);
$42 = HEAP8[$41>>0]|0;
$43 = ((($9)) + 27|0);
$44 = HEAP8[$43>>0]|0;
HEAP8[$41>>0] = $44;
HEAP8[$43>>0] = $42;
$45 = ((($9)) + 5|0);
$46 = HEAP8[$45>>0]|0;
$47 = ((($9)) + 26|0);
$48 = HEAP8[$47>>0]|0;
HEAP8[$45>>0] = $48;
HEAP8[$47>>0] = $46;
$49 = ((($9)) + 6|0);
$50 = HEAP8[$49>>0]|0;
$51 = ((($9)) + 25|0);
$52 = HEAP8[$51>>0]|0;
HEAP8[$49>>0] = $52;
HEAP8[$51>>0] = $50;
$53 = ((($9)) + 7|0);
$54 = HEAP8[$53>>0]|0;
$55 = ((($9)) + 24|0);
$56 = HEAP8[$55>>0]|0;
HEAP8[$53>>0] = $56;
HEAP8[$55>>0] = $54;
$57 = ((($9)) + 8|0);
$58 = HEAP8[$57>>0]|0;
$59 = ((($9)) + 23|0);
$60 = HEAP8[$59>>0]|0;
HEAP8[$57>>0] = $60;
HEAP8[$59>>0] = $58;
$61 = ((($9)) + 9|0);
$62 = HEAP8[$61>>0]|0;
$63 = ((($9)) + 22|0);
$64 = HEAP8[$63>>0]|0;
HEAP8[$61>>0] = $64;
HEAP8[$63>>0] = $62;
$65 = ((($9)) + 10|0);
$66 = HEAP8[$65>>0]|0;
$67 = ((($9)) + 21|0);
$68 = HEAP8[$67>>0]|0;
HEAP8[$65>>0] = $68;
HEAP8[$67>>0] = $66;
$69 = ((($9)) + 11|0);
$70 = HEAP8[$69>>0]|0;
$71 = ((($9)) + 20|0);
$72 = HEAP8[$71>>0]|0;
HEAP8[$69>>0] = $72;
HEAP8[$71>>0] = $70;
$73 = ((($9)) + 12|0);
$74 = HEAP8[$73>>0]|0;
$75 = ((($9)) + 19|0);
$76 = HEAP8[$75>>0]|0;
HEAP8[$73>>0] = $76;
HEAP8[$75>>0] = $74;
$77 = ((($9)) + 13|0);
$78 = HEAP8[$77>>0]|0;
$79 = ((($9)) + 18|0);
$80 = HEAP8[$79>>0]|0;
HEAP8[$77>>0] = $80;
HEAP8[$79>>0] = $78;
$81 = ((($9)) + 14|0);
$82 = HEAP8[$81>>0]|0;
$83 = ((($9)) + 17|0);
$84 = HEAP8[$83>>0]|0;
HEAP8[$81>>0] = $84;
HEAP8[$83>>0] = $82;
$85 = ((($9)) + 15|0);
$86 = HEAP8[$85>>0]|0;
$87 = ((($9)) + 16|0);
$88 = HEAP8[$87>>0]|0;
HEAP8[$85>>0] = $88;
HEAP8[$87>>0] = $86;
$89 = $28 & 63;
$90 = $89 | 64;
HEAP8[$9>>0] = $90;
$91 = $26 & -8;
HEAP8[$27>>0] = $91;
HEAP32[$0>>2] = $9;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
} else {
__gcry_free($9);
$$0 = $24;
STACKTOP = sp;return ($$0|0);
}
return (0)|0;
}
function __gcry_ecc_eddsa_genkey($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$064 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$4 = sp + 16|0;
$5 = sp;
__gcry_mpi_point_init($4);
;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;
$6 = (__gcry_mpi_snew(0)|0);
$7 = (__gcry_mpi_new(0)|0);
$8 = (__gcry_mpi_new(0)|0);
$9 = (__gcry_malloc_secure(64)|0);
$10 = ($9|0)==(0|0);
if ($10) {
$11 = (_gpg_err_code_from_syserror()|0);
$12 = ($11|0)==(0);
$13 = $11 & 65535;
$14 = $13 | 16777216;
$15 = $12 ? 0 : $14;
$$0 = 0;$$064 = $15;
__gcry_mpi_point_free_parts($4);
__gcry_mpi_release($6);
__gcry_mpi_release($7);
__gcry_mpi_release($8);
__gcry_free($$0);
STACKTOP = sp;return ($$064|0);
}
$16 = $3 >>> 5;
$17 = $16 & 1;
$18 = (2 - ($17))|0;
$19 = (__gcry_random_bytes_secure(32,$18)|0);
$20 = ((($5)) + 12|0);
HEAP32[$20>>2] = $19;
$21 = ((($5)) + 8|0);
HEAP32[$21>>2] = 32;
$22 = (__gcry_md_hash_buffers(10,0,$9,$5,1)|0);
$23 = ($22|0)==(0);
if (!($23)) {
$$0 = $9;$$064 = $22;
__gcry_mpi_point_free_parts($4);
__gcry_mpi_release($6);
__gcry_mpi_release($7);
__gcry_mpi_release($8);
__gcry_free($$0);
STACKTOP = sp;return ($$064|0);
}
$24 = (__gcry_mpi_set_opaque(0,$19,256)|0);
$25 = ((($0)) + 56|0);
HEAP32[$25>>2] = $24;
$26 = HEAP8[$9>>0]|0;
$27 = ((($9)) + 31|0);
$28 = HEAP8[$27>>0]|0;
$29 = ((($9)) + 1|0);
$30 = HEAP8[$29>>0]|0;
$31 = ((($9)) + 30|0);
$32 = HEAP8[$31>>0]|0;
HEAP8[$29>>0] = $32;
HEAP8[$31>>0] = $30;
$33 = ((($9)) + 2|0);
$34 = HEAP8[$33>>0]|0;
$35 = ((($9)) + 29|0);
$36 = HEAP8[$35>>0]|0;
HEAP8[$33>>0] = $36;
HEAP8[$35>>0] = $34;
$37 = ((($9)) + 3|0);
$38 = HEAP8[$37>>0]|0;
$39 = ((($9)) + 28|0);
$40 = HEAP8[$39>>0]|0;
HEAP8[$37>>0] = $40;
HEAP8[$39>>0] = $38;
$41 = ((($9)) + 4|0);
$42 = HEAP8[$41>>0]|0;
$43 = ((($9)) + 27|0);
$44 = HEAP8[$43>>0]|0;
HEAP8[$41>>0] = $44;
HEAP8[$43>>0] = $42;
$45 = ((($9)) + 5|0);
$46 = HEAP8[$45>>0]|0;
$47 = ((($9)) + 26|0);
$48 = HEAP8[$47>>0]|0;
HEAP8[$45>>0] = $48;
HEAP8[$47>>0] = $46;
$49 = ((($9)) + 6|0);
$50 = HEAP8[$49>>0]|0;
$51 = ((($9)) + 25|0);
$52 = HEAP8[$51>>0]|0;
HEAP8[$49>>0] = $52;
HEAP8[$51>>0] = $50;
$53 = ((($9)) + 7|0);
$54 = HEAP8[$53>>0]|0;
$55 = ((($9)) + 24|0);
$56 = HEAP8[$55>>0]|0;
HEAP8[$53>>0] = $56;
HEAP8[$55>>0] = $54;
$57 = ((($9)) + 8|0);
$58 = HEAP8[$57>>0]|0;
$59 = ((($9)) + 23|0);
$60 = HEAP8[$59>>0]|0;
HEAP8[$57>>0] = $60;
HEAP8[$59>>0] = $58;
$61 = ((($9)) + 9|0);
$62 = HEAP8[$61>>0]|0;
$63 = ((($9)) + 22|0);
$64 = HEAP8[$63>>0]|0;
HEAP8[$61>>0] = $64;
HEAP8[$63>>0] = $62;
$65 = ((($9)) + 10|0);
$66 = HEAP8[$65>>0]|0;
$67 = ((($9)) + 21|0);
$68 = HEAP8[$67>>0]|0;
HEAP8[$65>>0] = $68;
HEAP8[$67>>0] = $66;
$69 = ((($9)) + 11|0);
$70 = HEAP8[$69>>0]|0;
$71 = ((($9)) + 20|0);
$72 = HEAP8[$71>>0]|0;
HEAP8[$69>>0] = $72;
HEAP8[$71>>0] = $70;
$73 = ((($9)) + 12|0);
$74 = HEAP8[$73>>0]|0;
$75 = ((($9)) + 19|0);
$76 = HEAP8[$75>>0]|0;
HEAP8[$73>>0] = $76;
HEAP8[$75>>0] = $74;
$77 = ((($9)) + 13|0);
$78 = HEAP8[$77>>0]|0;
$79 = ((($9)) + 18|0);
$80 = HEAP8[$79>>0]|0;
HEAP8[$77>>0] = $80;
HEAP8[$79>>0] = $78;
$81 = ((($9)) + 14|0);
$82 = HEAP8[$81>>0]|0;
$83 = ((($9)) + 17|0);
$84 = HEAP8[$83>>0]|0;
HEAP8[$81>>0] = $84;
HEAP8[$83>>0] = $82;
$85 = ((($9)) + 15|0);
$86 = HEAP8[$85>>0]|0;
$87 = ((($9)) + 16|0);
$88 = HEAP8[$87>>0]|0;
HEAP8[$85>>0] = $88;
HEAP8[$87>>0] = $86;
$89 = $28 & 63;
$90 = $89 | 64;
HEAP8[$9>>0] = $90;
$91 = $26 & -8;
HEAP8[$27>>0] = $91;
__gcry_mpi_set_buffer($6,$9,32,0);
__gcry_free($9);
$92 = ((($1)) + 20|0);
__gcry_mpi_ec_mul_point($4,$6,$92,$2);
$93 = (__gcry_get_debug_flag(1)|0);
$94 = ($93|0)==(0);
if (!($94)) {
__gcry_mpi_point_log(57802,$4,$2);
}
$95 = HEAP32[$1>>2]|0;
HEAP32[$0>>2] = $95;
$96 = ((($1)) + 4|0);
$97 = HEAP32[$96>>2]|0;
$98 = ((($0)) + 4|0);
HEAP32[$98>>2] = $97;
$99 = ((($1)) + 8|0);
$100 = HEAP32[$99>>2]|0;
$101 = (__gcry_mpi_copy($100)|0);
$102 = ((($0)) + 8|0);
HEAP32[$102>>2] = $101;
$103 = ((($1)) + 12|0);
$104 = HEAP32[$103>>2]|0;
$105 = (__gcry_mpi_copy($104)|0);
$106 = ((($0)) + 12|0);
HEAP32[$106>>2] = $105;
$107 = ((($1)) + 16|0);
$108 = HEAP32[$107>>2]|0;
$109 = (__gcry_mpi_copy($108)|0);
$110 = ((($0)) + 16|0);
HEAP32[$110>>2] = $109;
$111 = ((($0)) + 20|0);
__gcry_mpi_point_init($111);
$112 = HEAP32[$111>>2]|0;
$113 = HEAP32[$92>>2]|0;
(__gcry_mpi_set($112,$113)|0);
$114 = ((($0)) + 24|0);
$115 = HEAP32[$114>>2]|0;
$116 = ((($1)) + 24|0);
$117 = HEAP32[$116>>2]|0;
(__gcry_mpi_set($115,$117)|0);
$118 = ((($0)) + 28|0);
$119 = HEAP32[$118>>2]|0;
$120 = ((($1)) + 28|0);
$121 = HEAP32[$120>>2]|0;
(__gcry_mpi_set($119,$121)|0);
$122 = ((($1)) + 32|0);
$123 = HEAP32[$122>>2]|0;
$124 = (__gcry_mpi_copy($123)|0);
$125 = ((($0)) + 32|0);
HEAP32[$125>>2] = $124;
$126 = ((($1)) + 36|0);
$127 = HEAP32[$126>>2]|0;
$128 = (__gcry_mpi_copy($127)|0);
$129 = ((($0)) + 36|0);
HEAP32[$129>>2] = $128;
$130 = ((($0)) + 44|0);
__gcry_mpi_point_init($130);
$131 = HEAP32[$130>>2]|0;
$132 = HEAP32[$4>>2]|0;
(__gcry_mpi_set($131,$132)|0);
$133 = ((($0)) + 48|0);
$134 = HEAP32[$133>>2]|0;
$135 = ((($4)) + 4|0);
$136 = HEAP32[$135>>2]|0;
(__gcry_mpi_set($134,$136)|0);
$137 = ((($0)) + 52|0);
$138 = HEAP32[$137>>2]|0;
$139 = ((($4)) + 8|0);
$140 = HEAP32[$139>>2]|0;
(__gcry_mpi_set($138,$140)|0);
$$0 = 0;$$064 = 0;
__gcry_mpi_point_free_parts($4);
__gcry_mpi_release($6);
__gcry_mpi_release($7);
__gcry_mpi_release($8);
__gcry_free($$0);
STACKTOP = sp;return ($$064|0);
}
function __gcry_ecc_eddsa_sign($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$0 = 0, $$082 = 0, $$mask = 0, $$pre = 0, $$pre88 = 0, $$pre90 = 0, $$pre91 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0;
var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0;
var $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0;
var $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0;
var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$6 = sp + 96|0;
$7 = sp + 92|0;
$8 = sp + 88|0;
$9 = sp;
$10 = sp + 84|0;
$11 = sp + 80|0;
$12 = sp + 76|0;
$13 = sp + 72|0;
$14 = sp + 60|0;
$15 = sp + 48|0;
HEAP32[$10>>2] = 0;
HEAP32[$12>>2] = 0;
dest=$9; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$16 = ($0|0)==(0|0);
if ($16) {
$$0 = 79;
STACKTOP = sp;return ($$0|0);
}
$17 = ((($0)) + 12|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 & 4;
$20 = ($19|0)==(0);
if ($20) {
$$0 = 79;
STACKTOP = sp;return ($$0|0);
}
__gcry_mpi_point_init($14);
__gcry_mpi_point_init($15);
$21 = (__gcry_mpi_snew(0)|0);
$22 = (__gcry_mpi_new(0)|0);
$23 = (__gcry_mpi_new(0)|0);
$24 = (__gcry_mpi_new(0)|0);
$25 = HEAP32[$1>>2]|0;
$26 = ((($1)) + 4|0);
$27 = HEAP32[$26>>2]|0;
$28 = ((($1)) + 8|0);
$29 = HEAP32[$28>>2]|0;
$30 = ((($1)) + 12|0);
$31 = HEAP32[$30>>2]|0;
$32 = ((($1)) + 16|0);
$33 = HEAP32[$32>>2]|0;
$34 = (__gcry_mpi_ec_p_internal_new($25,$27,0,$29,$31,$33)|0);
$35 = ((($34)) + 12|0);
$36 = HEAP32[$35>>2]|0;
$37 = (($36) + 7)|0;
$$mask = $37 & -8;
$38 = ($$mask|0)==(256);
if (!($38)) {
$$0 = 63;
STACKTOP = sp;return ($$0|0);
}
$39 = ((($1)) + 56|0);
$40 = HEAP32[$39>>2]|0;
$41 = (__gcry_ecc_eddsa_compute_h_d($8,$40,$34)|0);
$42 = ($41|0)==(0);
do {
if ($42) {
$43 = HEAP32[$8>>2]|0;
__gcry_mpi_set_buffer($21,$43,32,0);
$44 = ($5|0)==(0|0);
$45 = $43;
if ($44) {
$54 = ((($1)) + 20|0);
__gcry_mpi_ec_mul_point($15,$21,$54,$34);
$55 = (__gcry_ecc_eddsa_encodepoint($15,$34,$22,$23,0,$12,$13)|0);
$56 = ($55|0)==(0);
if (!($56)) {
$$082 = $55;
break;
}
$57 = (__gcry_get_debug_flag(1)|0);
$58 = ($57|0)==(0);
if (!($58)) {
$59 = HEAP32[$12>>2]|0;
$60 = HEAP32[$13>>2]|0;
__gcry_log_printhex(57823,$59,$60);
}
} else {
$46 = (__gcry_ecc_eddsa_decodepoint($5,$34,$15,$12,$13)|0);
$47 = ($46|0)==(0);
if (!($47)) {
$$082 = $46;
break;
}
$48 = (__gcry_get_debug_flag(1)|0);
$49 = ($48|0)==(0);
if (!($49)) {
$50 = HEAP32[$12>>2]|0;
$51 = HEAP32[$13>>2]|0;
__gcry_log_printhex(57816,$50,$51);
}
$52 = (__gcry_mpi_ec_curve_point($15,$34)|0);
$53 = ($52|0)==(0);
if ($53) {
$$082 = 195;
break;
}
}
$61 = (__gcry_mpi_get_opaque($0,$7)|0);
$62 = HEAP32[$7>>2]|0;
$63 = (($62) + 7)|0;
$64 = $63 >>> 3;
$65 = (__gcry_get_debug_flag(1)|0);
$66 = ($65|0)==(0);
if (!($66)) {
__gcry_log_printhex(57830,$61,$64);
}
$67 = ((($9)) + 12|0);
HEAP32[$67>>2] = $45;
$68 = ((($9)) + 4|0);
HEAP32[$68>>2] = 32;
$69 = ((($9)) + 8|0);
HEAP32[$69>>2] = 32;
$70 = ((($9)) + 28|0);
HEAP32[$70>>2] = $61;
$71 = ((($9)) + 24|0);
HEAP32[$71>>2] = $64;
$72 = (__gcry_md_hash_buffers($4,0,$43,$9,2)|0);
$73 = ($72|0)==(0);
if ($73) {
$74 = HEAP8[$43>>0]|0;
$75 = ((($43)) + 63|0);
$76 = HEAP8[$75>>0]|0;
HEAP8[$43>>0] = $76;
HEAP8[$75>>0] = $74;
$77 = ((($43)) + 1|0);
$78 = HEAP8[$77>>0]|0;
$79 = ((($43)) + 62|0);
$80 = HEAP8[$79>>0]|0;
HEAP8[$77>>0] = $80;
HEAP8[$79>>0] = $78;
$81 = ((($43)) + 2|0);
$82 = HEAP8[$81>>0]|0;
$83 = ((($43)) + 61|0);
$84 = HEAP8[$83>>0]|0;
HEAP8[$81>>0] = $84;
HEAP8[$83>>0] = $82;
$85 = ((($43)) + 3|0);
$86 = HEAP8[$85>>0]|0;
$87 = ((($43)) + 60|0);
$88 = HEAP8[$87>>0]|0;
HEAP8[$85>>0] = $88;
HEAP8[$87>>0] = $86;
$89 = ((($43)) + 4|0);
$90 = HEAP8[$89>>0]|0;
$91 = ((($43)) + 59|0);
$92 = HEAP8[$91>>0]|0;
HEAP8[$89>>0] = $92;
HEAP8[$91>>0] = $90;
$93 = ((($43)) + 5|0);
$94 = HEAP8[$93>>0]|0;
$95 = ((($43)) + 58|0);
$96 = HEAP8[$95>>0]|0;
HEAP8[$93>>0] = $96;
HEAP8[$95>>0] = $94;
$97 = ((($43)) + 6|0);
$98 = HEAP8[$97>>0]|0;
$99 = ((($43)) + 57|0);
$100 = HEAP8[$99>>0]|0;
HEAP8[$97>>0] = $100;
HEAP8[$99>>0] = $98;
$101 = ((($43)) + 7|0);
$102 = HEAP8[$101>>0]|0;
$103 = ((($43)) + 56|0);
$104 = HEAP8[$103>>0]|0;
HEAP8[$101>>0] = $104;
HEAP8[$103>>0] = $102;
$105 = ((($43)) + 8|0);
$106 = HEAP8[$105>>0]|0;
$107 = ((($43)) + 55|0);
$108 = HEAP8[$107>>0]|0;
HEAP8[$105>>0] = $108;
HEAP8[$107>>0] = $106;
$109 = ((($43)) + 9|0);
$110 = HEAP8[$109>>0]|0;
$111 = ((($43)) + 54|0);
$112 = HEAP8[$111>>0]|0;
HEAP8[$109>>0] = $112;
HEAP8[$111>>0] = $110;
$113 = ((($43)) + 10|0);
$114 = HEAP8[$113>>0]|0;
$115 = ((($43)) + 53|0);
$116 = HEAP8[$115>>0]|0;
HEAP8[$113>>0] = $116;
HEAP8[$115>>0] = $114;
$117 = ((($43)) + 11|0);
$118 = HEAP8[$117>>0]|0;
$119 = ((($43)) + 52|0);
$120 = HEAP8[$119>>0]|0;
HEAP8[$117>>0] = $120;
HEAP8[$119>>0] = $118;
$121 = ((($43)) + 12|0);
$122 = HEAP8[$121>>0]|0;
$123 = ((($43)) + 51|0);
$124 = HEAP8[$123>>0]|0;
HEAP8[$121>>0] = $124;
HEAP8[$123>>0] = $122;
$125 = ((($43)) + 13|0);
$126 = HEAP8[$125>>0]|0;
$127 = ((($43)) + 50|0);
$128 = HEAP8[$127>>0]|0;
HEAP8[$125>>0] = $128;
HEAP8[$127>>0] = $126;
$129 = ((($43)) + 14|0);
$130 = HEAP8[$129>>0]|0;
$131 = ((($43)) + 49|0);
$132 = HEAP8[$131>>0]|0;
HEAP8[$129>>0] = $132;
HEAP8[$131>>0] = $130;
$133 = ((($43)) + 15|0);
$134 = HEAP8[$133>>0]|0;
$135 = ((($43)) + 48|0);
$136 = HEAP8[$135>>0]|0;
HEAP8[$133>>0] = $136;
HEAP8[$135>>0] = $134;
$137 = ((($43)) + 16|0);
$138 = HEAP8[$137>>0]|0;
$139 = ((($43)) + 47|0);
$140 = HEAP8[$139>>0]|0;
HEAP8[$137>>0] = $140;
HEAP8[$139>>0] = $138;
$141 = ((($43)) + 17|0);
$142 = HEAP8[$141>>0]|0;
$143 = ((($43)) + 46|0);
$144 = HEAP8[$143>>0]|0;
HEAP8[$141>>0] = $144;
HEAP8[$143>>0] = $142;
$145 = ((($43)) + 18|0);
$146 = HEAP8[$145>>0]|0;
$147 = ((($43)) + 45|0);
$148 = HEAP8[$147>>0]|0;
HEAP8[$145>>0] = $148;
HEAP8[$147>>0] = $146;
$149 = ((($43)) + 19|0);
$150 = HEAP8[$149>>0]|0;
$151 = ((($43)) + 44|0);
$152 = HEAP8[$151>>0]|0;
HEAP8[$149>>0] = $152;
HEAP8[$151>>0] = $150;
$153 = ((($43)) + 20|0);
$154 = HEAP8[$153>>0]|0;
$155 = ((($43)) + 43|0);
$156 = HEAP8[$155>>0]|0;
HEAP8[$153>>0] = $156;
HEAP8[$155>>0] = $154;
$157 = ((($43)) + 21|0);
$158 = HEAP8[$157>>0]|0;
$159 = ((($43)) + 42|0);
$160 = HEAP8[$159>>0]|0;
HEAP8[$157>>0] = $160;
HEAP8[$159>>0] = $158;
$161 = ((($43)) + 22|0);
$162 = HEAP8[$161>>0]|0;
$163 = ((($43)) + 41|0);
$164 = HEAP8[$163>>0]|0;
HEAP8[$161>>0] = $164;
HEAP8[$163>>0] = $162;
$165 = ((($43)) + 23|0);
$166 = HEAP8[$165>>0]|0;
$167 = ((($43)) + 40|0);
$168 = HEAP8[$167>>0]|0;
HEAP8[$165>>0] = $168;
HEAP8[$167>>0] = $166;
$169 = ((($43)) + 24|0);
$170 = HEAP8[$169>>0]|0;
$171 = ((($43)) + 39|0);
$172 = HEAP8[$171>>0]|0;
HEAP8[$169>>0] = $172;
HEAP8[$171>>0] = $170;
$173 = ((($43)) + 25|0);
$174 = HEAP8[$173>>0]|0;
$175 = ((($43)) + 38|0);
$176 = HEAP8[$175>>0]|0;
HEAP8[$173>>0] = $176;
HEAP8[$175>>0] = $174;
$177 = ((($43)) + 26|0);
$178 = HEAP8[$177>>0]|0;
$179 = ((($43)) + 37|0);
$180 = HEAP8[$179>>0]|0;
HEAP8[$177>>0] = $180;
HEAP8[$179>>0] = $178;
$181 = ((($43)) + 27|0);
$182 = HEAP8[$181>>0]|0;
$183 = ((($43)) + 36|0);
$184 = HEAP8[$183>>0]|0;
HEAP8[$181>>0] = $184;
HEAP8[$183>>0] = $182;
$185 = ((($43)) + 28|0);
$186 = HEAP8[$185>>0]|0;
$187 = ((($43)) + 35|0);
$188 = HEAP8[$187>>0]|0;
HEAP8[$185>>0] = $188;
HEAP8[$187>>0] = $186;
$189 = ((($43)) + 29|0);
$190 = HEAP8[$189>>0]|0;
$191 = ((($43)) + 34|0);
$192 = HEAP8[$191>>0]|0;
HEAP8[$189>>0] = $192;
HEAP8[$191>>0] = $190;
$193 = ((($43)) + 30|0);
$194 = HEAP8[$193>>0]|0;
$195 = ((($43)) + 33|0);
$196 = HEAP8[$195>>0]|0;
HEAP8[$193>>0] = $196;
HEAP8[$195>>0] = $194;
$197 = ((($43)) + 31|0);
$198 = HEAP8[$197>>0]|0;
$199 = ((($43)) + 32|0);
$200 = HEAP8[$199>>0]|0;
HEAP8[$197>>0] = $200;
HEAP8[$199>>0] = $198;
$201 = (__gcry_get_debug_flag(1)|0);
$202 = ($201|0)==(0);
if (!($202)) {
__gcry_log_printhex(70231,$43,64);
}
__gcry_mpi_set_buffer($24,$43,64,0);
$203 = ((($1)) + 20|0);
__gcry_mpi_ec_mul_point($14,$24,$203,$34);
$204 = (__gcry_get_debug_flag(1)|0);
$205 = ($204|0)==(0);
if (!($205)) {
__gcry_mpi_point_log(57837,$14,$34);
}
$206 = (__gcry_ecc_eddsa_encodepoint($14,$34,$22,$23,0,$10,$11)|0);
$207 = ($206|0)==(0);
if ($207) {
$208 = (__gcry_get_debug_flag(1)|0);
$209 = ($208|0)==(0);
if ($209) {
$$pre = HEAP32[$10>>2]|0;
$$pre88 = HEAP32[$11>>2]|0;
$210 = $$pre;
$214 = $$pre;$215 = $$pre88;$225 = $210;
} else {
$211 = HEAP32[$10>>2]|0;
$212 = HEAP32[$11>>2]|0;
__gcry_log_printhex(57842,$211,$212);
$213 = $211;
$214 = $213;$215 = $212;$225 = $211;
}
HEAP32[$67>>2] = $214;
HEAP32[$68>>2] = 0;
HEAP32[$69>>2] = $215;
$216 = HEAP32[$12>>2]|0;
HEAP32[$70>>2] = $216;
$217 = ((($9)) + 20|0);
HEAP32[$217>>2] = 0;
$218 = HEAP32[$13>>2]|0;
HEAP32[$71>>2] = $218;
$219 = ((($9)) + 44|0);
HEAP32[$219>>2] = $61;
$220 = ((($9)) + 36|0);
HEAP32[$220>>2] = 0;
$221 = ((($9)) + 40|0);
HEAP32[$221>>2] = $64;
$222 = (__gcry_md_hash_buffers($4,0,$43,$9,3)|0);
$223 = ($222|0)==(0);
if ($223) {
$224 = $215 << 3;
(__gcry_mpi_set_opaque($2,$225,$224)|0);
HEAP32[$10>>2] = 0;
$226 = HEAP8[$43>>0]|0;
$227 = HEAP8[$75>>0]|0;
HEAP8[$43>>0] = $227;
HEAP8[$75>>0] = $226;
$228 = HEAP8[$77>>0]|0;
$229 = HEAP8[$79>>0]|0;
HEAP8[$77>>0] = $229;
HEAP8[$79>>0] = $228;
$230 = HEAP8[$81>>0]|0;
$231 = HEAP8[$83>>0]|0;
HEAP8[$81>>0] = $231;
HEAP8[$83>>0] = $230;
$232 = HEAP8[$85>>0]|0;
$233 = HEAP8[$87>>0]|0;
HEAP8[$85>>0] = $233;
HEAP8[$87>>0] = $232;
$234 = HEAP8[$89>>0]|0;
$235 = HEAP8[$91>>0]|0;
HEAP8[$89>>0] = $235;
HEAP8[$91>>0] = $234;
$236 = HEAP8[$93>>0]|0;
$237 = HEAP8[$95>>0]|0;
HEAP8[$93>>0] = $237;
HEAP8[$95>>0] = $236;
$238 = HEAP8[$97>>0]|0;
$239 = HEAP8[$99>>0]|0;
HEAP8[$97>>0] = $239;
HEAP8[$99>>0] = $238;
$240 = HEAP8[$101>>0]|0;
$241 = HEAP8[$103>>0]|0;
HEAP8[$101>>0] = $241;
HEAP8[$103>>0] = $240;
$242 = HEAP8[$105>>0]|0;
$243 = HEAP8[$107>>0]|0;
HEAP8[$105>>0] = $243;
HEAP8[$107>>0] = $242;
$244 = HEAP8[$109>>0]|0;
$245 = HEAP8[$111>>0]|0;
HEAP8[$109>>0] = $245;
HEAP8[$111>>0] = $244;
$246 = HEAP8[$113>>0]|0;
$247 = HEAP8[$115>>0]|0;
HEAP8[$113>>0] = $247;
HEAP8[$115>>0] = $246;
$248 = HEAP8[$117>>0]|0;
$249 = HEAP8[$119>>0]|0;
HEAP8[$117>>0] = $249;
HEAP8[$119>>0] = $248;
$250 = HEAP8[$121>>0]|0;
$251 = HEAP8[$123>>0]|0;
HEAP8[$121>>0] = $251;
HEAP8[$123>>0] = $250;
$252 = HEAP8[$125>>0]|0;
$253 = HEAP8[$127>>0]|0;
HEAP8[$125>>0] = $253;
HEAP8[$127>>0] = $252;
$254 = HEAP8[$129>>0]|0;
$255 = HEAP8[$131>>0]|0;
HEAP8[$129>>0] = $255;
HEAP8[$131>>0] = $254;
$256 = HEAP8[$133>>0]|0;
$257 = HEAP8[$135>>0]|0;
HEAP8[$133>>0] = $257;
HEAP8[$135>>0] = $256;
$258 = HEAP8[$137>>0]|0;
$259 = HEAP8[$139>>0]|0;
HEAP8[$137>>0] = $259;
HEAP8[$139>>0] = $258;
$260 = HEAP8[$141>>0]|0;
$261 = HEAP8[$143>>0]|0;
HEAP8[$141>>0] = $261;
HEAP8[$143>>0] = $260;
$262 = HEAP8[$145>>0]|0;
$263 = HEAP8[$147>>0]|0;
HEAP8[$145>>0] = $263;
HEAP8[$147>>0] = $262;
$264 = HEAP8[$149>>0]|0;
$265 = HEAP8[$151>>0]|0;
HEAP8[$149>>0] = $265;
HEAP8[$151>>0] = $264;
$266 = HEAP8[$153>>0]|0;
$267 = HEAP8[$155>>0]|0;
HEAP8[$153>>0] = $267;
HEAP8[$155>>0] = $266;
$268 = HEAP8[$157>>0]|0;
$269 = HEAP8[$159>>0]|0;
HEAP8[$157>>0] = $269;
HEAP8[$159>>0] = $268;
$270 = HEAP8[$161>>0]|0;
$271 = HEAP8[$163>>0]|0;
HEAP8[$161>>0] = $271;
HEAP8[$163>>0] = $270;
$272 = HEAP8[$165>>0]|0;
$273 = HEAP8[$167>>0]|0;
HEAP8[$165>>0] = $273;
HEAP8[$167>>0] = $272;
$274 = HEAP8[$169>>0]|0;
$275 = HEAP8[$171>>0]|0;
HEAP8[$169>>0] = $275;
HEAP8[$171>>0] = $274;
$276 = HEAP8[$173>>0]|0;
$277 = HEAP8[$175>>0]|0;
HEAP8[$173>>0] = $277;
HEAP8[$175>>0] = $276;
$278 = HEAP8[$177>>0]|0;
$279 = HEAP8[$179>>0]|0;
HEAP8[$177>>0] = $279;
HEAP8[$179>>0] = $278;
$280 = HEAP8[$181>>0]|0;
$281 = HEAP8[$183>>0]|0;
HEAP8[$181>>0] = $281;
HEAP8[$183>>0] = $280;
$282 = HEAP8[$185>>0]|0;
$283 = HEAP8[$187>>0]|0;
HEAP8[$185>>0] = $283;
HEAP8[$187>>0] = $282;
$284 = HEAP8[$189>>0]|0;
$285 = HEAP8[$191>>0]|0;
HEAP8[$189>>0] = $285;
HEAP8[$191>>0] = $284;
$286 = HEAP8[$193>>0]|0;
$287 = HEAP8[$195>>0]|0;
HEAP8[$193>>0] = $287;
HEAP8[$195>>0] = $286;
$288 = HEAP8[$197>>0]|0;
$289 = HEAP8[$199>>0]|0;
HEAP8[$197>>0] = $289;
HEAP8[$199>>0] = $288;
$290 = (__gcry_get_debug_flag(1)|0);
$291 = ($290|0)==(0);
if (!($291)) {
__gcry_log_printhex(57849,$43,64);
}
__gcry_mpi_set_buffer($3,$43,64,0);
$292 = ((($1)) + 32|0);
$293 = HEAP32[$292>>2]|0;
__gcry_mpi_mulm($3,$3,$21,$293);
$294 = HEAP32[$292>>2]|0;
__gcry_mpi_addm($3,$3,$24,$294);
$295 = (__gcry_mpi_get_buffer($3,32,$6,0)|0);
$296 = ($295|0)==(0|0);
if ($296) {
$298 = (_gpg_err_code_from_syserror()|0);
$299 = ($298|0)==(0);
if (!($299)) {
$$082 = $298;
break;
}
} else {
HEAP32[$10>>2] = $295;
$297 = HEAP32[$6>>2]|0;
HEAP32[$11>>2] = $297;
}
$300 = (__gcry_get_debug_flag(1)|0);
$301 = ($300|0)==(0);
$$pre90 = HEAP32[$10>>2]|0;
$$pre91 = HEAP32[$11>>2]|0;
if (!($301)) {
__gcry_log_printhex(57856,$$pre90,$$pre91);
}
$302 = $$pre91 << 3;
(__gcry_mpi_set_opaque($3,$$pre90,$302)|0);
HEAP32[$10>>2] = 0;
$$082 = 0;
} else {
$$082 = $222;
}
} else {
$$082 = $206;
}
} else {
$$082 = $72;
}
} else {
$$082 = $41;
}
} while(0);
__gcry_mpi_release($21);
__gcry_mpi_release($22);
__gcry_mpi_release($23);
__gcry_mpi_release($24);
$303 = HEAP32[$8>>2]|0;
__gcry_free($303);
__gcry_mpi_ec_free($34);
__gcry_mpi_point_free_parts($14);
__gcry_mpi_point_free_parts($15);
$304 = HEAP32[$12>>2]|0;
__gcry_free($304);
$305 = HEAP32[$10>>2]|0;
__gcry_free($305);
$$0 = $$082;
STACKTOP = sp;return ($$0|0);
}
function __gcry_ecc_eddsa_verify($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$0 = 0, $$016$i89 = 0, $$1 = 0, $$mask = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0;
var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0;
var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i90 = 0, $or$cond = 0, $or$cond3 = 0;
var $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(176|0);
$6 = sp + 164|0;
$7 = sp + 152|0;
$8 = sp + 148|0;
$9 = sp + 144|0;
$10 = sp + 140|0;
$11 = sp + 136|0;
$12 = sp + 48|0;
$13 = sp;
$14 = sp + 124|0;
$15 = sp + 112|0;
HEAP32[$8>>2] = 0;
HEAP32[$10>>2] = 0;
$16 = ($0|0)==(0|0);
if ($16) {
$$0 = 79;
STACKTOP = sp;return ($$0|0);
}
$17 = ((($0)) + 12|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 & 4;
$20 = ($19|0)!=(0);
$21 = ($2|0)!=(0|0);
$or$cond = $21 & $20;
if (!($or$cond)) {
$$0 = 79;
STACKTOP = sp;return ($$0|0);
}
$22 = ((($2)) + 12|0);
$23 = HEAP32[$22>>2]|0;
$24 = $23 & 4;
$25 = ($24|0)!=(0);
$26 = ($3|0)!=(0|0);
$or$cond3 = $26 & $25;
if (!($or$cond3)) {
$$0 = 79;
STACKTOP = sp;return ($$0|0);
}
$27 = ((($3)) + 12|0);
$28 = HEAP32[$27>>2]|0;
$29 = $28 & 4;
$30 = ($29|0)==(0);
if ($30) {
$$0 = 79;
STACKTOP = sp;return ($$0|0);
}
$31 = ($4|0)==(10);
if (!($31)) {
$$0 = 5;
STACKTOP = sp;return ($$0|0);
}
__gcry_mpi_point_init($7);
__gcry_mpi_point_init($14);
__gcry_mpi_point_init($15);
$32 = (__gcry_mpi_new(0)|0);
$33 = (__gcry_mpi_new(0)|0);
$34 = HEAP32[$1>>2]|0;
$35 = ((($1)) + 4|0);
$36 = HEAP32[$35>>2]|0;
$37 = ((($1)) + 8|0);
$38 = HEAP32[$37>>2]|0;
$39 = ((($1)) + 12|0);
$40 = HEAP32[$39>>2]|0;
$41 = ((($1)) + 16|0);
$42 = HEAP32[$41>>2]|0;
$43 = (__gcry_mpi_ec_p_internal_new($34,$36,0,$38,$40,$42)|0);
$44 = ((($43)) + 12|0);
$45 = HEAP32[$44>>2]|0;
$$mask = $45 & -8;
$46 = ($$mask|0)==(256);
if (!($46)) {
$$0 = 63;
STACKTOP = sp;return ($$0|0);
}
$47 = (__gcry_ecc_eddsa_decodepoint($5,$43,$7,$8,$9)|0);
$48 = ($47|0)==(0);
do {
if ($48) {
$49 = (__gcry_mpi_ec_curve_point($7,$43)|0);
$50 = ($49|0)==(0);
if ($50) {
$$1 = 195;
} else {
$51 = (__gcry_get_debug_flag(1)|0);
$52 = ($51|0)==(0);
if (!($52)) {
$53 = HEAP32[$8>>2]|0;
$54 = HEAP32[$9>>2]|0;
__gcry_log_printhex(57823,$53,$54);
}
$55 = HEAP32[$9>>2]|0;
$56 = ($55|0)==(32);
if ($56) {
$57 = (__gcry_mpi_get_opaque($0,$6)|0);
$58 = HEAP32[$6>>2]|0;
$59 = (($58) + 7)|0;
$60 = $59 >>> 3;
$61 = (__gcry_get_debug_flag(1)|0);
$62 = ($61|0)==(0);
if (!($62)) {
__gcry_log_printhex(57830,$57,$60);
}
$63 = (__gcry_mpi_get_opaque($2,$6)|0);
$64 = HEAP32[$6>>2]|0;
$65 = (($64) + 7)|0;
$66 = $65 >>> 3;
$67 = (__gcry_get_debug_flag(1)|0);
$68 = ($67|0)==(0);
if (!($68)) {
__gcry_log_printhex(70231,$63,$66);
}
$69 = ($66|0)==(32);
if ($69) {
$70 = ((($13)) + 12|0);
HEAP32[$70>>2] = $63;
$71 = ((($13)) + 4|0);
HEAP32[$71>>2] = 0;
$72 = ((($13)) + 8|0);
HEAP32[$72>>2] = 32;
$73 = HEAP32[$8>>2]|0;
$74 = ((($13)) + 28|0);
HEAP32[$74>>2] = $73;
$75 = ((($13)) + 20|0);
HEAP32[$75>>2] = 0;
$76 = HEAP32[$9>>2]|0;
$77 = ((($13)) + 24|0);
HEAP32[$77>>2] = $76;
$78 = ((($13)) + 44|0);
HEAP32[$78>>2] = $57;
$79 = ((($13)) + 36|0);
HEAP32[$79>>2] = 0;
$80 = ((($13)) + 40|0);
HEAP32[$80>>2] = $60;
$81 = (__gcry_md_hash_buffers(10,0,$12,$13,3)|0);
$82 = ($81|0)==(0);
if ($82) {
$83 = HEAP8[$12>>0]|0;
$84 = ((($12)) + 63|0);
$85 = HEAP8[$84>>0]|0;
HEAP8[$12>>0] = $85;
HEAP8[$84>>0] = $83;
$86 = ((($12)) + 1|0);
$87 = HEAP8[$86>>0]|0;
$88 = ((($12)) + 62|0);
$89 = HEAP8[$88>>0]|0;
HEAP8[$86>>0] = $89;
HEAP8[$88>>0] = $87;
$90 = ((($12)) + 2|0);
$91 = HEAP8[$90>>0]|0;
$92 = ((($12)) + 61|0);
$93 = HEAP8[$92>>0]|0;
HEAP8[$90>>0] = $93;
HEAP8[$92>>0] = $91;
$94 = ((($12)) + 3|0);
$95 = HEAP8[$94>>0]|0;
$96 = ((($12)) + 60|0);
$97 = HEAP8[$96>>0]|0;
HEAP8[$94>>0] = $97;
HEAP8[$96>>0] = $95;
$98 = ((($12)) + 4|0);
$99 = HEAP8[$98>>0]|0;
$100 = ((($12)) + 59|0);
$101 = HEAP8[$100>>0]|0;
HEAP8[$98>>0] = $101;
HEAP8[$100>>0] = $99;
$102 = ((($12)) + 5|0);
$103 = HEAP8[$102>>0]|0;
$104 = ((($12)) + 58|0);
$105 = HEAP8[$104>>0]|0;
HEAP8[$102>>0] = $105;
HEAP8[$104>>0] = $103;
$106 = ((($12)) + 6|0);
$107 = HEAP8[$106>>0]|0;
$108 = ((($12)) + 57|0);
$109 = HEAP8[$108>>0]|0;
HEAP8[$106>>0] = $109;
HEAP8[$108>>0] = $107;
$110 = ((($12)) + 7|0);
$111 = HEAP8[$110>>0]|0;
$112 = ((($12)) + 56|0);
$113 = HEAP8[$112>>0]|0;
HEAP8[$110>>0] = $113;
HEAP8[$112>>0] = $111;
$114 = ((($12)) + 8|0);
$115 = HEAP8[$114>>0]|0;
$116 = ((($12)) + 55|0);
$117 = HEAP8[$116>>0]|0;
HEAP8[$114>>0] = $117;
HEAP8[$116>>0] = $115;
$118 = ((($12)) + 9|0);
$119 = HEAP8[$118>>0]|0;
$120 = ((($12)) + 54|0);
$121 = HEAP8[$120>>0]|0;
HEAP8[$118>>0] = $121;
HEAP8[$120>>0] = $119;
$122 = ((($12)) + 10|0);
$123 = HEAP8[$122>>0]|0;
$124 = ((($12)) + 53|0);
$125 = HEAP8[$124>>0]|0;
HEAP8[$122>>0] = $125;
HEAP8[$124>>0] = $123;
$126 = ((($12)) + 11|0);
$127 = HEAP8[$126>>0]|0;
$128 = ((($12)) + 52|0);
$129 = HEAP8[$128>>0]|0;
HEAP8[$126>>0] = $129;
HEAP8[$128>>0] = $127;
$130 = ((($12)) + 12|0);
$131 = HEAP8[$130>>0]|0;
$132 = ((($12)) + 51|0);
$133 = HEAP8[$132>>0]|0;
HEAP8[$130>>0] = $133;
HEAP8[$132>>0] = $131;
$134 = ((($12)) + 13|0);
$135 = HEAP8[$134>>0]|0;
$136 = ((($12)) + 50|0);
$137 = HEAP8[$136>>0]|0;
HEAP8[$134>>0] = $137;
HEAP8[$136>>0] = $135;
$138 = ((($12)) + 14|0);
$139 = HEAP8[$138>>0]|0;
$140 = ((($12)) + 49|0);
$141 = HEAP8[$140>>0]|0;
HEAP8[$138>>0] = $141;
HEAP8[$140>>0] = $139;
$142 = ((($12)) + 15|0);
$143 = HEAP8[$142>>0]|0;
$144 = ((($12)) + 48|0);
$145 = HEAP8[$144>>0]|0;
HEAP8[$142>>0] = $145;
HEAP8[$144>>0] = $143;
$146 = ((($12)) + 16|0);
$147 = HEAP8[$146>>0]|0;
$148 = ((($12)) + 47|0);
$149 = HEAP8[$148>>0]|0;
HEAP8[$146>>0] = $149;
HEAP8[$148>>0] = $147;
$150 = ((($12)) + 17|0);
$151 = HEAP8[$150>>0]|0;
$152 = ((($12)) + 46|0);
$153 = HEAP8[$152>>0]|0;
HEAP8[$150>>0] = $153;
HEAP8[$152>>0] = $151;
$154 = ((($12)) + 18|0);
$155 = HEAP8[$154>>0]|0;
$156 = ((($12)) + 45|0);
$157 = HEAP8[$156>>0]|0;
HEAP8[$154>>0] = $157;
HEAP8[$156>>0] = $155;
$158 = ((($12)) + 19|0);
$159 = HEAP8[$158>>0]|0;
$160 = ((($12)) + 44|0);
$161 = HEAP8[$160>>0]|0;
HEAP8[$158>>0] = $161;
HEAP8[$160>>0] = $159;
$162 = ((($12)) + 20|0);
$163 = HEAP8[$162>>0]|0;
$164 = ((($12)) + 43|0);
$165 = HEAP8[$164>>0]|0;
HEAP8[$162>>0] = $165;
HEAP8[$164>>0] = $163;
$166 = ((($12)) + 21|0);
$167 = HEAP8[$166>>0]|0;
$168 = ((($12)) + 42|0);
$169 = HEAP8[$168>>0]|0;
HEAP8[$166>>0] = $169;
HEAP8[$168>>0] = $167;
$170 = ((($12)) + 22|0);
$171 = HEAP8[$170>>0]|0;
$172 = ((($12)) + 41|0);
$173 = HEAP8[$172>>0]|0;
HEAP8[$170>>0] = $173;
HEAP8[$172>>0] = $171;
$174 = ((($12)) + 23|0);
$175 = HEAP8[$174>>0]|0;
$176 = ((($12)) + 40|0);
$177 = HEAP8[$176>>0]|0;
HEAP8[$174>>0] = $177;
HEAP8[$176>>0] = $175;
$178 = ((($12)) + 24|0);
$179 = HEAP8[$178>>0]|0;
$180 = ((($12)) + 39|0);
$181 = HEAP8[$180>>0]|0;
HEAP8[$178>>0] = $181;
HEAP8[$180>>0] = $179;
$182 = ((($12)) + 25|0);
$183 = HEAP8[$182>>0]|0;
$184 = ((($12)) + 38|0);
$185 = HEAP8[$184>>0]|0;
HEAP8[$182>>0] = $185;
HEAP8[$184>>0] = $183;
$186 = ((($12)) + 26|0);
$187 = HEAP8[$186>>0]|0;
$188 = ((($12)) + 37|0);
$189 = HEAP8[$188>>0]|0;
HEAP8[$186>>0] = $189;
HEAP8[$188>>0] = $187;
$190 = ((($12)) + 27|0);
$191 = HEAP8[$190>>0]|0;
$192 = ((($12)) + 36|0);
$193 = HEAP8[$192>>0]|0;
HEAP8[$190>>0] = $193;
HEAP8[$192>>0] = $191;
$194 = ((($12)) + 28|0);
$195 = HEAP8[$194>>0]|0;
$196 = ((($12)) + 35|0);
$197 = HEAP8[$196>>0]|0;
HEAP8[$194>>0] = $197;
HEAP8[$196>>0] = $195;
$198 = ((($12)) + 29|0);
$199 = HEAP8[$198>>0]|0;
$200 = ((($12)) + 34|0);
$201 = HEAP8[$200>>0]|0;
HEAP8[$198>>0] = $201;
HEAP8[$200>>0] = $199;
$202 = ((($12)) + 30|0);
$203 = HEAP8[$202>>0]|0;
$204 = ((($12)) + 33|0);
$205 = HEAP8[$204>>0]|0;
HEAP8[$202>>0] = $205;
HEAP8[$204>>0] = $203;
$206 = ((($12)) + 31|0);
$207 = HEAP8[$206>>0]|0;
$208 = ((($12)) + 32|0);
$209 = HEAP8[$208>>0]|0;
HEAP8[$206>>0] = $209;
HEAP8[$208>>0] = $207;
$210 = (__gcry_get_debug_flag(1)|0);
$211 = ($210|0)==(0);
if (!($211)) {
__gcry_log_printhex(57849,$12,64);
}
__gcry_mpi_set_buffer($32,$12,64,0);
$212 = (__gcry_mpi_get_opaque_copy($3,$6)|0);
$213 = HEAP32[$6>>2]|0;
$214 = (($213) + 7)|0;
$215 = $214 >>> 3;
$216 = $214 >>> 4;
$217 = ($216|0)==(0);
if (!($217)) {
$218 = (($215) + -1)|0;
$$016$i89 = 0;
while(1) {
$219 = (($212) + ($$016$i89)|0);
$220 = HEAP8[$219>>0]|0;
$221 = (($218) - ($$016$i89))|0;
$222 = (($212) + ($221)|0);
$223 = HEAP8[$222>>0]|0;
HEAP8[$219>>0] = $223;
HEAP8[$222>>0] = $220;
$224 = (($$016$i89) + 1)|0;
$exitcond$i90 = ($224|0)==($216|0);
if ($exitcond$i90) {
break;
} else {
$$016$i89 = $224;
}
}
}
$225 = (__gcry_get_debug_flag(1)|0);
$226 = ($225|0)==(0);
if (!($226)) {
__gcry_log_printhex(70238,$212,$215);
}
__gcry_mpi_set_buffer($33,$212,$215,0);
__gcry_free($212);
$227 = ($215|0)==(32);
if ($227) {
$228 = ((($1)) + 20|0);
__gcry_mpi_ec_mul_point($14,$33,$228,$43);
__gcry_mpi_ec_mul_point($15,$32,$7,$43);
$229 = HEAP32[$15>>2]|0;
__gcry_mpi_neg($229,$229);
__gcry_mpi_ec_add_points($14,$14,$15,$43);
$230 = (__gcry_ecc_eddsa_encodepoint($14,$43,$33,$32,0,$10,$11)|0);
$231 = ($230|0)==(0);
if ($231) {
$232 = HEAP32[$11>>2]|0;
$233 = ($232|0)==(32);
if (!($233)) {
$$1 = 8;
break;
}
$234 = HEAP32[$10>>2]|0;
$235 = (_memcmp($234,$63,32)|0);
$236 = ($235|0)==(0);
$spec$select = $236 ? 0 : 8;
$$1 = $spec$select;
} else {
$$1 = $230;
}
} else {
$$1 = 139;
}
} else {
$$1 = $81;
}
} else {
$$1 = 139;
}
} else {
$$1 = 139;
}
}
} else {
$$1 = $47;
}
} while(0);
$237 = HEAP32[$8>>2]|0;
__gcry_free($237);
$238 = HEAP32[$10>>2]|0;
__gcry_free($238);
__gcry_mpi_ec_free($43);
__gcry_mpi_release($33);
__gcry_mpi_release($32);
__gcry_mpi_point_free_parts($14);
__gcry_mpi_point_free_parts($15);
__gcry_mpi_point_free_parts($7);
$$0 = $$1;
STACKTOP = sp;return ($$0|0);
}
function __gcry_ecc_curve_free($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 8|0);
$2 = HEAP32[$1>>2]|0;
__gcry_mpi_free($2);
HEAP32[$1>>2] = 0;
$3 = ((($0)) + 12|0);
$4 = HEAP32[$3>>2]|0;
__gcry_mpi_free($4);
HEAP32[$3>>2] = 0;
$5 = ((($0)) + 16|0);
$6 = HEAP32[$5>>2]|0;
__gcry_mpi_free($6);
HEAP32[$5>>2] = 0;
$7 = ((($0)) + 20|0);
__gcry_mpi_point_free_parts($7);
$8 = ((($0)) + 32|0);
$9 = HEAP32[$8>>2]|0;
__gcry_mpi_free($9);
HEAP32[$8>>2] = 0;
$10 = ((($0)) + 36|0);
$11 = HEAP32[$10>>2]|0;
__gcry_mpi_free($11);
HEAP32[$10>>2] = 0;
return;
}
function __gcry_ecc_curve_copy($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$2 = sp;
$3 = HEAP32[$1>>2]|0;
HEAP32[$2>>2] = $3;
$4 = ((($1)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($2)) + 4|0);
HEAP32[$6>>2] = $5;
$7 = ((($1)) + 40|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($2)) + 40|0);
HEAP32[$9>>2] = $8;
$10 = ((($1)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = (__gcry_mpi_copy($11)|0);
$13 = ((($2)) + 8|0);
HEAP32[$13>>2] = $12;
$14 = ((($1)) + 12|0);
$15 = HEAP32[$14>>2]|0;
$16 = (__gcry_mpi_copy($15)|0);
$17 = ((($2)) + 12|0);
HEAP32[$17>>2] = $16;
$18 = ((($1)) + 16|0);
$19 = HEAP32[$18>>2]|0;
$20 = (__gcry_mpi_copy($19)|0);
$21 = ((($2)) + 16|0);
HEAP32[$21>>2] = $20;
$22 = ((($2)) + 20|0);
__gcry_mpi_point_init($22);
$23 = HEAP32[$22>>2]|0;
$24 = ((($1)) + 20|0);
$25 = HEAP32[$24>>2]|0;
(__gcry_mpi_set($23,$25)|0);
$26 = ((($2)) + 24|0);
$27 = HEAP32[$26>>2]|0;
$28 = ((($1)) + 24|0);
$29 = HEAP32[$28>>2]|0;
(__gcry_mpi_set($27,$29)|0);
$30 = ((($2)) + 28|0);
$31 = HEAP32[$30>>2]|0;
$32 = ((($1)) + 28|0);
$33 = HEAP32[$32>>2]|0;
(__gcry_mpi_set($31,$33)|0);
$34 = ((($1)) + 32|0);
$35 = HEAP32[$34>>2]|0;
$36 = (__gcry_mpi_copy($35)|0);
$37 = ((($2)) + 32|0);
HEAP32[$37>>2] = $36;
$38 = ((($1)) + 36|0);
$39 = HEAP32[$38>>2]|0;
$40 = (__gcry_mpi_copy($39)|0);
$41 = ((($2)) + 36|0);
HEAP32[$41>>2] = $40;
dest=$0; src=$2; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
STACKTOP = sp;return;
}
function __gcry_ecc_model2str($0) {
$0 = $0|0;
var $$0 = 0, label = 0, sp = 0;
sp = STACKTOP;
switch ($0|0) {
case 0: {
$$0 = 57871;
break;
}
case 1: {
$$0 = 63906;
break;
}
case 2: {
$$0 = 57863;
break;
}
default: {
$$0 = 59741;
}
}
return ($$0|0);
}
function __gcry_ecc_dialect2str($0) {
$0 = $0|0;
var $switch$select = 0, $switch$select3 = 0, $switch$selectcmp = 0, $switch$selectcmp2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$switch$selectcmp = ($0|0)==(1);
$switch$select = $switch$selectcmp ? 57883 : 59741;
$switch$selectcmp2 = ($0|0)==(0);
$switch$select3 = $switch$selectcmp2 ? 57891 : $switch$select;
return ($switch$select3|0);
}
function __gcry_ecc_ec2os($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$3 = sp + 24|0;
$4 = sp + 20|0;
$5 = (__gcry_mpi_get_nbits($2)|0);
$6 = (($5) + 7)|0;
$7 = $6 >>> 3;
$8 = $7 << 1;
$9 = $8 | 1;
$10 = (__gcry_xmalloc($9)|0);
HEAP8[$10>>0] = 4;
$11 = ((($10)) + 1|0);
$12 = (__gcry_mpi_print(5,$11,$7,$3,$0)|0);
$13 = ($12|0)==(0);
if (!($13)) {
$14 = (_gpg_strerror($12)|0);
HEAP32[$vararg_buffer>>2] = $14;
__gcry_log_fatal(57900,$vararg_buffer);
// unreachable;
}
$15 = HEAP32[$3>>2]|0;
$16 = ($7>>>0)>($15>>>0);
$17 = (($7) - ($15))|0;
if ($16) {
$18 = (($11) + ($17)|0);
_memmove(($18|0),($11|0),($15|0))|0;
_memset(($11|0),0,($17|0))|0;
}
$19 = (($11) + ($7)|0);
$20 = (__gcry_mpi_print(5,$19,$7,$3,$1)|0);
$21 = ($20|0)==(0);
if (!($21)) {
$22 = (_gpg_strerror($20)|0);
HEAP32[$vararg_buffer1>>2] = $22;
__gcry_log_fatal(57900,$vararg_buffer1);
// unreachable;
}
$23 = HEAP32[$3>>2]|0;
$24 = ($7>>>0)>($23>>>0);
$25 = (($7) - ($23))|0;
if ($24) {
$26 = (($19) + ($25)|0);
_memmove(($26|0),($19|0),($23|0))|0;
_memset(($19|0),0,($25|0))|0;
}
$27 = (__gcry_mpi_scan($4,5,$10,$9,0)|0);
$28 = ($27|0)==(0);
if ($28) {
__gcry_free($10);
$30 = HEAP32[$4>>2]|0;
STACKTOP = sp;return ($30|0);
} else {
$29 = (_gpg_strerror($27)|0);
HEAP32[$vararg_buffer4>>2] = $29;
__gcry_log_fatal(57922,$vararg_buffer4);
// unreachable;
}
return (0)|0;
}
function __gcry_mpi_ec_ec2os($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_mpi_new(0)|0);
$3 = (__gcry_mpi_new(0)|0);
$4 = (__gcry_mpi_ec_get_affine($2,$3,$0,$1)|0);
$5 = ($4|0)==(0);
if ($5) {
$6 = ((($1)) + 16|0);
$7 = HEAP32[$6>>2]|0;
$8 = (__gcry_ecc_ec2os($2,$3,$7)|0);
$$0 = $8;
} else {
$$0 = 0;
}
__gcry_mpi_free($2);
__gcry_mpi_free($3);
return ($$0|0);
}
function __gcry_ecc_os2ec($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$032 = 0, $$1 = 0, $$134 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp + 12|0;
$3 = sp + 8|0;
$4 = sp + 4|0;
$5 = sp;
$6 = ($1|0)==(0|0);
do {
if ($6) {
label = 6;
} else {
$7 = ((($1)) + 12|0);
$8 = HEAP32[$7>>2]|0;
$9 = $8 & 4;
$10 = ($9|0)==(0);
if ($10) {
label = 6;
} else {
$11 = (__gcry_mpi_get_opaque($1,$5)|0);
$12 = ($11|0)==(0|0);
if (!($12)) {
$13 = HEAP32[$5>>2]|0;
$14 = (($13) + 7)|0;
$15 = $14 >>> 3;
HEAP32[$2>>2] = $15;
$$032 = $11;$$1 = 0;$23 = $15;
break;
}
$$134 = 65;
STACKTOP = sp;return ($$134|0);
}
}
} while(0);
do {
if ((label|0) == 6) {
$16 = (__gcry_mpi_get_nbits($1)|0);
$17 = (($16) + 7)|0;
$18 = $17 >>> 3;
HEAP32[$2>>2] = $18;
$19 = (__gcry_xmalloc($18)|0);
$20 = (__gcry_mpi_print(5,$19,$18,$2,$1)|0);
$21 = ($20|0)==(0);
if ($21) {
$$pr = HEAP32[$2>>2]|0;
$$032 = $19;$$1 = $19;$23 = $$pr;
break;
}
__gcry_free($19);
$$134 = $20;
STACKTOP = sp;return ($$134|0);
}
} while(0);
$22 = ($23|0)==(0);
if ($22) {
__gcry_free($$1);
$$134 = 65;
STACKTOP = sp;return ($$134|0);
}
$24 = HEAP8[$$032>>0]|0;
$25 = ($24<<24>>24)==(4);
if (!($25)) {
__gcry_free($$1);
$$134 = 69;
STACKTOP = sp;return ($$134|0);
}
$26 = (($23) + -1)|0;
$27 = $26 & 1;
$28 = ($27|0)==(0);
if (!($28)) {
__gcry_free($$1);
$$134 = 65;
STACKTOP = sp;return ($$134|0);
}
$29 = $26 >>> 1;
HEAP32[$2>>2] = $29;
$30 = ((($$032)) + 1|0);
$31 = (__gcry_mpi_scan($3,5,$30,$29,0)|0);
$32 = ($31|0)==(0);
if (!($32)) {
__gcry_free($$1);
$$134 = $31;
STACKTOP = sp;return ($$134|0);
}
$33 = HEAP32[$2>>2]|0;
$34 = (($30) + ($33)|0);
$35 = (__gcry_mpi_scan($4,5,$34,$33,0)|0);
__gcry_free($$1);
$36 = ($35|0)==(0);
if ($36) {
$38 = HEAP32[$0>>2]|0;
$39 = HEAP32[$3>>2]|0;
(__gcry_mpi_set($38,$39)|0);
$40 = ((($0)) + 4|0);
$41 = HEAP32[$40>>2]|0;
$42 = HEAP32[$4>>2]|0;
(__gcry_mpi_set($41,$42)|0);
$43 = ((($0)) + 8|0);
$44 = HEAP32[$43>>2]|0;
(__gcry_mpi_set_ui($44,1)|0);
$45 = HEAP32[$3>>2]|0;
__gcry_mpi_free($45);
$46 = HEAP32[$4>>2]|0;
__gcry_mpi_free($46);
$$134 = 0;
STACKTOP = sp;return ($$134|0);
} else {
$37 = HEAP32[$3>>2]|0;
__gcry_mpi_free($37);
$$134 = $35;
STACKTOP = sp;return ($$134|0);
}
return (0)|0;
}
function __gcry_ecc_compute_public($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$033 = 0, $$034 = 0, $$03537 = 0, $$03538 = 0, $$1 = 0, $$241 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$4 = sp;
$5 = ($2|0)==(0|0);
if ($5) {
$6 = ((($1)) + 28|0);
$7 = HEAP32[$6>>2]|0;
$$034 = $7;
} else {
$$034 = $2;
}
$8 = ($3|0)==(0|0);
if ($8) {
$9 = ((($1)) + 44|0);
$10 = HEAP32[$9>>2]|0;
$$033 = $10;
} else {
$$033 = $3;
}
$11 = ($$033|0)!=(0|0);
$12 = ($$034|0)!=(0|0);
$or$cond = $12 & $11;
if (!($or$cond)) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$13 = ((($1)) + 16|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)==(0|0);
if ($15) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$16 = ((($1)) + 20|0);
$17 = HEAP32[$16>>2]|0;
$18 = ($17|0)==(0|0);
if ($18) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$19 = HEAP32[$1>>2]|0;
$20 = ($19|0)==(2);
if ($20) {
$21 = ((($1)) + 24|0);
$22 = HEAP32[$21>>2]|0;
$23 = ($22|0)==(0|0);
if ($23) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
}
$24 = ((($1)) + 4|0);
$25 = HEAP32[$24>>2]|0;
$26 = ($25|0)==(1);
if ($26) {
$27 = ((($1)) + 8|0);
$28 = HEAP32[$27>>2]|0;
$29 = $28 & 4096;
$30 = ($29|0)==(0);
if (!($30)) {
$31 = (__gcry_ecc_eddsa_compute_h_d($4,$$033,$1)|0);
$32 = ($31|0)==(0);
if (!($32)) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$33 = (__gcry_mpi_snew(0)|0);
$34 = HEAP32[$4>>2]|0;
__gcry_mpi_set_buffer($33,$34,32,0);
$35 = HEAP32[$4>>2]|0;
__gcry_free($35);
$36 = ($0|0)==(0|0);
if ($36) {
$37 = (__gcry_mpi_point_new(0)|0);
$38 = ($37|0)==(0|0);
if ($38) {
$$03538 = 0;
} else {
$$03537 = $37;
label = 15;
}
} else {
$$03537 = $0;
label = 15;
}
if ((label|0) == 15) {
__gcry_mpi_ec_mul_point($$03537,$33,$$034,$1);
$$03538 = $$03537;
}
__gcry_mpi_free($33);
$$1 = $$03538;
STACKTOP = sp;return ($$1|0);
}
}
$39 = ($0|0)==(0|0);
if ($39) {
$40 = (__gcry_mpi_point_new(0)|0);
$41 = ($40|0)==(0|0);
if ($41) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
} else {
$$241 = $40;
}
} else {
$$241 = $0;
}
__gcry_mpi_ec_mul_point($$241,$$033,$$034,$1);
$$1 = $$241;
STACKTOP = sp;return ($$1|0);
}
function __gcry_hmac_selftest($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$022$i$i = 0, $$022$i20$i = 0, $$022$i28$i = 0, $$035$i$i = 0, $$036$i$i = 0, $$038$ph$i$i = 0, $$03949$i$i = 0, $$141$i$i = 0, $$23440$i$i = 0, $$lcssa$i$i = 0, $$lcssa$i22$i = 0, $$lcssa$i30$i = 0, $$lcssa21$i$i = 0, $$lcssa21$i21$i = 0, $$lcssa21$i29$i = 0, $$lcssa43$i$i = 0, $$lcssa44$i$i = 0, $$lcssa47$i$i = 0, $$lcssa48$i$i = 0, $10 = 0;
var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0;
var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0;
var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0;
var $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0;
var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0;
var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
var $97 = 0, $98 = 0, $99 = 0, $exitcond$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
$3 = sp + 128|0;
$4 = sp;
$5 = (__gcry_md_algo_info($0,8,0,0)|0);
$6 = ($5|0)==(0);
if (!($6)) {
$201 = ($2|0)==(0|0);
if ($201) {
$202 = 16777221;
STACKTOP = sp;return ($202|0);
}
FUNCTION_TABLE_viiii[$2 & 63](58127,$0,59834,58227);
$202 = 16777221;
STACKTOP = sp;return ($202|0);
}
switch ($0|0) {
case 2: {
HEAP8[$4>>0] = 0;
$7 = ((($4)) + 1|0);
HEAP8[$7>>0] = 1;
$8 = ((($4)) + 2|0);
HEAP8[$8>>0] = 2;
$9 = ((($4)) + 3|0);
HEAP8[$9>>0] = 3;
$10 = ((($4)) + 4|0);
HEAP8[$10>>0] = 4;
$11 = ((($4)) + 5|0);
HEAP8[$11>>0] = 5;
$12 = ((($4)) + 6|0);
HEAP8[$12>>0] = 6;
$13 = ((($4)) + 7|0);
HEAP8[$13>>0] = 7;
$14 = ((($4)) + 8|0);
HEAP8[$14>>0] = 8;
$15 = ((($4)) + 9|0);
HEAP8[$15>>0] = 9;
$16 = ((($4)) + 10|0);
HEAP8[$16>>0] = 10;
$17 = ((($4)) + 11|0);
HEAP8[$17>>0] = 11;
$18 = ((($4)) + 12|0);
HEAP8[$18>>0] = 12;
$19 = ((($4)) + 13|0);
HEAP8[$19>>0] = 13;
$20 = ((($4)) + 14|0);
HEAP8[$20>>0] = 14;
$21 = ((($4)) + 15|0);
HEAP8[$21>>0] = 15;
$22 = ((($4)) + 16|0);
HEAP8[$22>>0] = 16;
$23 = ((($4)) + 17|0);
HEAP8[$23>>0] = 17;
$24 = ((($4)) + 18|0);
HEAP8[$24>>0] = 18;
$25 = ((($4)) + 19|0);
HEAP8[$25>>0] = 19;
$26 = ((($4)) + 20|0);
HEAP8[$26>>0] = 20;
$27 = ((($4)) + 21|0);
HEAP8[$27>>0] = 21;
$28 = ((($4)) + 22|0);
HEAP8[$28>>0] = 22;
$29 = ((($4)) + 23|0);
HEAP8[$29>>0] = 23;
$30 = ((($4)) + 24|0);
HEAP8[$30>>0] = 24;
$31 = ((($4)) + 25|0);
HEAP8[$31>>0] = 25;
$32 = ((($4)) + 26|0);
HEAP8[$32>>0] = 26;
$33 = ((($4)) + 27|0);
HEAP8[$33>>0] = 27;
$34 = ((($4)) + 28|0);
HEAP8[$34>>0] = 28;
$35 = ((($4)) + 29|0);
HEAP8[$35>>0] = 29;
$36 = ((($4)) + 30|0);
HEAP8[$36>>0] = 30;
$37 = ((($4)) + 31|0);
HEAP8[$37>>0] = 31;
$38 = ((($4)) + 32|0);
HEAP8[$38>>0] = 32;
$39 = ((($4)) + 33|0);
HEAP8[$39>>0] = 33;
$40 = ((($4)) + 34|0);
HEAP8[$40>>0] = 34;
$41 = ((($4)) + 35|0);
HEAP8[$41>>0] = 35;
$42 = ((($4)) + 36|0);
HEAP8[$42>>0] = 36;
$43 = ((($4)) + 37|0);
HEAP8[$43>>0] = 37;
$44 = ((($4)) + 38|0);
HEAP8[$44>>0] = 38;
$45 = ((($4)) + 39|0);
HEAP8[$45>>0] = 39;
$46 = ((($4)) + 40|0);
HEAP8[$46>>0] = 40;
$47 = ((($4)) + 41|0);
HEAP8[$47>>0] = 41;
$48 = ((($4)) + 42|0);
HEAP8[$48>>0] = 42;
$49 = ((($4)) + 43|0);
HEAP8[$49>>0] = 43;
$50 = ((($4)) + 44|0);
HEAP8[$50>>0] = 44;
$51 = ((($4)) + 45|0);
HEAP8[$51>>0] = 45;
$52 = ((($4)) + 46|0);
HEAP8[$52>>0] = 46;
$53 = ((($4)) + 47|0);
HEAP8[$53>>0] = 47;
$54 = ((($4)) + 48|0);
HEAP8[$54>>0] = 48;
$55 = ((($4)) + 49|0);
HEAP8[$55>>0] = 49;
$56 = ((($4)) + 50|0);
HEAP8[$56>>0] = 50;
$57 = ((($4)) + 51|0);
HEAP8[$57>>0] = 51;
$58 = ((($4)) + 52|0);
HEAP8[$58>>0] = 52;
$59 = ((($4)) + 53|0);
HEAP8[$59>>0] = 53;
$60 = ((($4)) + 54|0);
HEAP8[$60>>0] = 54;
$61 = ((($4)) + 55|0);
HEAP8[$61>>0] = 55;
$62 = ((($4)) + 56|0);
HEAP8[$62>>0] = 56;
$63 = ((($4)) + 57|0);
HEAP8[$63>>0] = 57;
$64 = ((($4)) + 58|0);
HEAP8[$64>>0] = 58;
$65 = ((($4)) + 59|0);
HEAP8[$65>>0] = 59;
$66 = ((($4)) + 60|0);
HEAP8[$66>>0] = 60;
$67 = ((($4)) + 61|0);
HEAP8[$67>>0] = 61;
$68 = ((($4)) + 62|0);
HEAP8[$68>>0] = 62;
$69 = ((($4)) + 63|0);
HEAP8[$69>>0] = 63;
$70 = (_check_one(2,57943,9,$4,64,57953,20)|0);
$71 = ($70|0)==(0|0);
do {
if ($71) {
$72 = ($1|0)==(0);
if (!($72)) {
HEAP8[$4>>0] = 48;
HEAP8[$7>>0] = 49;
HEAP8[$8>>0] = 50;
HEAP8[$9>>0] = 51;
HEAP8[$10>>0] = 52;
HEAP8[$11>>0] = 53;
HEAP8[$12>>0] = 54;
HEAP8[$13>>0] = 55;
HEAP8[$14>>0] = 56;
HEAP8[$15>>0] = 57;
HEAP8[$16>>0] = 58;
HEAP8[$17>>0] = 59;
HEAP8[$18>>0] = 60;
HEAP8[$19>>0] = 61;
HEAP8[$20>>0] = 62;
HEAP8[$21>>0] = 63;
HEAP8[$22>>0] = 64;
HEAP8[$23>>0] = 65;
HEAP8[$24>>0] = 66;
HEAP8[$25>>0] = 67;
$73 = (_check_one(2,57974,9,$4,20,57984,20)|0);
$74 = ($73|0)==(0|0);
if (!($74)) {
$$035$i$i = $73;$$036$i$i = 58082;
break;
}
$$141$i$i = 80;$$23440$i$i = 0;
while(1) {
$75 = (($$141$i$i) + 1)|0;
$76 = $$141$i$i&255;
$77 = (($4) + ($$23440$i$i)|0);
HEAP8[$77>>0] = $76;
$78 = (($$23440$i$i) + 1)|0;
$exitcond$i$i = ($78|0)==(100);
if ($exitcond$i$i) {
break;
} else {
$$141$i$i = $75;$$23440$i$i = $78;
}
}
$79 = (_check_one(2,58005,9,$4,100,58015,20)|0);
$80 = ($79|0)==(0|0);
if (!($80)) {
$$035$i$i = $79;$$036$i$i = 58097;
break;
}
HEAP8[$4>>0] = 112;
HEAP8[$7>>0] = 113;
HEAP8[$8>>0] = 114;
HEAP8[$9>>0] = 115;
HEAP8[$10>>0] = 116;
HEAP8[$11>>0] = 117;
HEAP8[$12>>0] = 118;
HEAP8[$13>>0] = 119;
HEAP8[$14>>0] = 120;
HEAP8[$15>>0] = 121;
HEAP8[$16>>0] = 122;
HEAP8[$17>>0] = 123;
HEAP8[$18>>0] = 124;
HEAP8[$19>>0] = 125;
HEAP8[$20>>0] = 126;
HEAP8[$21>>0] = 127;
HEAP8[$22>>0] = -128;
HEAP8[$23>>0] = -127;
HEAP8[$24>>0] = -126;
HEAP8[$25>>0] = -125;
HEAP8[$26>>0] = -124;
HEAP8[$27>>0] = -123;
HEAP8[$28>>0] = -122;
HEAP8[$29>>0] = -121;
HEAP8[$30>>0] = -120;
HEAP8[$31>>0] = -119;
HEAP8[$32>>0] = -118;
HEAP8[$33>>0] = -117;
HEAP8[$34>>0] = -116;
HEAP8[$35>>0] = -115;
HEAP8[$36>>0] = -114;
HEAP8[$37>>0] = -113;
HEAP8[$38>>0] = -112;
HEAP8[$39>>0] = -111;
HEAP8[$40>>0] = -110;
HEAP8[$41>>0] = -109;
HEAP8[$42>>0] = -108;
HEAP8[$43>>0] = -107;
HEAP8[$44>>0] = -106;
HEAP8[$45>>0] = -105;
HEAP8[$46>>0] = -104;
HEAP8[$47>>0] = -103;
HEAP8[$48>>0] = -102;
HEAP8[$49>>0] = -101;
HEAP8[$50>>0] = -100;
HEAP8[$51>>0] = -99;
HEAP8[$52>>0] = -98;
HEAP8[$53>>0] = -97;
HEAP8[$54>>0] = -96;
$81 = (_check_one(2,58036,9,$4,49,58046,20)|0);
$82 = ($81|0)==(0|0);
if (!($82)) {
$$035$i$i = $81;$$036$i$i = 58112;
break;
}
}
$202 = 0;
STACKTOP = sp;return ($202|0);
} else {
$$035$i$i = $70;$$036$i$i = 58067;
}
} while(0);
$83 = ($2|0)==(0|0);
if (!($83)) {
FUNCTION_TABLE_viiii[$2 & 63](58127,2,$$036$i$i,$$035$i$i);
}
$202 = 16777266;
STACKTOP = sp;return ($202|0);
break;
}
case 11: {
$84 = HEAP32[400]|0;
$85 = ($84|0)==(0|0);
if ($85) {
$202 = 0;
STACKTOP = sp;return ($202|0);
}
$86 = ($1|0)==(0);
L30: do {
if ($86) {
$87 = HEAP32[(1604)>>2]|0;
$88 = (_strlen($87)|0);
$89 = HEAP32[(1608)>>2]|0;
$90 = (_strlen($89)|0);
$91 = (_check_one(11,$87,$88,$89,$90,(1612),28)|0);
$92 = ($91|0)==(0|0);
if ($92) {
$202 = 0;
STACKTOP = sp;return ($202|0);
} else {
$$lcssa$i$i = $91;$$lcssa21$i$i = $84;
}
} else {
$$022$i$i = 0;$203 = $84;
while(1) {
$93 = (((1600 + (($$022$i$i*40)|0)|0)) + 4|0);
$94 = HEAP32[$93>>2]|0;
$95 = (_strlen($94)|0);
$96 = (((1600 + (($$022$i$i*40)|0)|0)) + 8|0);
$97 = HEAP32[$96>>2]|0;
$98 = (_strlen($97)|0);
$99 = (((1600 + (($$022$i$i*40)|0)|0)) + 12|0);
$100 = (_check_one(11,$94,$95,$97,$98,$99,28)|0);
$101 = ($100|0)==(0|0);
if (!($101)) {
$$lcssa$i$i = $100;$$lcssa21$i$i = $203;
break L30;
}
$102 = (($$022$i$i) + 1)|0;
$103 = (1600 + (($102*40)|0)|0);
$104 = HEAP32[$103>>2]|0;
$105 = ($104|0)==(0|0);
if ($105) {
$202 = 0;
break;
} else {
$$022$i$i = $102;$203 = $104;
}
}
STACKTOP = sp;return ($202|0);
}
} while(0);
$106 = ($2|0)==(0|0);
if ($106) {
$202 = 16777266;
STACKTOP = sp;return ($202|0);
}
FUNCTION_TABLE_viiii[$2 & 63](58127,11,$$lcssa21$i$i,$$lcssa$i$i);
$202 = 16777266;
STACKTOP = sp;return ($202|0);
break;
}
case 8: {
$107 = HEAP32[472]|0;
$108 = ($107|0)==(0|0);
if ($108) {
$202 = 0;
STACKTOP = sp;return ($202|0);
}
$109 = ($1|0)==(0);
L47: do {
if ($109) {
$110 = HEAP32[(1892)>>2]|0;
$111 = (_strlen($110)|0);
$112 = HEAP32[(1896)>>2]|0;
$113 = (_strlen($112)|0);
$114 = (_check_one(8,$110,$111,$112,$113,(1900),32)|0);
$115 = ($114|0)==(0|0);
if ($115) {
$116 = HEAP32[(1896)>>2]|0;
$117 = (_strlen($116)|0);
$118 = (__gcry_hmac256_new($116,$117)|0);
$119 = ($118|0)==(0|0);
if ($119) {
$$038$ph$i$i = 58202;$154 = $107;
} else {
$120 = HEAP32[(1892)>>2]|0;
$121 = (_strlen($120)|0);
__gcry_hmac256_update($118,$120,$121);
$122 = (__gcry_hmac256_finalize($118,$3)|0);
$123 = ($122|0)==(0|0);
if ($123) {
$$lcssa43$i$i = $118;$$lcssa47$i$i = $107;
label = 32;
} else {
$124 = HEAP32[$3>>2]|0;
$125 = ($124|0)==(32);
if ($125) {
$126 = (_memcmp($122,(1900),32)|0);
$127 = ($126|0)==(0);
if ($127) {
__gcry_hmac256_release($118);
$202 = 0;
STACKTOP = sp;return ($202|0);
} else {
$$lcssa44$i$i = $118;$$lcssa48$i$i = $107;
label = 35;
}
} else {
$$lcssa44$i$i = $118;$$lcssa48$i$i = $107;
label = 35;
}
}
}
} else {
$$038$ph$i$i = $114;$154 = $107;
}
} else {
$$03949$i$i = 0;$204 = $107;
while(1) {
$128 = (((1888 + (($$03949$i$i*44)|0)|0)) + 4|0);
$129 = HEAP32[$128>>2]|0;
$130 = (_strlen($129)|0);
$131 = (((1888 + (($$03949$i$i*44)|0)|0)) + 8|0);
$132 = HEAP32[$131>>2]|0;
$133 = (_strlen($132)|0);
$134 = (((1888 + (($$03949$i$i*44)|0)|0)) + 12|0);
$135 = (_check_one(8,$129,$130,$132,$133,$134,32)|0);
$136 = ($135|0)==(0|0);
if (!($136)) {
$$038$ph$i$i = $135;$154 = $204;
break L47;
}
$137 = HEAP32[$131>>2]|0;
$138 = (_strlen($137)|0);
$139 = (__gcry_hmac256_new($137,$138)|0);
$140 = ($139|0)==(0|0);
if ($140) {
$$038$ph$i$i = 58202;$154 = $204;
break L47;
}
$141 = HEAP32[$128>>2]|0;
$142 = (_strlen($141)|0);
__gcry_hmac256_update($139,$141,$142);
$143 = (__gcry_hmac256_finalize($139,$3)|0);
$144 = ($143|0)==(0|0);
if ($144) {
$$lcssa43$i$i = $139;$$lcssa47$i$i = $204;
label = 32;
break L47;
}
$145 = HEAP32[$3>>2]|0;
$146 = ($145|0)==(32);
if (!($146)) {
$$lcssa44$i$i = $139;$$lcssa48$i$i = $204;
label = 35;
break L47;
}
$147 = (_memcmp($143,$134,32)|0);
$148 = ($147|0)==(0);
if (!($148)) {
$$lcssa44$i$i = $139;$$lcssa48$i$i = $204;
label = 35;
break L47;
}
__gcry_hmac256_release($139);
$150 = (($$03949$i$i) + 1)|0;
$151 = (1888 + (($150*44)|0)|0);
$152 = HEAP32[$151>>2]|0;
$153 = ($152|0)==(0|0);
if ($153) {
$202 = 0;
break;
} else {
$$03949$i$i = $150;$204 = $152;
}
}
STACKTOP = sp;return ($202|0);
}
} while(0);
if ((label|0) == 32) {
__gcry_hmac256_release($$lcssa43$i$i);
$$038$ph$i$i = 58132;$154 = $$lcssa47$i$i;
}
else if ((label|0) == 35) {
__gcry_hmac256_release($$lcssa44$i$i);
$$038$ph$i$i = 58162;$154 = $$lcssa48$i$i;
}
$149 = ($2|0)==(0|0);
if ($149) {
$202 = 16777266;
STACKTOP = sp;return ($202|0);
}
FUNCTION_TABLE_viiii[$2 & 63](58127,8,$154,$$038$ph$i$i);
$202 = 16777266;
STACKTOP = sp;return ($202|0);
break;
}
case 9: {
$155 = HEAP32[552]|0;
$156 = ($155|0)==(0|0);
if ($156) {
$202 = 0;
STACKTOP = sp;return ($202|0);
}
$157 = ($1|0)==(0);
L76: do {
if ($157) {
$158 = HEAP32[(2212)>>2]|0;
$159 = (_strlen($158)|0);
$160 = HEAP32[(2216)>>2]|0;
$161 = (_strlen($160)|0);
$162 = (_check_one(9,$158,$159,$160,$161,(2220),48)|0);
$163 = ($162|0)==(0|0);
if ($163) {
$202 = 0;
STACKTOP = sp;return ($202|0);
} else {
$$lcssa$i22$i = $162;$$lcssa21$i21$i = $155;
}
} else {
$$022$i20$i = 0;$205 = $155;
while(1) {
$164 = (((2208 + (($$022$i20$i*60)|0)|0)) + 4|0);
$165 = HEAP32[$164>>2]|0;
$166 = (_strlen($165)|0);
$167 = (((2208 + (($$022$i20$i*60)|0)|0)) + 8|0);
$168 = HEAP32[$167>>2]|0;
$169 = (_strlen($168)|0);
$170 = (((2208 + (($$022$i20$i*60)|0)|0)) + 12|0);
$171 = (_check_one(9,$165,$166,$168,$169,$170,48)|0);
$172 = ($171|0)==(0|0);
if (!($172)) {
$$lcssa$i22$i = $171;$$lcssa21$i21$i = $205;
break L76;
}
$173 = (($$022$i20$i) + 1)|0;
$174 = (2208 + (($173*60)|0)|0);
$175 = HEAP32[$174>>2]|0;
$176 = ($175|0)==(0|0);
if ($176) {
$202 = 0;
break;
} else {
$$022$i20$i = $173;$205 = $175;
}
}
STACKTOP = sp;return ($202|0);
}
} while(0);
$177 = ($2|0)==(0|0);
if ($177) {
$202 = 16777266;
STACKTOP = sp;return ($202|0);
}
FUNCTION_TABLE_viiii[$2 & 63](58127,9,$$lcssa21$i21$i,$$lcssa$i22$i);
$202 = 16777266;
STACKTOP = sp;return ($202|0);
break;
}
case 10: {
$178 = HEAP32[660]|0;
$179 = ($178|0)==(0|0);
if ($179) {
$202 = 0;
STACKTOP = sp;return ($202|0);
}
$180 = ($1|0)==(0);
L93: do {
if ($180) {
$181 = HEAP32[(2644)>>2]|0;
$182 = (_strlen($181)|0);
$183 = HEAP32[(2648)>>2]|0;
$184 = (_strlen($183)|0);
$185 = (_check_one(10,$181,$182,$183,$184,(2652),64)|0);
$186 = ($185|0)==(0|0);
if ($186) {
$202 = 0;
STACKTOP = sp;return ($202|0);
} else {
$$lcssa$i30$i = $185;$$lcssa21$i29$i = $178;
}
} else {
$$022$i28$i = 0;$206 = $178;
while(1) {
$187 = (((2640 + (($$022$i28$i*76)|0)|0)) + 4|0);
$188 = HEAP32[$187>>2]|0;
$189 = (_strlen($188)|0);
$190 = (((2640 + (($$022$i28$i*76)|0)|0)) + 8|0);
$191 = HEAP32[$190>>2]|0;
$192 = (_strlen($191)|0);
$193 = (((2640 + (($$022$i28$i*76)|0)|0)) + 12|0);
$194 = (_check_one(10,$188,$189,$191,$192,$193,64)|0);
$195 = ($194|0)==(0|0);
if (!($195)) {
$$lcssa$i30$i = $194;$$lcssa21$i29$i = $206;
break L93;
}
$196 = (($$022$i28$i) + 1)|0;
$197 = (2640 + (($196*76)|0)|0);
$198 = HEAP32[$197>>2]|0;
$199 = ($198|0)==(0|0);
if ($199) {
$202 = 0;
break;
} else {
$$022$i28$i = $196;$206 = $198;
}
}
STACKTOP = sp;return ($202|0);
}
} while(0);
$200 = ($2|0)==(0|0);
if ($200) {
$202 = 16777266;
STACKTOP = sp;return ($202|0);
}
FUNCTION_TABLE_viiii[$2 & 63](58127,10,$$lcssa21$i29$i,$$lcssa$i30$i);
$202 = 16777266;
STACKTOP = sp;return ($202|0);
break;
}
default: {
$202 = 16777221;
STACKTOP = sp;return ($202|0);
}
}
return (0)|0;
}
function _check_one($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$7 = sp;
$8 = (__gcry_md_get_algo_dlen($0)|0);
$9 = ($8|0)==($6|0);
do {
if ($9) {
$10 = (__gcry_md_open($7,$0,2)|0);
$11 = ($10|0)==(0);
if ($11) {
$12 = HEAP32[$7>>2]|0;
$13 = (__gcry_md_setkey($12,$3,$4)|0);
$14 = ($13|0)==(0);
$15 = HEAP32[$7>>2]|0;
if (!($14)) {
__gcry_md_close($15);
$$0 = 58910;
break;
}
__gcry_md_write($15,$1,$2);
$16 = HEAP32[$7>>2]|0;
$17 = (__gcry_md_read($16,$0)|0);
$18 = ($17|0)==(0|0);
if ($18) {
$19 = HEAP32[$7>>2]|0;
__gcry_md_close($19);
$$0 = 58932;
break;
} else {
$20 = (_memcmp($17,$5,$6)|0);
$21 = ($20|0)==(0);
$22 = HEAP32[$7>>2]|0;
__gcry_md_close($22);
$$ = $21 ? 0 : 58895;
$$0 = $$;
break;
}
} else {
$$0 = 67519;
}
} else {
$$0 = 58952;
}
} while(0);
STACKTOP = sp;return ($$0|0);
}
function __gcry_md_map_name($0) {
$0 = $0|0;
var $$0 = 0, $$019$i$ph$i = 0, $$022$i = 0, $$023$1$i$i = 0, $$023$2$i$i = 0, $$023$3$i$i = 0, $$023$4$i$i = 0, $$023$5$i$i = 0, $$023$i$i = 0, $$08$i = 0, $$ph = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = 0;
return ($$0|0);
}
$2 = (_strncmp($0,58971,4)|0);
$3 = ($2|0)==(0);
if ($3) {
label = 4;
} else {
$4 = (_strncmp($0,58976,4)|0);
$5 = ($4|0)==(0);
if ($5) {
label = 4;
} else {
$$022$i = $0;
}
}
if ((label|0) == 4) {
$6 = ((($0)) + 4|0);
$$022$i = $6;
}
$7 = HEAP32[(39652)>>2]|0;
$8 = ($7|0)==(0|0);
L9: do {
if ($8) {
label = 10;
} else {
$9 = HEAP32[$7>>2]|0;
$10 = ($9|0)==(0|0);
if ($10) {
label = 10;
} else {
$$023$i$i = 0;$15 = $9;
while(1) {
$16 = (_strcasecmp($$022$i,$15)|0);
$17 = ($16|0)==(0);
$12 = (($$023$i$i) + 1)|0;
if ($17) {
$$019$i$ph$i = 39632;$74 = $9;$76 = $7;
label = 35;
break L9;
}
$11 = (($7) + ($12<<2)|0);
$13 = HEAP32[$11>>2]|0;
$14 = ($13|0)==(0|0);
if ($14) {
label = 10;
break;
} else {
$$023$i$i = $12;$15 = $13;
}
}
}
}
} while(0);
L15: do {
if ((label|0) == 10) {
$18 = HEAP32[(39764)>>2]|0;
$19 = ($18|0)==(0|0);
if (!($19)) {
$20 = HEAP32[$18>>2]|0;
$21 = ($20|0)==(0|0);
if (!($21)) {
$$023$1$i$i = 0;$22 = $20;
while(1) {
$23 = (_strcasecmp($$022$i,$22)|0);
$24 = ($23|0)==(0);
$25 = (($$023$1$i$i) + 1)|0;
if ($24) {
$$019$i$ph$i = 39744;$74 = $20;$76 = $18;
label = 35;
break L15;
}
$26 = (($18) + ($25<<2)|0);
$27 = HEAP32[$26>>2]|0;
$28 = ($27|0)==(0|0);
if ($28) {
break;
} else {
$$023$1$i$i = $25;$22 = $27;
}
}
}
}
$29 = HEAP32[(39704)>>2]|0;
$30 = ($29|0)==(0|0);
if (!($30)) {
$31 = HEAP32[$29>>2]|0;
$32 = ($31|0)==(0|0);
if (!($32)) {
$$023$2$i$i = 0;$33 = $31;
while(1) {
$34 = (_strcasecmp($$022$i,$33)|0);
$35 = ($34|0)==(0);
$36 = (($$023$2$i$i) + 1)|0;
if ($35) {
$$019$i$ph$i = 39684;$74 = $31;$76 = $29;
label = 35;
break L15;
}
$37 = (($29) + ($36<<2)|0);
$38 = HEAP32[$37>>2]|0;
$39 = ($38|0)==(0|0);
if ($39) {
break;
} else {
$$023$2$i$i = $36;$33 = $38;
}
}
}
}
$40 = HEAP32[(39828)>>2]|0;
$41 = ($40|0)==(0|0);
if (!($41)) {
$42 = HEAP32[$40>>2]|0;
$43 = ($42|0)==(0|0);
if (!($43)) {
$$023$3$i$i = 0;$44 = $42;
while(1) {
$45 = (_strcasecmp($$022$i,$44)|0);
$46 = ($45|0)==(0);
$47 = (($$023$3$i$i) + 1)|0;
if ($46) {
$$019$i$ph$i = 39808;$74 = $42;$76 = $40;
label = 35;
break L15;
}
$48 = (($40) + ($47<<2)|0);
$49 = HEAP32[$48>>2]|0;
$50 = ($49|0)==(0|0);
if ($50) {
break;
} else {
$$023$3$i$i = $47;$44 = $49;
}
}
}
}
$51 = HEAP32[(39892)>>2]|0;
$52 = ($51|0)==(0|0);
if (!($52)) {
$53 = HEAP32[$51>>2]|0;
$54 = ($53|0)==(0|0);
if (!($54)) {
$$023$4$i$i = 0;$55 = $53;
while(1) {
$56 = (_strcasecmp($$022$i,$55)|0);
$57 = ($56|0)==(0);
$58 = (($$023$4$i$i) + 1)|0;
if ($57) {
$$019$i$ph$i = 39872;$74 = $53;$76 = $51;
label = 35;
break L15;
}
$59 = (($51) + ($58<<2)|0);
$60 = HEAP32[$59>>2]|0;
$61 = ($60|0)==(0|0);
if ($61) {
break;
} else {
$$023$4$i$i = $58;$55 = $60;
}
}
}
}
$62 = HEAP32[(39504)>>2]|0;
$63 = ($62|0)==(0|0);
if (!($63)) {
$64 = HEAP32[$62>>2]|0;
$65 = ($64|0)==(0|0);
if (!($65)) {
$$023$5$i$i = 0;$66 = $64;
while(1) {
$67 = (_strcasecmp($$022$i,$66)|0);
$68 = ($67|0)==(0);
$69 = (($$023$5$i$i) + 1)|0;
if ($68) {
$$019$i$ph$i = 39484;$74 = $64;$76 = $62;
label = 35;
break L15;
}
$70 = (($62) + ($69<<2)|0);
$71 = HEAP32[$70>>2]|0;
$72 = ($71|0)==(0|0);
if ($72) {
break;
} else {
$$023$5$i$i = $69;$66 = $71;
}
}
}
}
}
} while(0);
L50: do {
if ((label|0) == 35) {
$73 = ($74|0)==(0|0);
if (!($73)) {
$$08$i = 0;$80 = $74;
while(1) {
$81 = (_strcasecmp($$022$i,$80)|0);
$82 = ($81|0)==(0);
$77 = (($$08$i) + 1)|0;
if ($82) {
break;
}
$75 = (($76) + ($77<<2)|0);
$78 = HEAP32[$75>>2]|0;
$79 = ($78|0)==(0|0);
if ($79) {
break L50;
} else {
$$08$i = $77;$80 = $78;
}
}
$83 = HEAP32[$$019$i$ph$i>>2]|0;
$$0 = $83;
return ($$0|0);
}
}
} while(0);
$84 = HEAP32[(39640)>>2]|0;
$85 = (_strcasecmp($0,$84)|0);
$86 = ($85|0)==(0);
if ($86) {
$$ph = 39632;
} else {
$87 = HEAP32[(39752)>>2]|0;
$88 = (_strcasecmp($0,$87)|0);
$89 = ($88|0)==(0);
if ($89) {
$$ph = 39744;
} else {
$90 = HEAP32[(39692)>>2]|0;
$91 = (_strcasecmp($0,$90)|0);
$92 = ($91|0)==(0);
if ($92) {
$$ph = 39684;
} else {
$93 = HEAP32[(39816)>>2]|0;
$94 = (_strcasecmp($0,$93)|0);
$95 = ($94|0)==(0);
if ($95) {
$$ph = 39808;
} else {
$96 = HEAP32[(39880)>>2]|0;
$97 = (_strcasecmp($0,$96)|0);
$98 = ($97|0)==(0);
if ($98) {
$$ph = 39872;
} else {
$99 = HEAP32[(39492)>>2]|0;
$100 = (_strcasecmp($0,$99)|0);
$101 = ($100|0)==(0);
if ($101) {
$$ph = 39484;
} else {
$$0 = 0;
return ($$0|0);
}
}
}
}
}
}
$102 = HEAP32[$$ph>>2]|0;
$$0 = $102;
return ($$0|0);
}
function __gcry_md_algo_name($0) {
$0 = $0|0;
var $$ph = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[9908]|0;
$2 = ($1|0)==($0|0);
if ($2) {
$$ph = 39632;
} else {
$3 = HEAP32[9936]|0;
$4 = ($3|0)==($0|0);
if ($4) {
$$ph = 39744;
} else {
$5 = HEAP32[9921]|0;
$6 = ($5|0)==($0|0);
if ($6) {
$$ph = 39684;
} else {
$7 = HEAP32[9952]|0;
$8 = ($7|0)==($0|0);
if ($8) {
$$ph = 39808;
} else {
$9 = HEAP32[9968]|0;
$10 = ($9|0)==($0|0);
if ($10) {
$$ph = 39872;
} else {
$11 = HEAP32[9871]|0;
$12 = ($11|0)==($0|0);
if ($12) {
$$ph = 39484;
} else {
$15 = 59741;
return ($15|0);
}
}
}
}
}
}
$13 = ((($$ph)) + 8|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14;
return ($15|0);
}
function __gcry_md_open($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$06 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = $2 & -260;
$5 = ($4|0)==(0);
if ($5) {
$6 = (_md_open($3,$1,$2)|0);
$7 = ($6|0)==(0);
$8 = HEAP32[$3>>2]|0;
$spec$select7 = $7 ? $8 : 0;
$$06 = $6;$9 = $spec$select7;
} else {
$$06 = 45;$9 = 0;
}
HEAP32[$0>>2] = $9;
STACKTOP = sp;return ($$06|0);
}
function _md_open($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$idx$val = 0, $$0$in = 0, $$262 = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = $2 & 1;
$4 = ($3|0)!=(0);
$5 = $2 & 2;
$6 = ($5|0)==(0);
$7 = $3 << 9;
$8 = $7 ^ 512;
$9 = (($8) + 535)|0;
$10 = $9 & 1552;
$11 = (($10) + 28)|0;
if ($4) {
$12 = (__gcry_malloc_secure($11)|0);
$$0$in = $12;
} else {
$13 = (__gcry_malloc($11)|0);
$$0$in = $13;
}
$14 = ($$0$in|0)==(0|0);
if ($14) {
$15 = (___errno_location()|0);
$16 = HEAP32[$15>>2]|0;
$17 = (_gpg_err_code_from_errno($16)|0);
$18 = ($17|0)==(0);
if (!($18)) {
$$262 = $17;
return ($$262|0);
}
}
$19 = (($$0$in) + ($10)|0);
HEAP32[$$0$in>>2] = $19;
$20 = (($10) + -15)|0;
$21 = ((($$0$in)) + 8|0);
HEAP32[$21>>2] = $20;
$22 = ((($$0$in)) + 4|0);
HEAP32[$22>>2] = 0;
$23 = ((($19)) + 8|0);
;HEAP32[$23>>2]=0|0;HEAP32[$23+4>>2]=0|0;HEAP32[$23+8>>2]=0|0;HEAP32[$23+12>>2]=0|0;HEAP32[$23+16>>2]=0|0;
$24 = $4 ? 378630161 : 285677921;
HEAP32[$19>>2] = $24;
$25 = ((($19)) + 4|0);
HEAP32[$25>>2] = $11;
$26 = ((($19)) + 12|0);
$27 = $2&255;
$28 = $27 & 1;
$29 = $2 >>> 6;
$30 = $29&255;
$31 = $30 & 4;
$32 = $31 | $28;
HEAP8[$26>>0] = $32;
if (!($6)) {
switch ($1|0) {
case 10: case 9: {
$$sink = 128;$34 = 256;
break;
}
case 311: case 308: {
$$sink = 32;$34 = 64;
break;
}
default: {
$$sink = 64;$34 = 128;
}
}
$33 = ((($19)) + 24|0);
HEAP32[$33>>2] = $$sink;
$35 = (__gcry_malloc_secure($34)|0);
$36 = ((($19)) + 20|0);
HEAP32[$36>>2] = $35;
$37 = ($35|0)==(0|0);
if ($37) {
$38 = (___errno_location()|0);
$39 = HEAP32[$38>>2]|0;
$40 = (_gpg_err_code_from_errno($39)|0);
_md_close($$0$in);
$41 = ($40|0)==(0);
if (!($41)) {
$$262 = $40;
return ($$262|0);
}
}
}
__gcry_fast_random_poll();
$42 = ($1|0)==(0);
if (!($42)) {
$$0$idx$val = HEAP32[$$0$in>>2]|0;
$43 = (_md_enable($$0$idx$val,$1)|0);
$44 = ($43|0)==(0);
if (!($44)) {
_md_close($$0$in);
$$262 = $43;
return ($$262|0);
}
}
HEAP32[$0>>2] = $$0$in;
$$262 = 0;
return ($$262|0);
}
function _md_close($0) {
$0 = $0|0;
var $$0$$0$$0$5$i = 0, $$0$i = 0, $$0109$lcssa = 0, $$0109149 = 0, $$0112$lcssa = 0, $$0112148 = 0, $$0116$lcssa = 0, $$0116167 = 0, $$0120$lcssa = 0, $$0120166 = 0, $$0124$lcssa = 0, $$0124160 = 0, $$0128$lcssa = 0, $$0128159 = 0, $$021$i = 0, $$022$i = 0, $$1110 = 0, $$1113 = 0, $$1117 = 0, $$1121 = 0;
var $$1125 = 0, $$1129 = 0, $$2111 = 0, $$2114 = 0, $$2118 = 0, $$2122 = 0, $$2126 = 0, $$2130 = 0, $$3115146 = 0, $$3119174 = 0, $$3123173 = 0, $$3127155 = 0, $$3131154 = 0, $$3147 = 0, $$in = 0, $$phi$trans$insert$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$pre = 0, $$pre$phi30$iZ2D = 0;
var $$pre19$i = 0, $$pre197 = 0, $$pre27$i = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
var $98 = 0, $99 = 0, $scevgep = 0, $scevgep193 = 0, $scevgep194 = 0, $scevgep195 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$1 = sp + 16|0;
$2 = sp + 8|0;
$3 = sp;
$4 = ($0|0)==(0|0);
if ($4) {
STACKTOP = sp;return;
}
$5 = HEAP32[$0>>2]|0;
$6 = ((($5)) + 8|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0|0);
if ($8) {
$56 = $5;
} else {
$9 = ((($0)) + 4|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0);
if ($11) {
$29 = $7;
} else {
$12 = ((($0)) + 12|0);
$13 = (_fwrite($12,$10,1,$7)|0);
$14 = ($13|0)==(1);
if (!($14)) {
__gcry_bug(59029,630,59034);
// unreachable;
}
$15 = HEAP32[$0>>2]|0;
$16 = ((($15)) + 16|0);
$$021$i = HEAP32[$16>>2]|0;
$17 = ($$021$i|0)==(0|0);
if ($17) {
$$pre$i = $15;
} else {
$$022$i = $$021$i;
while(1) {
$18 = HEAP32[$9>>2]|0;
$19 = ($18|0)==(0);
if ($19) {
$$pre27$i = ((($$022$i)) + 16|0);
$$pre$phi30$iZ2D = $$pre27$i;
} else {
$20 = HEAP32[$$022$i>>2]|0;
$21 = ((($20)) + 32|0);
$22 = HEAP32[$21>>2]|0;
$23 = ((($$022$i)) + 16|0);
FUNCTION_TABLE_viii[$22 & 127]($23,$12,$18);
$$pre$phi30$iZ2D = $23;
}
$24 = HEAP32[$$022$i>>2]|0;
$25 = ((($24)) + 32|0);
$26 = HEAP32[$25>>2]|0;
FUNCTION_TABLE_viii[$26 & 127]($$pre$phi30$iZ2D,0,0);
$27 = ((($$022$i)) + 4|0);
$$0$i = HEAP32[$27>>2]|0;
$28 = ($$0$i|0)==(0|0);
if ($28) {
break;
} else {
$$022$i = $$0$i;
}
}
$$pre$i$pre = HEAP32[$0>>2]|0;
$$pre$i = $$pre$i$pre;
}
HEAP32[$9>>2] = 0;
$$phi$trans$insert$i = ((($$pre$i)) + 8|0);
$$pre19$i = HEAP32[$$phi$trans$insert$i>>2]|0;
$29 = $$pre19$i;
}
(_fclose($29)|0);
$30 = HEAP32[$0>>2]|0;
$31 = ((($30)) + 8|0);
HEAP32[$31>>2] = 0;
$32 = $0;
HEAP32[$1>>2] = $32;
$33 = $2;
$34 = $33;
HEAP32[$34>>2] = 42;
$35 = (($33) + 4)|0;
$36 = $35;
HEAP32[$36>>2] = 0;
$$0$$0$$0$5$i = HEAP32[$1>>2]|0;
$37 = $2;
$38 = $37;
$39 = HEAP32[$38>>2]|0;
$40 = (($37) + 4)|0;
$41 = $40;
$42 = HEAP32[$41>>2]|0;
$43 = (___muldi3(($39|0),($42|0),($$0$$0$$0$5$i|0),0)|0);
$44 = tempRet0;
$45 = $3;
$46 = $45;
HEAP32[$46>>2] = $43;
$47 = (($45) + 4)|0;
$48 = $47;
HEAP32[$48>>2] = $44;
$49 = $3;
$50 = $49;
$51 = HEAP32[$50>>2]|0;
$52 = (($49) + 4)|0;
$53 = $52;
$54 = HEAP32[$53>>2]|0;
$56 = $30;
}
$55 = ((($56)) + 16|0);
$57 = HEAP32[$55>>2]|0;
$58 = ($57|0)==(0|0);
if ($58) {
$92 = $56;
} else {
$$in = $57;
while(1) {
$59 = ((($$in)) + 4|0);
$60 = HEAP32[$59>>2]|0;
$61 = ((($$in)) + 8|0);
$62 = HEAP32[$61>>2]|0;
$63 = $$in;
$64 = $63 & 7;
$65 = ($64|0)!=(0);
$66 = ($62|0)!=(0);
$67 = $66 & $65;
if ($67) {
$$0116167 = $$in;$$0120166 = $62;
while(1) {
HEAP8[$$0116167>>0] = 0;
$68 = ((($$0116167)) + 1|0);
$69 = (($$0120166) + -1)|0;
$70 = $68;
$71 = $70 & 7;
$72 = ($71|0)!=(0);
$73 = ($69|0)!=(0);
$74 = $73 & $72;
if ($74) {
$$0116167 = $68;$$0120166 = $69;
} else {
$$0116$lcssa = $68;$$0120$lcssa = $69;
break;
}
}
} else {
$$0116$lcssa = $$in;$$0120$lcssa = $62;
}
$75 = ($$0120$lcssa>>>0)<(8);
if ($75) {
$$2118 = $$0116$lcssa;$$2122 = $$0120$lcssa;
} else {
$76 = (($$0120$lcssa) + -8)|0;
$77 = $76 & -8;
$scevgep194 = ((($$0116$lcssa)) + 8|0);
$$1117 = $$0116$lcssa;$$1121 = $$0120$lcssa;
while(1) {
$78 = $$1117;
$79 = $78;
HEAP32[$79>>2] = 0;
$80 = (($78) + 4)|0;
$81 = $80;
HEAP32[$81>>2] = 0;
$82 = (($$1121) + -8)|0;
$83 = ((($$1117)) + 8|0);
$84 = ($82>>>0)>(7);
if ($84) {
$$1117 = $83;$$1121 = $82;
} else {
break;
}
}
$85 = (($76) - ($77))|0;
$scevgep195 = (($scevgep194) + ($77)|0);
$$2118 = $scevgep195;$$2122 = $85;
}
$86 = ($$2122|0)==(0);
if (!($86)) {
$$3119174 = $$2118;$$3123173 = $$2122;
while(1) {
HEAP8[$$3119174>>0] = 0;
$87 = ((($$3119174)) + 1|0);
$88 = (($$3123173) + -1)|0;
$89 = ($88|0)==(0);
if ($89) {
break;
} else {
$$3119174 = $87;$$3123173 = $88;
}
}
}
__gcry_free($$in);
$90 = ($60|0)==(0|0);
if ($90) {
break;
} else {
$$in = $60;
}
}
$$pre = HEAP32[$0>>2]|0;
$92 = $$pre;
}
$91 = ((($92)) + 20|0);
$93 = HEAP32[$91>>2]|0;
$94 = ($93|0)==(0|0);
if ($94) {
$130 = $92;
} else {
$95 = ((($92)) + 24|0);
$96 = HEAP32[$95>>2]|0;
$97 = $96 << 1;
$98 = $93;
$99 = $98 & 7;
$100 = ($99|0)!=(0);
$101 = ($96|0)!=(0);
$102 = $101 & $100;
if ($102) {
$$0124160 = $97;$$0128159 = $93;
while(1) {
HEAP8[$$0128159>>0] = 0;
$103 = ((($$0128159)) + 1|0);
$104 = (($$0124160) + -1)|0;
$105 = $103;
$106 = $105 & 7;
$107 = ($106|0)!=(0);
$108 = ($104|0)!=(0);
$109 = $108 & $107;
if ($109) {
$$0124160 = $104;$$0128159 = $103;
} else {
$$0124$lcssa = $104;$$0128$lcssa = $103;
break;
}
}
} else {
$$0124$lcssa = $97;$$0128$lcssa = $93;
}
$110 = ($$0124$lcssa>>>0)<(8);
if ($110) {
$$2126 = $$0124$lcssa;$$2130 = $$0128$lcssa;
} else {
$111 = (($$0124$lcssa) + -8)|0;
$112 = $111 & -8;
$113 = (($112) + 8)|0;
$$1125 = $$0124$lcssa;$$1129 = $$0128$lcssa;
while(1) {
$114 = $$1129;
$115 = $114;
HEAP32[$115>>2] = 0;
$116 = (($114) + 4)|0;
$117 = $116;
HEAP32[$117>>2] = 0;
$118 = (($$1125) + -8)|0;
$119 = ((($$1129)) + 8|0);
$120 = ($118>>>0)>(7);
if ($120) {
$$1125 = $118;$$1129 = $119;
} else {
break;
}
}
$121 = (($111) - ($112))|0;
$scevgep193 = (($$0128$lcssa) + ($113)|0);
$$2126 = $121;$$2130 = $scevgep193;
}
$122 = ($$2126|0)==(0);
if (!($122)) {
$$3127155 = $$2126;$$3131154 = $$2130;
while(1) {
HEAP8[$$3131154>>0] = 0;
$123 = ((($$3131154)) + 1|0);
$124 = (($$3127155) + -1)|0;
$125 = ($124|0)==(0);
if ($125) {
break;
} else {
$$3127155 = $124;$$3131154 = $123;
}
}
}
$126 = HEAP32[$0>>2]|0;
$127 = ((($126)) + 20|0);
$128 = HEAP32[$127>>2]|0;
__gcry_free($128);
$$pre197 = HEAP32[$0>>2]|0;
$130 = $$pre197;
}
$129 = ((($130)) + 4|0);
$131 = HEAP32[$129>>2]|0;
$132 = $0;
$133 = $132 & 7;
$134 = ($133|0)!=(0);
$135 = ($131|0)!=(0);
$136 = $135 & $134;
if ($136) {
$$0109149 = $131;$$0112148 = $0;
while(1) {
HEAP8[$$0112148>>0] = 0;
$137 = ((($$0112148)) + 1|0);
$138 = (($$0109149) + -1)|0;
$139 = $137;
$140 = $139 & 7;
$141 = ($140|0)!=(0);
$142 = ($138|0)!=(0);
$143 = $142 & $141;
if ($143) {
$$0109149 = $138;$$0112148 = $137;
} else {
$$0109$lcssa = $138;$$0112$lcssa = $137;
break;
}
}
} else {
$$0109$lcssa = $131;$$0112$lcssa = $0;
}
$144 = ($$0109$lcssa>>>0)<(8);
if ($144) {
$$2111 = $$0109$lcssa;$$2114 = $$0112$lcssa;
} else {
$145 = (($$0109$lcssa) + -8)|0;
$146 = $145 & -8;
$147 = (($146) + 8)|0;
$$1110 = $$0109$lcssa;$$1113 = $$0112$lcssa;
while(1) {
$148 = $$1113;
$149 = $148;
HEAP32[$149>>2] = 0;
$150 = (($148) + 4)|0;
$151 = $150;
HEAP32[$151>>2] = 0;
$152 = (($$1110) + -8)|0;
$153 = ((($$1113)) + 8|0);
$154 = ($152>>>0)>(7);
if ($154) {
$$1110 = $152;$$1113 = $153;
} else {
break;
}
}
$155 = (($145) - ($146))|0;
$scevgep = (($$0112$lcssa) + ($147)|0);
$$2111 = $155;$$2114 = $scevgep;
}
$156 = ($$2111|0)==(0);
if (!($156)) {
$$3115146 = $$2114;$$3147 = $$2111;
while(1) {
HEAP8[$$3115146>>0] = 0;
$157 = ((($$3115146)) + 1|0);
$158 = (($$3147) + -1)|0;
$159 = ($158|0)==(0);
if ($159) {
break;
} else {
$$3115146 = $157;$$3147 = $158;
}
}
}
__gcry_free($0);
STACKTOP = sp;return;
}
function _md_enable($$0$0$val,$0) {
$$0$0$val = $$0$0$val|0;
$0 = $0|0;
var $$0 = 0, $$039 = 0, $$0395 = 0, $$0396 = 0, $$140$in = 0, $$ph = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$1 = ((($$0$0$val)) + 16|0);
$$0395 = HEAP32[$1>>2]|0;
$2 = ($$0395|0)==(0|0);
L1: do {
if (!($2)) {
$$0396 = $$0395;
while(1) {
$5 = HEAP32[$$0396>>2]|0;
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==($0|0);
if ($7) {
$$0 = 0;
break;
}
$3 = ((($$0396)) + 4|0);
$$039 = HEAP32[$3>>2]|0;
$4 = ($$039|0)==(0|0);
if ($4) {
break L1;
} else {
$$0396 = $$039;
}
}
STACKTOP = sp;return ($$0|0);
}
} while(0);
$8 = HEAP32[9908]|0;
$9 = ($8|0)==($0|0);
if ($9) {
$$ph = 39632;
} else {
$10 = HEAP32[9936]|0;
$11 = ($10|0)==($0|0);
if ($11) {
$$ph = 39744;
} else {
$12 = HEAP32[9921]|0;
$13 = ($12|0)==($0|0);
if ($13) {
$$ph = 39684;
} else {
$14 = HEAP32[9952]|0;
$15 = ($14|0)==($0|0);
if ($15) {
$$ph = 39808;
} else {
$16 = HEAP32[9968]|0;
$17 = ($16|0)==($0|0);
if ($17) {
$$ph = 39872;
} else {
$18 = HEAP32[9871]|0;
$19 = ($18|0)==($0|0);
if ($19) {
$$ph = 39484;
} else {
HEAP32[$vararg_buffer>>2] = $0;
__gcry_log_debug(58981,$vararg_buffer);
$$0 = 5;
STACKTOP = sp;return ($$0|0);
}
}
}
}
}
}
$20 = ($0|0)==(1);
if ($20) {
$21 = (__gcry_fips_mode()|0);
$22 = ($21|0)==(0);
if (!($22)) {
__gcry_inactivate_fips_mode(59020);
$23 = (__gcry_enforced_fips_mode()|0);
$24 = ($23|0)==(0);
if (!($24)) {
$$0 = 5;
STACKTOP = sp;return ($$0|0);
}
}
}
$25 = ((($$ph)) + 44|0);
$26 = HEAP32[$25>>2]|0;
$27 = (($26) + 16)|0;
$28 = ((($$0$0$val)) + 12|0);
$29 = HEAP8[$28>>0]|0;
$30 = $29 & 1;
$31 = ($30<<24>>24)==(0);
if ($31) {
$33 = (__gcry_malloc($27)|0);
$$140$in = $33;
} else {
$32 = (__gcry_malloc_secure($27)|0);
$$140$in = $32;
}
$34 = ($$140$in|0)==(0|0);
if ($34) {
$35 = (___errno_location()|0);
$36 = HEAP32[$35>>2]|0;
$37 = (_gpg_err_code_from_errno($36)|0);
$$0 = $37;
STACKTOP = sp;return ($$0|0);
} else {
HEAP32[$$140$in>>2] = $$ph;
$38 = HEAP32[$1>>2]|0;
$39 = ((($$140$in)) + 4|0);
HEAP32[$39>>2] = $38;
$40 = ((($$140$in)) + 8|0);
HEAP32[$40>>2] = $27;
HEAP32[$1>>2] = $$140$in;
$41 = ((($$ph)) + 28|0);
$42 = HEAP32[$41>>2]|0;
$43 = ((($$140$in)) + 16|0);
$44 = HEAP8[$28>>0]|0;
$45 = $44 & 4;
$46 = $45&255;
$47 = $46 << 6;
FUNCTION_TABLE_vii[$42 & 63]($43,$47);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
return (0)|0;
}
function __gcry_md_reset($0) {
$0 = $0|0;
var $$0 = 0, $$015 = 0, $$016 = 0, $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = ((($1)) + 12|0);
$3 = HEAP8[$2>>0]|0;
$4 = $3 & -3;
HEAP8[$2>>0] = $4;
$5 = ((($0)) + 4|0);
HEAP32[$5>>2] = 0;
$6 = HEAP32[$0>>2]|0;
$7 = ((($6)) + 16|0);
$$015 = HEAP32[$7>>2]|0;
$8 = ($$015|0)==(0|0);
if ($8) {
$24 = $6;
} else {
$$016 = $$015;
while(1) {
$9 = ((($$016)) + 16|0);
$10 = HEAP32[$$016>>2]|0;
$11 = ((($10)) + 44|0);
$12 = HEAP32[$11>>2]|0;
_memset(($9|0),0,($12|0))|0;
$13 = ((($10)) + 28|0);
$14 = HEAP32[$13>>2]|0;
$15 = HEAP32[$0>>2]|0;
$16 = ((($15)) + 12|0);
$17 = HEAP8[$16>>0]|0;
$18 = $17 & 4;
$19 = $18&255;
$20 = $19 << 6;
FUNCTION_TABLE_vii[$14 & 63]($9,$20);
$21 = ((($$016)) + 4|0);
$$0 = HEAP32[$21>>2]|0;
$22 = ($$0|0)==(0|0);
if ($22) {
break;
} else {
$$016 = $$0;
}
}
$$pre = HEAP32[$0>>2]|0;
$24 = $$pre;
}
$23 = ((($24)) + 20|0);
$25 = HEAP32[$23>>2]|0;
$26 = ($25|0)==(0|0);
if ($26) {
return;
}
$27 = ((($24)) + 24|0);
$28 = HEAP32[$27>>2]|0;
_md_write($0,$25,$28);
return;
}
function _md_write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$021 = 0, $$022 = 0, $$pre = 0, $$pre$phi30Z2D = 0, $$pre27 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
$4 = ((($3)) + 8|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
$$pre = ((($0)) + 4|0);
if (!($6)) {
$7 = HEAP32[$$pre>>2]|0;
$8 = ($7|0)==(0);
if (!($8)) {
$9 = ((($0)) + 12|0);
$10 = (_fwrite($9,$7,1,$5)|0);
$11 = ($10|0)==(1);
if (!($11)) {
__gcry_bug(59029,630,59034);
// unreachable;
}
}
$12 = ($2|0)==(0);
if (!($12)) {
$13 = HEAP32[$0>>2]|0;
$14 = ((($13)) + 8|0);
$15 = HEAP32[$14>>2]|0;
$16 = (_fwrite($1,$2,1,$15)|0);
$17 = ($16|0)==(1);
if (!($17)) {
__gcry_bug(59029,632,59034);
// unreachable;
}
}
}
$18 = HEAP32[$0>>2]|0;
$19 = ((($18)) + 16|0);
$$021 = HEAP32[$19>>2]|0;
$20 = ($$021|0)==(0|0);
if ($20) {
HEAP32[$$pre>>2] = 0;
return;
}
$21 = ((($0)) + 12|0);
$$022 = $$021;
while(1) {
$22 = HEAP32[$$pre>>2]|0;
$23 = ($22|0)==(0);
if ($23) {
$$pre27 = ((($$022)) + 16|0);
$$pre$phi30Z2D = $$pre27;
} else {
$24 = HEAP32[$$022>>2]|0;
$25 = ((($24)) + 32|0);
$26 = HEAP32[$25>>2]|0;
$27 = ((($$022)) + 16|0);
FUNCTION_TABLE_viii[$26 & 127]($27,$21,$22);
$$pre$phi30Z2D = $27;
}
$28 = HEAP32[$$022>>2]|0;
$29 = ((($28)) + 32|0);
$30 = HEAP32[$29>>2]|0;
FUNCTION_TABLE_viii[$30 & 127]($$pre$phi30Z2D,$1,$2);
$31 = ((($$022)) + 4|0);
$$0 = HEAP32[$31>>2]|0;
$32 = ($$0|0)==(0|0);
if ($32) {
break;
} else {
$$022 = $$0;
}
}
HEAP32[$$pre>>2] = 0;
return;
}
function __gcry_md_close($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
_md_close($0);
return;
}
function __gcry_md_write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var label = 0, sp = 0;
sp = STACKTOP;
_md_write($0,$1,$2);
return;
}
function _md_final($0) {
$0 = $0|0;
var $$0 = 0, $$0$i = 0, $$013$i = 0, $$013$i41 = 0, $$02$i = 0, $$02$i39 = 0, $$021$i = 0, $$022$i = 0, $$053 = 0, $$054 = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $$idx35$val = 0, $$idx35$val$idx = 0, $$idx35$val$idx$val = 0, $$idx36$val$idx$phi$trans$insert = 0, $$idx36$val$idx$val = 0, $$idx36$val$idx$val$pre = 0, $$idx36$val$pre = 0, $$ph$i = 0;
var $$pre = 0, $$pre$phi30$iZ2D = 0, $$pre27$i = 0, $$pre60 = 0, $$pre60$pre = 0, $$pre61 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer3 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$1 = sp + 20|0;
$2 = HEAP32[$0>>2]|0;
$3 = ((($2)) + 12|0);
$4 = HEAP8[$3>>0]|0;
$5 = $4 & 2;
$6 = ($5<<24>>24)==(0);
if (!($6)) {
STACKTOP = sp;return;
}
$7 = ((($0)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0);
if ($9) {
$32 = $2;
} else {
$10 = ((($2)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11|0)==(0|0);
do {
if ($12) {
$17 = $2;
} else {
$13 = ((($0)) + 12|0);
$14 = (_fwrite($13,$8,1,$11)|0);
$15 = ($14|0)==(1);
if ($15) {
$$pre = HEAP32[$0>>2]|0;
$17 = $$pre;
break;
} else {
__gcry_bug(59029,630,59034);
// unreachable;
}
}
} while(0);
$16 = ((($17)) + 16|0);
$$021$i = HEAP32[$16>>2]|0;
$18 = ($$021$i|0)==(0|0);
if ($18) {
$$pre60 = $17;
} else {
$19 = ((($0)) + 12|0);
$$022$i = $$021$i;
while(1) {
$20 = HEAP32[$7>>2]|0;
$21 = ($20|0)==(0);
if ($21) {
$$pre27$i = ((($$022$i)) + 16|0);
$$pre$phi30$iZ2D = $$pre27$i;
} else {
$22 = HEAP32[$$022$i>>2]|0;
$23 = ((($22)) + 32|0);
$24 = HEAP32[$23>>2]|0;
$25 = ((($$022$i)) + 16|0);
FUNCTION_TABLE_viii[$24 & 127]($25,$19,$20);
$$pre$phi30$iZ2D = $25;
}
$26 = HEAP32[$$022$i>>2]|0;
$27 = ((($26)) + 32|0);
$28 = HEAP32[$27>>2]|0;
FUNCTION_TABLE_viii[$28 & 127]($$pre$phi30$iZ2D,0,0);
$29 = ((($$022$i)) + 4|0);
$$0$i = HEAP32[$29>>2]|0;
$30 = ($$0$i|0)==(0|0);
if ($30) {
break;
} else {
$$022$i = $$0$i;
}
}
$$pre60$pre = HEAP32[$0>>2]|0;
$$pre60 = $$pre60$pre;
}
HEAP32[$7>>2] = 0;
$32 = $$pre60;
}
$31 = ((($32)) + 16|0);
$$053 = HEAP32[$31>>2]|0;
$33 = ($$053|0)==(0|0);
if ($33) {
$41 = $32;
} else {
$$054 = $$053;
while(1) {
$34 = HEAP32[$$054>>2]|0;
$35 = ((($34)) + 36|0);
$36 = HEAP32[$35>>2]|0;
$37 = ((($$054)) + 16|0);
FUNCTION_TABLE_vi[$36 & 127]($37);
$38 = ((($$054)) + 4|0);
$$0 = HEAP32[$38>>2]|0;
$39 = ($$0|0)==(0|0);
if ($39) {
break;
} else {
$$054 = $$0;
}
}
$$pre61 = HEAP32[$0>>2]|0;
$41 = $$pre61;
}
$40 = ((($41)) + 12|0);
$42 = HEAP8[$40>>0]|0;
$43 = $42 | 2;
HEAP8[$40>>0] = $43;
$44 = HEAP32[$0>>2]|0;
$45 = ((($44)) + 20|0);
$46 = HEAP32[$45>>2]|0;
$47 = ($46|0)==(0|0);
if ($47) {
STACKTOP = sp;return;
}
$$idx$val$idx = ((($44)) + 16|0);
$$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0;
$48 = ($$idx$val$idx$val|0)==(0|0);
if ($48) {
__gcry_bug(59029,816,59166);
// unreachable;
}
$49 = ((($$idx$val$idx$val)) + 4|0);
$50 = HEAP32[$49>>2]|0;
$51 = ($50|0)==(0|0);
if ($51) {
$$idx36$val$idx$val = $$idx$val$idx$val;
} else {
__gcry_fips_signal_error(59029,980,59043,0,59055);
__gcry_log_error(59076,$vararg_buffer);
$$idx36$val$pre = HEAP32[$0>>2]|0;
$$idx36$val$idx$phi$trans$insert = ((($$idx36$val$pre)) + 16|0);
$$idx36$val$idx$val$pre = HEAP32[$$idx36$val$idx$phi$trans$insert>>2]|0;
$$idx36$val$idx$val = $$idx36$val$idx$val$pre;
}
$52 = HEAP32[$$idx$val$idx$val>>2]|0;
$53 = HEAP32[$52>>2]|0;
$54 = ($53|0)==(0);
$55 = ($$idx36$val$idx$val|0)==(0|0);
do {
if ($54) {
if ($55) {
__gcry_bug(59029,816,59166);
// unreachable;
}
$56 = ((($$idx36$val$idx$val)) + 4|0);
$57 = HEAP32[$56>>2]|0;
$58 = ($57|0)==(0|0);
if (!($58)) {
__gcry_log_debug(59127,$vararg_buffer1);
}
$59 = HEAP32[$$idx36$val$idx$val>>2]|0;
$60 = ((($59)) + 40|0);
$61 = HEAP32[$60>>2]|0;
$62 = ((($$idx36$val$idx$val)) + 16|0);
$63 = (FUNCTION_TABLE_ii[$61 & 63]($62)|0);
$$013$i = $63;$127 = 1;$76 = 0;
} else {
if ($55) {
__gcry_bug(59029,816,59166);
// unreachable;
}
$$02$i = $$idx36$val$idx$val;
while(1) {
$64 = HEAP32[$$02$i>>2]|0;
$65 = HEAP32[$64>>2]|0;
$66 = ($65|0)==($53|0);
if ($66) {
label = 31;
break;
}
$71 = ((($$02$i)) + 4|0);
$72 = HEAP32[$71>>2]|0;
$73 = ($72|0)==(0|0);
if ($73) {
label = 33;
break;
} else {
$$02$i = $72;
}
}
if ((label|0) == 31) {
$67 = ((($64)) + 40|0);
$68 = HEAP32[$67>>2]|0;
$69 = ((($$02$i)) + 16|0);
$70 = (FUNCTION_TABLE_ii[$68 & 63]($69)|0);
$$013$i = $70;$127 = 0;$76 = $53;
break;
}
else if ((label|0) == 33) {
__gcry_bug(59029,816,59166);
// unreachable;
}
}
} while(0);
$74 = HEAP32[9908]|0;
$75 = ($74|0)==($76|0);
if ($75) {
$$ph$i = 39632;
label = 40;
} else {
$77 = HEAP32[9936]|0;
$78 = ($77|0)==($76|0);
if ($78) {
$$ph$i = 39744;
label = 40;
} else {
$79 = HEAP32[9921]|0;
$80 = ($79|0)==($76|0);
if ($80) {
$$ph$i = 39684;
label = 40;
} else {
$81 = HEAP32[9952]|0;
$82 = ($81|0)==($76|0);
if ($82) {
$$ph$i = 39808;
label = 40;
} else {
$83 = HEAP32[9968]|0;
$84 = ($83|0)==($76|0);
if ($84) {
$$ph$i = 39872;
label = 40;
} else {
$85 = HEAP32[9871]|0;
$86 = ($85|0)==($76|0);
if ($86) {
$$ph$i = 39484;
label = 40;
} else {
$107 = 0;
}
}
}
}
}
}
if ((label|0) == 40) {
$87 = ((($$ph$i)) + 24|0);
$88 = HEAP32[$87>>2]|0;
$107 = $88;
}
$89 = HEAP32[$0>>2]|0;
$90 = ((($89)) + 12|0);
$91 = HEAP8[$90>>0]|0;
$92 = $91 & 1;
$93 = $92&255;
$94 = $91 & 4;
$95 = $94&255;
$96 = $95 << 6;
$97 = $96 | $93;
$98 = (_md_open($1,$76,$97)|0);
$99 = ($98|0)==(0);
if (!($99)) {
__gcry_fatal_error($98,0);
// unreachable;
}
$100 = HEAP32[$1>>2]|0;
$101 = HEAP32[$0>>2]|0;
$102 = ((($101)) + 20|0);
$103 = HEAP32[$102>>2]|0;
$104 = ((($101)) + 24|0);
$105 = HEAP32[$104>>2]|0;
$106 = (($103) + ($105)|0);
_md_write($100,$106,$105);
_md_write($100,$$013$i,$107);
_md_final($100);
$$idx35$val = HEAP32[$100>>2]|0;
$$idx35$val$idx = ((($$idx35$val)) + 16|0);
$$idx35$val$idx$val = HEAP32[$$idx35$val$idx>>2]|0;
$108 = ($$idx35$val$idx$val|0)==(0|0);
do {
if ($127) {
if ($108) {
__gcry_bug(59029,816,59166);
// unreachable;
}
$109 = ((($$idx35$val$idx$val)) + 4|0);
$110 = HEAP32[$109>>2]|0;
$111 = ($110|0)==(0|0);
if (!($111)) {
__gcry_log_debug(59127,$vararg_buffer3);
}
$112 = HEAP32[$$idx35$val$idx$val>>2]|0;
$113 = ((($112)) + 40|0);
$114 = HEAP32[$113>>2]|0;
$115 = ((($$idx35$val$idx$val)) + 16|0);
$116 = (FUNCTION_TABLE_ii[$114 & 63]($115)|0);
$$013$i41 = $116;
} else {
if ($108) {
__gcry_bug(59029,816,59166);
// unreachable;
}
$$02$i39 = $$idx35$val$idx$val;
while(1) {
$117 = HEAP32[$$02$i39>>2]|0;
$118 = HEAP32[$117>>2]|0;
$119 = ($118|0)==($76|0);
if ($119) {
label = 51;
break;
}
$124 = ((($$02$i39)) + 4|0);
$125 = HEAP32[$124>>2]|0;
$126 = ($125|0)==(0|0);
if ($126) {
label = 53;
break;
} else {
$$02$i39 = $125;
}
}
if ((label|0) == 51) {
$120 = ((($117)) + 40|0);
$121 = HEAP32[$120>>2]|0;
$122 = ((($$02$i39)) + 16|0);
$123 = (FUNCTION_TABLE_ii[$121 & 63]($122)|0);
$$013$i41 = $123;
break;
}
else if ((label|0) == 53) {
__gcry_bug(59029,816,59166);
// unreachable;
}
}
} while(0);
_memcpy(($$013$i|0),($$013$i41|0),($107|0))|0;
_md_close($100);
STACKTOP = sp;return;
}
function __gcry_md_setkey($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$i8 = 0, $$015$i = 0, $$016$i = 0, $$042$i = 0, $$043$i = 0, $$044$i = 0, $$04549$i = 0, $$idx$val$idx$i = 0, $$idx$val$idx$val$i = 0, $$ph$i$i = 0, $$ph$i46$i = 0, $$phi$trans$insert$i = 0, $$pre$i = 0, $$pre$i9 = 0, $$pre50$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0;
var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$3 = HEAP32[$0>>2]|0;
$4 = ((($3)) + 20|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
if ($6) {
$$0 = 70;
STACKTOP = sp;return ($$0|0);
}
$$idx$val$idx$i = ((($3)) + 16|0);
$$idx$val$idx$val$i = HEAP32[$$idx$val$idx$i>>2]|0;
$7 = ($$idx$val$idx$val$i|0)==(0|0);
if ($7) {
$$0 = 5;
STACKTOP = sp;return ($$0|0);
}
$8 = ((($$idx$val$idx$val$i)) + 4|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0|0);
if (!($10)) {
__gcry_fips_signal_error(59029,980,59043,0,59055);
__gcry_log_error(59076,$vararg_buffer);
}
$11 = HEAP32[$$idx$val$idx$val$i>>2]|0;
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0);
if ($13) {
$$0 = 5;
STACKTOP = sp;return ($$0|0);
}
$14 = HEAP32[$0>>2]|0;
$15 = ((($14)) + 24|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($16>>>0)<($2>>>0);
do {
if ($17) {
$18 = HEAP32[9908]|0;
$19 = ($18|0)==($12|0);
if ($19) {
$$ph$i$i = 39632;
label = 13;
} else {
$20 = HEAP32[9936]|0;
$21 = ($20|0)==($12|0);
if ($21) {
$$ph$i$i = 39744;
label = 13;
} else {
$22 = HEAP32[9921]|0;
$23 = ($22|0)==($12|0);
if ($23) {
$$ph$i$i = 39684;
label = 13;
} else {
$24 = HEAP32[9952]|0;
$25 = ($24|0)==($12|0);
if ($25) {
$$ph$i$i = 39808;
label = 13;
} else {
$26 = HEAP32[9968]|0;
$27 = ($26|0)==($12|0);
if ($27) {
$$ph$i$i = 39872;
label = 13;
} else {
$28 = HEAP32[9871]|0;
$29 = ($28|0)==($12|0);
if ($29) {
$$ph$i$i = 39484;
label = 13;
} else {
$32 = 0;
}
}
}
}
}
}
if ((label|0) == 13) {
$30 = ((($$ph$i$i)) + 24|0);
$31 = HEAP32[$30>>2]|0;
$32 = $31;
}
$33 = (__gcry_malloc_secure($32)|0);
$34 = ($33|0)==(0|0);
if ($34) {
$79 = (___errno_location()|0);
$80 = HEAP32[$79>>2]|0;
$81 = (_gpg_err_code_from_errno($80)|0);
$82 = ($81|0)==(0);
if ($82) {
break;
} else {
$$0 = $81;
}
STACKTOP = sp;return ($$0|0);
}
__gcry_md_hash_buffer($12,$33,$1,$2);
$35 = HEAP32[9908]|0;
$36 = ($35|0)==($12|0);
if ($36) {
$$ph$i46$i = 39632;
} else {
$37 = HEAP32[9936]|0;
$38 = ($37|0)==($12|0);
if ($38) {
$$ph$i46$i = 39744;
} else {
$39 = HEAP32[9921]|0;
$40 = ($39|0)==($12|0);
if ($40) {
$$ph$i46$i = 39684;
} else {
$41 = HEAP32[9952]|0;
$42 = ($41|0)==($12|0);
if ($42) {
$$ph$i46$i = 39808;
} else {
$43 = HEAP32[9968]|0;
$44 = ($43|0)==($12|0);
if ($44) {
$$ph$i46$i = 39872;
} else {
$45 = HEAP32[9871]|0;
$46 = ($45|0)==($12|0);
if ($46) {
$$ph$i46$i = 39484;
} else {
$$pre$i = HEAP32[$0>>2]|0;
$$phi$trans$insert$i = ((($$pre$i)) + 24|0);
$$pre50$i = HEAP32[$$phi$trans$insert$i>>2]|0;
$$042$i = $33;$$043$i = $33;$$044$i = 0;$54 = $$pre$i;$57 = $$pre50$i;
label = 24;
break;
}
}
}
}
}
}
$47 = ((($$ph$i46$i)) + 24|0);
$48 = HEAP32[$47>>2]|0;
$49 = HEAP32[$0>>2]|0;
$50 = ((($49)) + 24|0);
$51 = HEAP32[$50>>2]|0;
$52 = ($48>>>0)>($51>>>0);
if ($52) {
__gcry_assert_failed(59174,59029,716,59207);
// unreachable;
} else {
$$042$i = $33;$$043$i = $33;$$044$i = $48;$54 = $49;$57 = $51;
label = 24;
}
} else {
$$042$i = $1;$$043$i = 0;$$044$i = $2;$54 = $14;$57 = $16;
label = 24;
}
} while(0);
if ((label|0) == 24) {
$53 = ((($54)) + 20|0);
$55 = HEAP32[$53>>2]|0;
$56 = $57 << 1;
_memset(($55|0),0,($56|0))|0;
$58 = HEAP32[$0>>2]|0;
$59 = ((($58)) + 20|0);
$60 = HEAP32[$59>>2]|0;
$61 = ((($58)) + 24|0);
$62 = HEAP32[$61>>2]|0;
$63 = (($60) + ($62)|0);
_memcpy(($60|0),($$042$i|0),($$044$i|0))|0;
_memcpy(($63|0),($$042$i|0),($$044$i|0))|0;
$64 = HEAP32[$0>>2]|0;
$65 = ((($64)) + 24|0);
$66 = HEAP32[$65>>2]|0;
$67 = ($66|0)>(0);
if ($67) {
$$04549$i = 0;
while(1) {
$68 = (($60) + ($$04549$i)|0);
$69 = HEAP8[$68>>0]|0;
$70 = $69 ^ 54;
HEAP8[$68>>0] = $70;
$71 = (($63) + ($$04549$i)|0);
$72 = HEAP8[$71>>0]|0;
$73 = $72 ^ 92;
HEAP8[$71>>0] = $73;
$74 = (($$04549$i) + 1)|0;
$75 = HEAP32[$0>>2]|0;
$76 = ((($75)) + 24|0);
$77 = HEAP32[$76>>2]|0;
$78 = ($74|0)<($77|0);
if ($78) {
$$04549$i = $74;
} else {
break;
}
}
}
__gcry_free($$043$i);
}
$83 = HEAP32[$0>>2]|0;
$84 = ((($83)) + 12|0);
$85 = HEAP8[$84>>0]|0;
$86 = $85 & -3;
HEAP8[$84>>0] = $86;
$87 = ((($0)) + 4|0);
HEAP32[$87>>2] = 0;
$88 = HEAP32[$0>>2]|0;
$89 = ((($88)) + 16|0);
$$015$i = HEAP32[$89>>2]|0;
$90 = ($$015$i|0)==(0|0);
if ($90) {
$106 = $88;
} else {
$$016$i = $$015$i;
while(1) {
$91 = ((($$016$i)) + 16|0);
$92 = HEAP32[$$016$i>>2]|0;
$93 = ((($92)) + 44|0);
$94 = HEAP32[$93>>2]|0;
_memset(($91|0),0,($94|0))|0;
$95 = ((($92)) + 28|0);
$96 = HEAP32[$95>>2]|0;
$97 = HEAP32[$0>>2]|0;
$98 = ((($97)) + 12|0);
$99 = HEAP8[$98>>0]|0;
$100 = $99 & 4;
$101 = $100&255;
$102 = $101 << 6;
FUNCTION_TABLE_vii[$96 & 63]($91,$102);
$103 = ((($$016$i)) + 4|0);
$$0$i8 = HEAP32[$103>>2]|0;
$104 = ($$0$i8|0)==(0|0);
if ($104) {
break;
} else {
$$016$i = $$0$i8;
}
}
$$pre$i9 = HEAP32[$0>>2]|0;
$106 = $$pre$i9;
}
$105 = ((($106)) + 20|0);
$107 = HEAP32[$105>>2]|0;
$108 = ($107|0)==(0|0);
if ($108) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$109 = ((($106)) + 24|0);
$110 = HEAP32[$109>>2]|0;
_md_write($0,$107,$110);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function __gcry_md_hash_buffer($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$idx$val$i = 0, $$013$i = 0, $$02$i = 0, $$262$i = 0, $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $$ph$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
switch ($0|0) {
case 2: {
__gcry_sha1_hash_buffer($1,$2,$3);
STACKTOP = sp;return;
break;
}
case 3: {
$4 = (__gcry_fips_mode()|0);
$5 = ($4|0)==(0);
if ($5) {
__gcry_rmd160_hash_buffer($1,$2,$3);
STACKTOP = sp;return;
}
break;
}
case 1: {
$6 = (__gcry_fips_mode()|0);
$7 = ($6|0)==(0);
if (!($7)) {
__gcry_inactivate_fips_mode(59020);
$8 = (__gcry_enforced_fips_mode()|0);
$9 = ($8|0)==(0);
if (!($9)) {
__gcry_fips_noreturn();
// unreachable;
}
}
break;
}
default: {
}
}
$10 = (__gcry_malloc(1068)|0);
$11 = ($10|0)==(0|0);
if ($11) {
$12 = (___errno_location()|0);
$13 = HEAP32[$12>>2]|0;
$14 = (_gpg_err_code_from_errno($13)|0);
$15 = ($14|0)==(0);
if (!($15)) {
$$262$i = $14;
$25 = $$262$i & 65535;
$26 = $25 | 536870912;
$27 = (_gpg_strerror($26)|0);
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $27;
__gcry_log_bug(59223,$vararg_buffer);
// unreachable;
}
}
$16 = ((($10)) + 1040|0);
HEAP32[$10>>2] = $16;
$17 = ((($10)) + 8|0);
HEAP32[$17>>2] = 1025;
$18 = ((($10)) + 4|0);
HEAP32[$18>>2] = 0;
$19 = ((($10)) + 1048|0);
;HEAP32[$19>>2]=0|0;HEAP32[$19+4>>2]=0|0;HEAP32[$19+8>>2]=0|0;HEAP32[$19+12>>2]=0|0;HEAP32[$19+16>>2]=0|0;
HEAP32[$16>>2] = 285677921;
$20 = ((($10)) + 1044|0);
HEAP32[$20>>2] = 1068;
$21 = ((($10)) + 1052|0);
HEAP8[$21>>0] = 0;
__gcry_fast_random_poll();
$22 = ($0|0)==(0);
if (!($22)) {
$$0$idx$val$i = HEAP32[$10>>2]|0;
$23 = (_md_enable($$0$idx$val$i,$0)|0);
$24 = ($23|0)==(0);
if (!($24)) {
_md_close($10);
$$262$i = $23;
$25 = $$262$i & 65535;
$26 = $25 | 536870912;
$27 = (_gpg_strerror($26)|0);
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $27;
__gcry_log_bug(59223,$vararg_buffer);
// unreachable;
}
}
_md_write($10,$2,$3);
_md_final($10);
$$idx$val = HEAP32[$10>>2]|0;
$$idx$val$idx = ((($$idx$val)) + 16|0);
$$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0;
$28 = ($$idx$val$idx$val|0)==(0|0);
do {
if ($22) {
if ($28) {
__gcry_bug(59029,816,59166);
// unreachable;
}
$29 = ((($$idx$val$idx$val)) + 4|0);
$30 = HEAP32[$29>>2]|0;
$31 = ($30|0)==(0|0);
if (!($31)) {
__gcry_log_debug(59127,$vararg_buffer2);
}
$32 = HEAP32[$$idx$val$idx$val>>2]|0;
$33 = ((($32)) + 40|0);
$34 = HEAP32[$33>>2]|0;
$35 = ((($$idx$val$idx$val)) + 16|0);
$36 = (FUNCTION_TABLE_ii[$34 & 63]($35)|0);
$$013$i = $36;
} else {
if ($28) {
__gcry_bug(59029,816,59166);
// unreachable;
}
$$02$i = $$idx$val$idx$val;
while(1) {
$37 = HEAP32[$$02$i>>2]|0;
$38 = HEAP32[$37>>2]|0;
$39 = ($38|0)==($0|0);
if ($39) {
label = 22;
break;
}
$44 = ((($$02$i)) + 4|0);
$45 = HEAP32[$44>>2]|0;
$46 = ($45|0)==(0|0);
if ($46) {
label = 24;
break;
} else {
$$02$i = $45;
}
}
if ((label|0) == 22) {
$40 = ((($37)) + 40|0);
$41 = HEAP32[$40>>2]|0;
$42 = ((($$02$i)) + 16|0);
$43 = (FUNCTION_TABLE_ii[$41 & 63]($42)|0);
$$013$i = $43;
break;
}
else if ((label|0) == 24) {
__gcry_bug(59029,816,59166);
// unreachable;
}
}
} while(0);
$47 = HEAP32[9908]|0;
$48 = ($47|0)==($0|0);
if ($48) {
$$ph$i = 39632;
label = 31;
} else {
$49 = HEAP32[9936]|0;
$50 = ($49|0)==($0|0);
if ($50) {
$$ph$i = 39744;
label = 31;
} else {
$51 = HEAP32[9921]|0;
$52 = ($51|0)==($0|0);
if ($52) {
$$ph$i = 39684;
label = 31;
} else {
$53 = HEAP32[9952]|0;
$54 = ($53|0)==($0|0);
if ($54) {
$$ph$i = 39808;
label = 31;
} else {
$55 = HEAP32[9968]|0;
$56 = ($55|0)==($0|0);
if ($56) {
$$ph$i = 39872;
label = 31;
} else {
$57 = HEAP32[9871]|0;
$58 = ($57|0)==($0|0);
if ($58) {
$$ph$i = 39484;
label = 31;
} else {
$61 = 0;
}
}
}
}
}
}
if ((label|0) == 31) {
$59 = ((($$ph$i)) + 24|0);
$60 = HEAP32[$59>>2]|0;
$61 = $60;
}
_memcpy(($1|0),($$013$i|0),($61|0))|0;
_md_close($10);
STACKTOP = sp;return;
}
function __gcry_md_read($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$013$i = 0, $$02$i = 0, $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
_md_final($0);
$$idx$val = HEAP32[$0>>2]|0;
$$idx$val$idx = ((($$idx$val)) + 16|0);
$$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0;
$2 = ($1|0)==(0);
$3 = ($$idx$val$idx$val|0)==(0|0);
if ($2) {
if ($3) {
__gcry_bug(59029,816,59166);
// unreachable;
}
$4 = ((($$idx$val$idx$val)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
if (!($6)) {
__gcry_log_debug(59127,$vararg_buffer);
}
$7 = HEAP32[$$idx$val$idx$val>>2]|0;
$8 = ((($7)) + 40|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($$idx$val$idx$val)) + 16|0);
$11 = (FUNCTION_TABLE_ii[$9 & 63]($10)|0);
$$013$i = $11;
STACKTOP = sp;return ($$013$i|0);
}
if ($3) {
__gcry_bug(59029,816,59166);
// unreachable;
}
$$02$i = $$idx$val$idx$val;
while(1) {
$12 = HEAP32[$$02$i>>2]|0;
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==($1|0);
if ($14) {
break;
}
$19 = ((($$02$i)) + 4|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20|0)==(0|0);
if ($21) {
label = 11;
break;
} else {
$$02$i = $20;
}
}
if ((label|0) == 11) {
__gcry_bug(59029,816,59166);
// unreachable;
}
$15 = ((($12)) + 40|0);
$16 = HEAP32[$15>>2]|0;
$17 = ((($$02$i)) + 16|0);
$18 = (FUNCTION_TABLE_ii[$16 & 63]($17)|0);
$$013$i = $18;
STACKTOP = sp;return ($$013$i|0);
}
function __gcry_md_hash_buffers($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$013$i = 0, $$02$i = 0, $$042$ph = 0, $$043 = 0, $$045 = 0, $$045$pn = 0, $$1 = 0, $$14453 = 0, $$14652 = 0, $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $$ph$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $or$cond$not = 0, $or$cond3 = 0, $or$cond48 = 0, $or$cond5 = 0, $vararg_buffer = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$5 = sp + 4|0;
$6 = ($3|0)!=(0|0);
$7 = ($4|0)>(-1);
$or$cond$not = $6 & $7;
$8 = $1 & -3;
$9 = ($8|0)==(0);
$or$cond48 = $9 & $or$cond$not;
if (!($or$cond48)) {
$$1 = 45;
STACKTOP = sp;return ($$1|0);
}
$10 = $1 & 2;
$11 = ($10|0)!=(0);
$12 = ($4|0)<(1);
$or$cond3 = $11 & $12;
if ($or$cond3) {
$$1 = 45;
STACKTOP = sp;return ($$1|0);
}
$13 = ($0|0)!=(2);
$or$cond5 = $13 | $11;
if (!($or$cond5)) {
__gcry_sha1_hash_buffers($2,$3,$4);
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$14 = ($0|0)==(1);
if ($14) {
$15 = (__gcry_fips_mode()|0);
$16 = ($15|0)==(0);
if (!($16)) {
__gcry_inactivate_fips_mode(59020);
$17 = (__gcry_enforced_fips_mode()|0);
$18 = ($17|0)==(0);
if (!($18)) {
__gcry_fips_noreturn();
// unreachable;
}
}
}
$19 = (_md_open($5,$0,$10)|0);
$20 = ($19|0)==(0);
L16: do {
if ($20) {
$21 = HEAP32[$5>>2]|0;
do {
if ($11) {
$22 = ((($3)) + 12|0);
$23 = HEAP32[$22>>2]|0;
$24 = ((($3)) + 4|0);
$25 = HEAP32[$24>>2]|0;
$26 = (($23) + ($25)|0);
$27 = ((($3)) + 8|0);
$28 = HEAP32[$27>>2]|0;
$29 = (__gcry_md_setkey($21,$26,$28)|0);
$30 = ($29|0)==(0);
if ($30) {
$31 = ((($3)) + 16|0);
$32 = (($4) + -1)|0;
$$043 = $32;$$045 = $31;
break;
} else {
_md_close($21);
$$042$ph = $29;
break L16;
}
} else {
$$043 = $4;$$045 = $3;
}
} while(0);
$33 = ($$043|0)==(0);
if (!($33)) {
$34 = ((($$045)) + 12|0);
$35 = HEAP32[$34>>2]|0;
$36 = ((($$045)) + 4|0);
$37 = HEAP32[$36>>2]|0;
$38 = (($35) + ($37)|0);
$39 = ((($$045)) + 8|0);
$40 = HEAP32[$39>>2]|0;
_md_write($21,$38,$40);
$41 = (($$043) + -1)|0;
$42 = ($41|0)==(0);
if (!($42)) {
$$045$pn = $$045;$$14453 = $41;
while(1) {
$$14652 = ((($$045$pn)) + 16|0);
$43 = ((($$045$pn)) + 28|0);
$44 = HEAP32[$43>>2]|0;
$45 = ((($$045$pn)) + 20|0);
$46 = HEAP32[$45>>2]|0;
$47 = (($44) + ($46)|0);
$48 = ((($$045$pn)) + 24|0);
$49 = HEAP32[$48>>2]|0;
_md_write($21,$47,$49);
$50 = (($$14453) + -1)|0;
$51 = ($50|0)==(0);
if ($51) {
break;
} else {
$$045$pn = $$14652;$$14453 = $50;
}
}
}
}
_md_final($21);
$$idx$val = HEAP32[$21>>2]|0;
$$idx$val$idx = ((($$idx$val)) + 16|0);
$$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0;
$52 = ($0|0)==(0);
$53 = ($$idx$val$idx$val|0)==(0|0);
do {
if ($52) {
if ($53) {
__gcry_bug(59029,816,59166);
// unreachable;
}
$54 = ((($$idx$val$idx$val)) + 4|0);
$55 = HEAP32[$54>>2]|0;
$56 = ($55|0)==(0|0);
if (!($56)) {
__gcry_log_debug(59127,$vararg_buffer);
}
$57 = HEAP32[$$idx$val$idx$val>>2]|0;
$58 = ((($57)) + 40|0);
$59 = HEAP32[$58>>2]|0;
$60 = ((($$idx$val$idx$val)) + 16|0);
$61 = (FUNCTION_TABLE_ii[$59 & 63]($60)|0);
$$013$i = $61;
} else {
if ($53) {
__gcry_bug(59029,816,59166);
// unreachable;
}
$$02$i = $$idx$val$idx$val;
while(1) {
$62 = HEAP32[$$02$i>>2]|0;
$63 = HEAP32[$62>>2]|0;
$64 = ($63|0)==($0|0);
if ($64) {
label = 26;
break;
}
$69 = ((($$02$i)) + 4|0);
$70 = HEAP32[$69>>2]|0;
$71 = ($70|0)==(0|0);
if ($71) {
label = 28;
break;
} else {
$$02$i = $70;
}
}
if ((label|0) == 26) {
$65 = ((($62)) + 40|0);
$66 = HEAP32[$65>>2]|0;
$67 = ((($$02$i)) + 16|0);
$68 = (FUNCTION_TABLE_ii[$66 & 63]($67)|0);
$$013$i = $68;
break;
}
else if ((label|0) == 28) {
__gcry_bug(59029,816,59166);
// unreachable;
}
}
} while(0);
$72 = HEAP32[9908]|0;
$73 = ($72|0)==($0|0);
if ($73) {
$$ph$i = 39632;
label = 35;
} else {
$74 = HEAP32[9936]|0;
$75 = ($74|0)==($0|0);
if ($75) {
$$ph$i = 39744;
label = 35;
} else {
$76 = HEAP32[9921]|0;
$77 = ($76|0)==($0|0);
if ($77) {
$$ph$i = 39684;
label = 35;
} else {
$78 = HEAP32[9952]|0;
$79 = ($78|0)==($0|0);
if ($79) {
$$ph$i = 39808;
label = 35;
} else {
$80 = HEAP32[9968]|0;
$81 = ($80|0)==($0|0);
if ($81) {
$$ph$i = 39872;
label = 35;
} else {
$82 = HEAP32[9871]|0;
$83 = ($82|0)==($0|0);
if ($83) {
$$ph$i = 39484;
label = 35;
} else {
$86 = 0;
}
}
}
}
}
}
if ((label|0) == 35) {
$84 = ((($$ph$i)) + 24|0);
$85 = HEAP32[$84>>2]|0;
$86 = $85;
}
_memcpy(($2|0),($$013$i|0),($86|0))|0;
_md_close($21);
$$1 = 0;
STACKTOP = sp;return ($$1|0);
} else {
$$042$ph = $19;
}
} while(0);
$$1 = $$042$ph;
STACKTOP = sp;return ($$1|0);
}
function __gcry_md_get_algo($0) {
$0 = $0|0;
var $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$$idx$val = HEAP32[$0>>2]|0;
$$idx$val$idx = ((($$idx$val)) + 16|0);
$$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0;
$1 = ($$idx$val$idx$val|0)==(0|0);
if ($1) {
$7 = 0;
STACKTOP = sp;return ($7|0);
}
$2 = ((($$idx$val$idx$val)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
if (!($4)) {
__gcry_fips_signal_error(59029,980,59043,0,59055);
__gcry_log_error(59076,$vararg_buffer);
}
$5 = HEAP32[$$idx$val$idx$val>>2]|0;
$6 = HEAP32[$5>>2]|0;
$7 = $6;
STACKTOP = sp;return ($7|0);
}
function __gcry_md_get_algo_dlen($0) {
$0 = $0|0;
var $$ph$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[9908]|0;
$2 = ($1|0)==($0|0);
if ($2) {
$$ph$i = 39632;
} else {
$3 = HEAP32[9936]|0;
$4 = ($3|0)==($0|0);
if ($4) {
$$ph$i = 39744;
} else {
$5 = HEAP32[9921]|0;
$6 = ($5|0)==($0|0);
if ($6) {
$$ph$i = 39684;
} else {
$7 = HEAP32[9952]|0;
$8 = ($7|0)==($0|0);
if ($8) {
$$ph$i = 39808;
} else {
$9 = HEAP32[9968]|0;
$10 = ($9|0)==($0|0);
if ($10) {
$$ph$i = 39872;
} else {
$11 = HEAP32[9871]|0;
$12 = ($11|0)==($0|0);
if ($12) {
$$ph$i = 39484;
} else {
$15 = 0;
return ($15|0);
}
}
}
}
}
}
$13 = ((($$ph$i)) + 24|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14;
return ($15|0);
}
function __gcry_md_algo_info($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$ = 0, $$1 = 0, $$ph$i = 0, $$ph$i25 = 0, $$ph$i28 = 0, $$ph$i33 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, $spec$select = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
switch ($1|0) {
case 8: {
$4 = ($2|0)!=(0|0);
$5 = ($3|0)!=(0|0);
$or$cond = $4 | $5;
if ($or$cond) {
$$1 = 45;
STACKTOP = sp;return ($$1|0);
}
$6 = HEAP32[9908]|0;
$7 = ($6|0)==($0|0);
if ($7) {
$$ph$i = 39632;
label = 9;
} else {
$8 = HEAP32[9936]|0;
$9 = ($8|0)==($0|0);
if ($9) {
$$ph$i = 39744;
label = 9;
} else {
$10 = HEAP32[9921]|0;
$11 = ($10|0)==($0|0);
if ($11) {
$$ph$i = 39684;
label = 9;
} else {
$12 = HEAP32[9952]|0;
$13 = ($12|0)==($0|0);
if ($13) {
$$ph$i = 39808;
label = 9;
} else {
$14 = HEAP32[9968]|0;
$15 = ($14|0)==($0|0);
if ($15) {
$$ph$i = 39872;
label = 9;
} else {
$16 = HEAP32[9871]|0;
$17 = ($16|0)==($0|0);
if ($17) {
$$ph$i = 39484;
label = 9;
}
}
}
}
}
}
if ((label|0) == 9) {
$18 = ((($$ph$i)) + 4|0);
$19 = HEAP8[$18>>0]|0;
$20 = $19 & 1;
$21 = ($20<<24>>24)==(0);
if ($21) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
}
$$1 = 5;
STACKTOP = sp;return ($$1|0);
break;
}
case 10: {
$22 = HEAP32[9908]|0;
$23 = ($22|0)==($0|0);
if ($23) {
$$ph$i28 = 39632;
} else {
$24 = HEAP32[9936]|0;
$25 = ($24|0)==($0|0);
if ($25) {
$$ph$i28 = 39744;
} else {
$26 = HEAP32[9921]|0;
$27 = ($26|0)==($0|0);
if ($27) {
$$ph$i28 = 39684;
} else {
$28 = HEAP32[9952]|0;
$29 = ($28|0)==($0|0);
if ($29) {
$$ph$i28 = 39808;
} else {
$30 = HEAP32[9968]|0;
$31 = ($30|0)==($0|0);
if ($31) {
$$ph$i28 = 39872;
} else {
$32 = HEAP32[9871]|0;
$33 = ($32|0)==($0|0);
if ($33) {
$$ph$i28 = 39484;
} else {
$$1 = 5;
STACKTOP = sp;return ($$1|0);
}
}
}
}
}
}
$34 = ((($$ph$i28)) + 4|0);
$35 = HEAP8[$34>>0]|0;
$36 = $35 & 1;
$37 = ($36<<24>>24)==(0);
if (!($37)) {
$$1 = 5;
STACKTOP = sp;return ($$1|0);
}
if ($23) {
$$ph$i33 = 39632;
} else {
$38 = HEAP32[9936]|0;
$39 = ($38|0)==($0|0);
if ($39) {
$$ph$i33 = 39744;
} else {
$40 = HEAP32[9921]|0;
$41 = ($40|0)==($0|0);
if ($41) {
$$ph$i33 = 39684;
} else {
$42 = HEAP32[9952]|0;
$43 = ($42|0)==($0|0);
if ($43) {
$$ph$i33 = 39808;
} else {
$44 = HEAP32[9968]|0;
$45 = ($44|0)==($0|0);
if ($45) {
$$ph$i33 = 39872;
} else {
$46 = HEAP32[9871]|0;
$47 = ($46|0)==($0|0);
if ($47) {
$$ph$i33 = 39484;
} else {
HEAP32[$vararg_buffer>>2] = $0;
__gcry_log_bug(59259,$vararg_buffer);
// unreachable;
}
}
}
}
}
}
$48 = ((($$ph$i33)) + 16|0);
$49 = HEAP32[$48>>2]|0;
$50 = ((($$ph$i33)) + 12|0);
$51 = HEAP32[$50>>2]|0;
$52 = ($2|0)!=(0|0);
if ($52) {
$53 = HEAP32[$3>>2]|0;
$54 = ($53>>>0)<($49>>>0);
if (!($54)) {
_memcpy(($2|0),($51|0),($49|0))|0;
HEAP32[$3>>2] = $49;
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
} else {
$55 = ($3|0)==(0|0);
if (!($55)) {
HEAP32[$3>>2] = $49;
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
}
$$ = $52 ? 66 : 45;
$$1 = $$;
STACKTOP = sp;return ($$1|0);
break;
}
case 57: {
$56 = ($3|0)==(0|0);
if ($56) {
$77 = 0;
} else {
$57 = HEAP32[$3>>2]|0;
$77 = $57;
}
$58 = HEAP32[9908]|0;
$59 = ($58|0)==($0|0);
if ($59) {
$$ph$i25 = 39632;
label = 39;
} else {
$60 = HEAP32[9936]|0;
$61 = ($60|0)==($0|0);
if ($61) {
$$ph$i25 = 39744;
label = 39;
} else {
$62 = HEAP32[9921]|0;
$63 = ($62|0)==($0|0);
if ($63) {
$$ph$i25 = 39684;
label = 39;
} else {
$64 = HEAP32[9952]|0;
$65 = ($64|0)==($0|0);
if ($65) {
$$ph$i25 = 39808;
label = 39;
} else {
$66 = HEAP32[9968]|0;
$67 = ($66|0)==($0|0);
if ($67) {
$$ph$i25 = 39872;
label = 39;
} else {
$68 = HEAP32[9871]|0;
$69 = ($68|0)==($0|0);
if ($69) {
$$ph$i25 = 39484;
label = 39;
} else {
$83 = 16777285;
}
}
}
}
}
}
do {
if ((label|0) == 39) {
$70 = ((($$ph$i25)) + 4|0);
$71 = HEAP8[$70>>0]|0;
$72 = $71 & 1;
$73 = ($72<<24>>24)==(0);
$74 = ((($$ph$i25)) + 48|0);
$75 = HEAP32[$74>>2]|0;
$76 = ($75|0)==(0|0);
if (!($73)) {
$phitmp = $76 ? 16777285 : 16777221;
$83 = $phitmp;
break;
}
if ($76) {
$83 = 16777285;
} else {
$78 = (FUNCTION_TABLE_iiii[$75 & 127]($0,$77,0)|0);
$79 = ($78|0)==(0);
$80 = $78 & 65535;
$81 = $80 | 16777216;
$spec$select = $79 ? 0 : $81;
$83 = $spec$select;
}
}
} while(0);
$82 = $83 & 65535;
$$1 = $82;
STACKTOP = sp;return ($$1|0);
break;
}
default: {
$$1 = 61;
STACKTOP = sp;return ($$1|0);
}
}
return (0)|0;
}
function __gcry_md_selftest($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp20 = 0, $spec$select$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[9908]|0;
$4 = ($3|0)==($0|0);
if ($4) {
$$ph = 39632;
label = 7;
} else {
$5 = HEAP32[9936]|0;
$6 = ($5|0)==($0|0);
if ($6) {
$$ph = 39744;
label = 7;
} else {
$7 = HEAP32[9921]|0;
$8 = ($7|0)==($0|0);
if ($8) {
$$ph = 39684;
label = 7;
} else {
$9 = HEAP32[9952]|0;
$10 = ($9|0)==($0|0);
if ($10) {
$$ph = 39808;
label = 7;
} else {
$11 = HEAP32[9968]|0;
$12 = ($11|0)==($0|0);
if ($12) {
$$ph = 39872;
label = 7;
} else {
$13 = HEAP32[9871]|0;
$14 = ($13|0)==($0|0);
if ($14) {
$$ph = 39484;
label = 7;
} else {
$25 = 0;$30 = 0;$35 = 69;
label = 11;
}
}
}
}
}
}
do {
if ((label|0) == 7) {
$15 = ((($$ph)) + 4|0);
$16 = HEAP8[$15>>0]|0;
$17 = $16 & 1;
$18 = ($17<<24>>24)==(0);
$19 = ((($$ph)) + 48|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20|0)==(0|0);
if (!($18)) {
$phitmp20 = $21 ? 69 : 5;
$25 = $$ph;$30 = 1;$35 = $phitmp20;
label = 11;
break;
}
if ($21) {
$25 = $$ph;$30 = 1;$35 = 69;
label = 11;
} else {
$22 = (FUNCTION_TABLE_iiii[$20 & 127]($0,$1,$2)|0);
$$0 = $22;
}
}
} while(0);
if ((label|0) == 11) {
$23 = ($2|0)==(0|0);
if ($23) {
$$0 = $35;
} else {
if ($30) {
$24 = ((($25)) + 4|0);
$26 = HEAP8[$24>>0]|0;
$27 = $26 & 1;
$28 = ($27<<24>>24)==(0);
if ($28) {
$31 = 59812;
} else {
label = 14;
}
} else {
label = 14;
}
if ((label|0) == 14) {
$29 = $30 ? 59773 : 59792;
$31 = $29;
}
FUNCTION_TABLE_viiii[$2 & 63](63225,$0,59834,$31);
$$0 = $35;
}
}
$32 = ($$0|0)==(0);
$33 = $$0 & 65535;
$34 = $33 | 16777216;
$spec$select$i$i = $32 ? 0 : $34;
return ($spec$select$i$i|0);
}
function __gcry_md_init() {
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function __gcry_primegen_init() {
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function __gcry_register_primegen_progress($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
HEAP32[18114] = $0;
HEAP32[18115] = $1;
return;
}
function __gcry_generate_secret_prime($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (_gen_prime($0,1,$1,$2,$3)|0);
$5 = HEAP32[18114]|0;
$6 = ($5|0)==(0|0);
if ($6) {
return ($4|0);
}
$7 = HEAP32[18115]|0;
FUNCTION_TABLE_viiiii[$5 & 127]($7,59288,10,0,0);
return ($4|0);
}
function _gen_prime($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$087109 = 0, $$087109$us = 0, $$092107 = 0, $$092107$us = 0, $$093104 = 0, $$1 = 0, $$1$us = 0, $$194106 = 0, $$194106$us = 0, $$lcssa = 0, $$lcssa$us = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$5 = sp + 12|0;
$6 = ($0>>>0)<(16);
if ($6) {
HEAP32[$vararg_buffer>>2] = 16;
__gcry_log_fatal(59297,$vararg_buffer);
// unreachable;
}
$7 = (__gcry_xmalloc(2672)|0);
$8 = (__gcry_mpi_alloc_set_ui(2)|0);
$9 = (__gcry_mpi_alloc_set_ui(3)|0);
$10 = ($1|0)!=(0);
if ($10) {
$11 = (__gcry_mpi_snew($0)|0);
$13 = $11;
} else {
$12 = (__gcry_mpi_new($0)|0);
$13 = $12;
}
$14 = (__gcry_mpi_alloc_like($13)|0);
$15 = (__gcry_mpi_alloc_like($13)|0);
$16 = (__gcry_mpi_alloc_like($13)|0);
HEAP32[$5>>2] = 0;
$17 = (($0) + -1)|0;
$18 = (($0) + -2)|0;
$19 = (($17) - ($1))|0;
$20 = ($3|0)==(0|0);
L8: while(1) {
__gcry_mpi_randomize($13,$0,$2);
__gcry_mpi_set_highbit($13,$17);
if ($10) {
__gcry_mpi_set_bit($13,$18);
}
__gcry_mpi_set_bit($13,0);
$$093104 = 0;
while(1) {
$21 = (3184 + ($$093104<<1)|0);
$22 = HEAP16[$21>>1]|0;
$23 = $22&65535;
$24 = (__gcry_mpi_fdiv_r_ui(0,$13,$23)|0);
$25 = (($7) + ($$093104<<2)|0);
HEAP32[$25>>2] = $24;
$26 = (($$093104) + 1)|0;
$27 = ($26|0)==(668);
if ($27) {
break;
} else {
$$093104 = $26;
}
}
L16: do {
if ($20) {
$$087109$us = 0;$$092107$us = 0;
while(1) {
$$194106$us = 0;$37 = 3;
while(1) {
$33 = (($7) + ($$194106$us<<2)|0);
$34 = HEAP32[$33>>2]|0;
$35 = (($34) + ($$092107$us))|0;
$36 = ($35>>>0)<($37>>>0);
if ($36) {
$$lcssa$us = $35;
} else {
$39 = $34;
while(1) {
$38 = (($39) - ($37))|0;
$40 = (($38) + ($$092107$us))|0;
$41 = ($40>>>0)<($37>>>0);
if ($41) {
break;
} else {
$39 = $38;
}
}
HEAP32[$33>>2] = $38;
$$lcssa$us = $40;
}
$42 = ($$lcssa$us|0)==(0);
$29 = (($$194106$us) + 1)|0;
if ($42) {
$$1$us = $$087109$us;
break;
}
$28 = (3184 + ($29<<1)|0);
$30 = HEAP16[$28>>1]|0;
$31 = $30&65535;
$32 = ($29|0)==(668);
if ($32) {
label = 20;
break;
} else {
$$194106$us = $29;$37 = $31;
}
}
if ((label|0) == 20) {
label = 0;
__gcry_mpi_add_ui($16,$13,$$092107$us);
$43 = HEAP32[$5>>2]|0;
$44 = (($43) + 1)|0;
HEAP32[$5>>2] = $44;
__gcry_mpi_sub_ui($15,$16,1);
__gcry_mpi_powm($14,$8,$15,$16);
$45 = (__gcry_mpi_cmp_ui($14,1)|0);
$46 = ($45|0)==(0);
if ($46) {
$47 = (_is_prime($16,5,$5)|0);
$48 = ($47|0)==(0);
if (!($48)) {
break;
}
}
$51 = (($$087109$us) + 1)|0;
$52 = ($51|0)==(10);
if ($52) {
$53 = HEAP32[18114]|0;
$54 = ($53|0)==(0|0);
if ($54) {
$$1$us = 0;
} else {
$55 = HEAP32[18115]|0;
FUNCTION_TABLE_viiiii[$53 & 127]($55,59288,46,0,0);
$$1$us = 0;
}
} else {
$$1$us = $51;
}
}
$56 = (($$092107$us) + 2)|0;
$57 = ($56>>>0)<(20000);
if ($57) {
$$087109$us = $$1$us;$$092107$us = $56;
} else {
break L16;
}
}
$49 = (__gcry_mpi_test_bit($16,$19)|0);
$50 = ($49|0)==(0);
if ($50) {
label = 38;
} else {
label = 51;
break L8;
}
} else {
$$087109 = 0;$$092107 = 0;
while(1) {
$$194106 = 0;$67 = 3;
while(1) {
$63 = (($7) + ($$194106<<2)|0);
$64 = HEAP32[$63>>2]|0;
$65 = (($64) + ($$092107))|0;
$66 = ($65>>>0)<($67>>>0);
if ($66) {
$$lcssa = $65;
} else {
$69 = $64;
while(1) {
$68 = (($69) - ($67))|0;
$70 = (($68) + ($$092107))|0;
$71 = ($70>>>0)<($67>>>0);
if ($71) {
break;
} else {
$69 = $68;
}
}
HEAP32[$63>>2] = $68;
$$lcssa = $70;
}
$72 = ($$lcssa|0)==(0);
$59 = (($$194106) + 1)|0;
if ($72) {
$$1 = $$087109;
break;
}
$58 = (3184 + ($59<<1)|0);
$60 = HEAP16[$58>>1]|0;
$61 = $60&65535;
$62 = ($59|0)==(668);
if ($62) {
label = 35;
break;
} else {
$$194106 = $59;$67 = $61;
}
}
if ((label|0) == 35) {
label = 0;
__gcry_mpi_add_ui($16,$13,$$092107);
$73 = HEAP32[$5>>2]|0;
$74 = (($73) + 1)|0;
HEAP32[$5>>2] = $74;
__gcry_mpi_sub_ui($15,$16,1);
__gcry_mpi_powm($14,$8,$15,$16);
$75 = (__gcry_mpi_cmp_ui($14,1)|0);
$76 = ($75|0)==(0);
if ($76) {
$77 = (_is_prime($16,5,$5)|0);
$78 = ($77|0)==(0);
if (!($78)) {
$79 = (__gcry_mpi_test_bit($16,$19)|0);
$80 = ($79|0)==(0);
if ($80) {
label = 38;
break L16;
}
$84 = (FUNCTION_TABLE_iii[$3 & 127]($4,$16)|0);
$85 = ($84|0)==(0);
if ($85) {
label = 51;
break L8;
}
$86 = HEAP32[18114]|0;
$87 = ($86|0)==(0|0);
if (!($87)) {
$88 = HEAP32[18115]|0;
FUNCTION_TABLE_viiiii[$86 & 127]($88,59288,47,0,0);
}
}
}
$89 = (($$087109) + 1)|0;
$90 = ($89|0)==(10);
if ($90) {
$91 = HEAP32[18114]|0;
$92 = ($91|0)==(0|0);
if ($92) {
$$1 = 0;
} else {
$93 = HEAP32[18115]|0;
FUNCTION_TABLE_viiiii[$91 & 127]($93,59288,46,0,0);
$$1 = 0;
}
} else {
$$1 = $89;
}
}
$94 = (($$092107) + 2)|0;
$95 = ($94>>>0)<(20000);
if ($95) {
$$087109 = $$1;$$092107 = $94;
} else {
break;
}
}
}
} while(0);
if ((label|0) == 38) {
label = 0;
$81 = HEAP32[18114]|0;
$82 = ($81|0)==(0|0);
if (!($82)) {
$83 = HEAP32[18115]|0;
FUNCTION_TABLE_viiiii[$81 & 127]($83,59288,10,0,0);
}
__gcry_log_debug(59344,$vararg_buffer1);
}
$96 = HEAP32[18114]|0;
$97 = ($96|0)==(0|0);
if (!($97)) {
$98 = HEAP32[18115]|0;
FUNCTION_TABLE_viiiii[$96 & 127]($98,59288,58,0,0);
}
}
if ((label|0) == 51) {
__gcry_mpi_free($8);
__gcry_mpi_free($9);
__gcry_mpi_free($14);
__gcry_mpi_free($15);
__gcry_mpi_free($13);
__gcry_free($7);
STACKTOP = sp;return ($16|0);
}
return (0)|0;
}
function _is_prime($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$074 = 0, $$07580 = 0, $$07580$us = 0, $$07678$us = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = (__gcry_mpi_alloc($4)|0);
$6 = HEAP32[$3>>2]|0;
$7 = (__gcry_mpi_alloc($6)|0);
$8 = HEAP32[$3>>2]|0;
$9 = (__gcry_mpi_alloc($8)|0);
$10 = HEAP32[$3>>2]|0;
$11 = (__gcry_mpi_alloc($10)|0);
$12 = (__gcry_mpi_alloc_set_ui(2)|0);
$13 = (__gcry_mpi_get_nbits($0)|0);
$14 = ($1|0)>(5);
$spec$select = $14 ? $1 : 5;
__gcry_mpi_sub_ui($11,$0,1);
$15 = (__gcry_mpi_copy($11)|0);
$16 = (__gcry_mpi_trailing_zeros($15)|0);
__gcry_mpi_tdiv_q_2exp($15,$15,$16);
$17 = ($spec$select|0)==(0);
L1: do {
if ($17) {
$$074 = 1;
} else {
$18 = (($13) + -2)|0;
$19 = ($16>>>0)>(1);
if (!($19)) {
$$07580 = 0;
while(1) {
$46 = HEAP32[$2>>2]|0;
$47 = (($46) + 1)|0;
HEAP32[$2>>2] = $47;
$48 = ($$07580|0)==(0);
if ($48) {
(__gcry_mpi_set_ui($5,2)|0);
} else {
__gcry_mpi_randomize($5,$13,0);
$49 = (__gcry_mpi_test_bit($5,$18)|0);
$50 = ($49|0)==(0);
__gcry_mpi_set_highbit($5,$18);
if ($50) {
__gcry_mpi_clear_bit($5,$18);
}
$51 = (__gcry_mpi_cmp($5,$11)|0);
$52 = ($51|0)<(0);
if (!($52)) {
label = 27;
break;
}
$53 = (__gcry_mpi_cmp_ui($5,1)|0);
$54 = ($53|0)>(0);
if (!($54)) {
label = 27;
break;
}
}
__gcry_mpi_powm($7,$5,$15,$0);
$55 = (__gcry_mpi_cmp_ui($7,1)|0);
$56 = ($55|0)==(0);
if (!($56)) {
$57 = (__gcry_mpi_cmp($7,$11)|0);
$58 = ($57|0)==(0);
if (!($58)) {
$59 = (__gcry_mpi_cmp($7,$11)|0);
$60 = ($59|0)==(0);
if (!($60)) {
$$074 = 0;
break L1;
}
}
}
$61 = HEAP32[18114]|0;
$62 = ($61|0)==(0|0);
if (!($62)) {
$63 = HEAP32[18115]|0;
FUNCTION_TABLE_viiiii[$61 & 127]($63,59288,43,0,0);
}
$64 = (($$07580) + 1)|0;
$65 = ($64>>>0)<($spec$select>>>0);
if ($65) {
$$07580 = $64;
} else {
$$074 = 1;
break L1;
}
}
if ((label|0) == 27) {
__gcry_assert_failed(59374,59446,951,59457);
// unreachable;
}
}
$$07580$us = 0;
while(1) {
$20 = HEAP32[$2>>2]|0;
$21 = (($20) + 1)|0;
HEAP32[$2>>2] = $21;
$22 = ($$07580$us|0)==(0);
if ($22) {
(__gcry_mpi_set_ui($5,2)|0);
} else {
__gcry_mpi_randomize($5,$13,0);
$23 = (__gcry_mpi_test_bit($5,$18)|0);
$24 = ($23|0)==(0);
__gcry_mpi_set_highbit($5,$18);
if ($24) {
__gcry_mpi_clear_bit($5,$18);
}
$25 = (__gcry_mpi_cmp($5,$11)|0);
$26 = ($25|0)<(0);
if (!($26)) {
label = 27;
break;
}
$27 = (__gcry_mpi_cmp_ui($5,1)|0);
$28 = ($27|0)>(0);
if (!($28)) {
label = 27;
break;
}
}
__gcry_mpi_powm($7,$5,$15,$0);
$29 = (__gcry_mpi_cmp_ui($7,1)|0);
$30 = ($29|0)==(0);
if (!($30)) {
$31 = (__gcry_mpi_cmp($7,$11)|0);
$32 = ($31|0)==(0);
if (!($32)) {
$$07678$us = 1;
while(1) {
$35 = (__gcry_mpi_cmp($7,$11)|0);
$36 = ($35|0)==(0);
if ($36) {
break;
}
__gcry_mpi_powm($7,$7,$12,$0);
$37 = (__gcry_mpi_cmp_ui($7,1)|0);
$38 = ($37|0)==(0);
$34 = (($$07678$us) + 1)|0;
if ($38) {
$$074 = 0;
break L1;
}
$33 = ($34>>>0)<($16>>>0);
if ($33) {
$$07678$us = $34;
} else {
break;
}
}
$39 = (__gcry_mpi_cmp($7,$11)|0);
$40 = ($39|0)==(0);
if (!($40)) {
$$074 = 0;
break L1;
}
}
}
$41 = HEAP32[18114]|0;
$42 = ($41|0)==(0|0);
if (!($42)) {
$43 = HEAP32[18115]|0;
FUNCTION_TABLE_viiiii[$41 & 127]($43,59288,43,0,0);
}
$44 = (($$07580$us) + 1)|0;
$45 = ($44>>>0)<($spec$select>>>0);
if ($45) {
$$07580$us = $44;
} else {
$$074 = 1;
break L1;
}
}
if ((label|0) == 27) {
__gcry_assert_failed(59374,59446,951,59457);
// unreachable;
}
}
} while(0);
__gcry_mpi_free($5);
__gcry_mpi_free($7);
__gcry_mpi_free($9);
__gcry_mpi_free($11);
__gcry_mpi_free($15);
__gcry_mpi_free($12);
return ($$074|0);
}
function _check_prime($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$03539 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
HEAP32[$5>>2] = 0;
$$03539 = 0;$11 = 3;
while(1) {
$12 = (__gcry_mpi_divisible_ui($0,$11)|0);
$13 = ($12|0)==(0);
$7 = (($$03539) + 1)|0;
if (!($13)) {
label = 4;
break;
}
$6 = (3184 + ($7<<1)|0);
$8 = HEAP16[$6>>1]|0;
$9 = $8&65535;
$10 = ($7|0)==(668);
if ($10) {
break;
} else {
$$03539 = $7;$11 = $9;
}
}
if ((label|0) == 4) {
$14 = (__gcry_mpi_cmp_ui($0,$11)|0);
$15 = ($14|0)==(0);
$16 = $15&1;
$$1 = $16;
STACKTOP = sp;return ($$1|0);
}
$17 = (__gcry_mpi_alloc_like($0)|0);
$18 = (__gcry_mpi_alloc_like($0)|0);
__gcry_mpi_sub_ui($18,$0,1);
__gcry_mpi_powm($17,$1,$18,$0);
__gcry_mpi_free($18);
$19 = (__gcry_mpi_cmp_ui($17,1)|0);
$20 = ($19|0)==(0);
__gcry_mpi_free($17);
if (!($20)) {
$21 = HEAP32[18114]|0;
$22 = ($21|0)==(0|0);
if ($22) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$23 = HEAP32[18115]|0;
FUNCTION_TABLE_viiiii[$21 & 127]($23,59288,46,0,0);
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$24 = ($3|0)!=(0|0);
if ($24) {
$25 = (FUNCTION_TABLE_iiii[$3 & 127]($4,2,$0)|0);
$26 = ($25|0)==(0);
if (!($26)) {
label = 10;
}
} else {
label = 10;
}
if ((label|0) == 10) {
$27 = (_is_prime($0,$2,$5)|0);
$28 = ($27|0)==(0);
if (!($28)) {
if (!($24)) {
$$1 = 1;
STACKTOP = sp;return ($$1|0);
}
$29 = (FUNCTION_TABLE_iiii[$3 & 127]($4,1,$0)|0);
$30 = ($29|0)==(0);
if (!($30)) {
$$1 = 1;
STACKTOP = sp;return ($$1|0);
}
}
}
$31 = HEAP32[18114]|0;
$32 = ($31|0)==(0|0);
if ($32) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$33 = HEAP32[18115]|0;
FUNCTION_TABLE_viiiii[$31 & 127]($33,59288,46,0,0);
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
function __gcry_derive_x931_prime($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond3$not = 0, $or$cond93 = 0, label = 0, sp = 0;
sp = STACKTOP;
$6 = ($0|0)!=(0|0);
$7 = ($1|0)!=(0|0);
$or$cond = $6 & $7;
$8 = ($2|0)!=(0|0);
$or$cond3 = $or$cond & $8;
$or$cond3$not = $or$cond3 ^ 1;
$9 = ($3|0)==(0|0);
$or$cond93 = $9 | $or$cond3$not;
if ($or$cond93) {
$$0 = 0;
return ($$0|0);
}
$10 = (__gcry_mpi_test_bit($3,0)|0);
$11 = ($10|0)==(0);
if ($11) {
$$0 = 0;
return ($$0|0);
}
$12 = (_find_x931_prime($1)|0);
$13 = (_find_x931_prime($2)|0);
$14 = (__gcry_mpi_alloc_like($0)|0);
__gcry_mpi_mul($14,$12,$13);
$15 = (__gcry_mpi_alloc_like($12)|0);
(__gcry_mpi_invm($15,$13,$12)|0);
__gcry_mpi_mul($15,$15,$13);
$16 = (__gcry_mpi_alloc_like($13)|0);
(__gcry_mpi_invm($16,$12,$13)|0);
__gcry_mpi_mul($16,$16,$12);
__gcry_mpi_sub($15,$15,$16);
$17 = ((($15)) + 8|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0);
if (!($19)) {
__gcry_mpi_add($15,$15,$14);
}
__gcry_mpi_subm($16,$15,$0,$14);
__gcry_mpi_add($16,$16,$0);
__gcry_mpi_free($15);
$20 = (__gcry_mpi_cmp($16,$0)|0);
$21 = ($20|0)<(0);
if ($21) {
__gcry_mpi_add($16,$16,$14);
}
$22 = (__gcry_mpi_alloc_set_ui(2)|0);
$23 = (__gcry_mpi_alloc_like($16)|0);
__gcry_mpi_sub_ui($14,$14,1);
__gcry_mpi_sub_ui($16,$16,1);
while(1) {
$24 = (__gcry_mpi_gcd($23,$3,$16)|0);
__gcry_mpi_add_ui($16,$16,1);
$25 = ($24|0)==(0);
if ($25) {
$26 = HEAP32[18114]|0;
$27 = ($26|0)==(0|0);
if (!($27)) {
$28 = HEAP32[18115]|0;
FUNCTION_TABLE_viiiii[$26 & 127]($28,59288,47,0,0);
}
} else {
$29 = (_check_prime($16,$22,64,0,0)|0);
$30 = ($29|0)==(0);
if (!($30)) {
break;
}
}
__gcry_mpi_add($16,$16,$14);
}
__gcry_mpi_free($23);
__gcry_mpi_free($22);
__gcry_mpi_free($14);
$31 = HEAP32[18114]|0;
$32 = ($31|0)==(0|0);
if (!($32)) {
$33 = HEAP32[18115]|0;
FUNCTION_TABLE_viiiii[$31 & 127]($33,59288,10,0,0);
}
$34 = ($4|0)==(0|0);
if ($34) {
__gcry_mpi_free($12);
} else {
HEAP32[$4>>2] = $12;
}
$35 = ($5|0)==(0|0);
if ($35) {
__gcry_mpi_free($13);
$$0 = $16;
return ($$0|0);
} else {
HEAP32[$5>>2] = $13;
$$0 = $16;
return ($$0|0);
}
return (0)|0;
}
function _find_x931_prime($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_mpi_alloc_set_ui(2)|0);
$2 = (__gcry_mpi_copy($0)|0);
__gcry_mpi_set_bit($2,0);
$3 = (_check_prime($2,$1,64,0,0)|0);
$4 = ($3|0)==(0);
if (!($4)) {
__gcry_mpi_free($1);
return ($2|0);
}
while(1) {
__gcry_mpi_add_ui($2,$2,2);
$5 = (_check_prime($2,$1,64,0,0)|0);
$6 = ($5|0)==(0);
if (!($6)) {
break;
}
}
__gcry_mpi_free($1);
return ($2|0);
}
function __gcry_pk_util_parse_flaglist($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0108 = 0, $$087$lcssa = 0, $$087107 = 0, $$089$lcssa = 0, $$089106 = 0, $$091105 = 0, $$091105$in = 0, $$092$lcssa = 0, $$092104 = 0, $$1 = 0, $$188 = 0, $$190 = 0, $$193 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $spec$select = 0;
var $spec$select100 = 0, $spec$select101 = 0, $spec$select102 = 0, $spec$select103 = 0, $spec$select94 = 0, $spec$select95 = 0, $spec$select96 = 0, $spec$select97 = 0, $spec$select98 = 0, $spec$select99 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = ($0|0)==(0|0);
if ($4) {
$$087$lcssa = 0;$$089$lcssa = 5;$$092$lcssa = 0;
} else {
$5 = (__gcry_sexp_length($0)|0);
$6 = ($5|0)>(1);
if ($6) {
$$0108 = 0;$$087107 = 0;$$089106 = 5;$$091105$in = $5;$$092104 = 0;
while(1) {
$$091105 = (($$091105$in) + -1)|0;
$7 = (__gcry_sexp_nth_data($0,$$091105,$3)|0);
$8 = ($7|0)==(0|0);
L6: do {
if ($8) {
$$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $$092104;
} else {
$9 = HEAP32[$3>>2]|0;
do {
switch ($9|0) {
case 3: {
$10 = (_memcmp($7,59466,3)|0);
$11 = ($10|0)==(0);
$12 = ($$089106|0)==(5);
$or$cond = $12 & $11;
if ($or$cond) {
$13 = $$087107 | 4;
$$1 = $$0108;$$188 = $13;$$190 = 4;$$193 = $$092104;
break L6;
}
$14 = (_memcmp($7,59470,3)|0);
$15 = ($14|0)==(0);
$or$cond3 = $12 & $15;
if ($or$cond3) {
$16 = $$087107 | 16;
$$1 = $$0108;$$188 = $16;$$190 = 0;$$193 = $$092104;
break L6;
} else {
$17 = ($$0108|0)==(0);
$spec$select = $17 ? 72 : $$092104;
$$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select;
break L6;
}
break;
}
case 4: {
$18 = (_memcmp($7,59474,4)|0);
$19 = ($18|0)==(0);
if ($19) {
$20 = $$087107 | 1024;
$$1 = $$0108;$$188 = $20;$$190 = $$089106;$$193 = $$092104;
break L6;
}
$21 = (_memcmp($7,59479,4)|0);
$22 = ($21|0)==(0);
$23 = ($$089106|0)==(5);
$or$cond5 = $23 & $22;
if ($or$cond5) {
$24 = $$087107 | 4;
$$1 = $$0108;$$188 = $24;$$190 = 3;$$193 = $$092104;
break L6;
}
$25 = (_memcmp($7,67440,4)|0);
$26 = ($25|0)==(0);
if ($26) {
$27 = $$087107 | 8192;
$$1 = $$0108;$$188 = $27;$$190 = 0;$$193 = $$092104;
break L6;
} else {
$28 = ($$0108|0)==(0);
$spec$select94 = $28 ? 72 : $$092104;
$$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select94;
break L6;
}
break;
}
case 5: {
$29 = (_memcmp($7,67434,5)|0);
$30 = ($29|0)==(0);
if ($30) {
$31 = $$087107 | 4096;
$$1 = $$0108;$$188 = $31;$$190 = 0;$$193 = $$092104;
break L6;
}
$32 = (_memcmp($7,59484,5)|0);
$33 = ($32|0)==(0);
$34 = ($$089106|0)==(5);
$or$cond7 = $34 & $33;
if ($or$cond7) {
$35 = $$087107 | 4;
$$1 = $$0108;$$188 = $35;$$190 = 1;$$193 = $$092104;
break L6;
}
$36 = (_memcmp($7,59490,5)|0);
$37 = ($36|0)==(0);
if ($37) {
$38 = $$087107 | 512;
$$1 = $$0108;$$188 = $38;$$190 = $$089106;$$193 = $$092104;
break L6;
} else {
$39 = ($$0108|0)==(0);
$spec$select95 = $39 ? 72 : $$092104;
$$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select95;
break L6;
}
break;
}
case 6: {
$40 = (_memcmp($7,59496,6)|0);
$41 = ($40|0)==(0);
if ($41) {
$42 = $$087107 | 2048;
$$1 = $$0108;$$188 = $42;$$190 = $$089106;$$193 = $$092104;
break L6;
} else {
$43 = ($$0108|0)==(0);
$spec$select96 = $43 ? 72 : $$092104;
$$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select96;
break L6;
}
break;
}
case 7: {
$44 = (_memcmp($7,59503,7)|0);
$45 = ($44|0)==(0);
if ($45) {
$46 = $$087107 | 2;
$$1 = $$0108;$$188 = $46;$$190 = $$089106;$$193 = $$092104;
break L6;
} else {
$47 = (_memcmp($7,59511,7)|0);
$48 = ($47|0)==(0);
$49 = ($$0108|0)!=(0);
$or$cond11 = $49 | $48;
$spec$select97 = $or$cond11 ? $$092104 : 72;
$$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select97;
break L6;
}
break;
}
case 8: {
$50 = (_memcmp($7,61924,8)|0);
$51 = ($50|0)==(0);
if ($51) {
$52 = $$087107 | 64;
$$1 = $$0108;$$188 = $52;$$190 = $$089106;$$193 = $$092104;
break L6;
} else {
$53 = ($$0108|0)==(0);
$spec$select98 = $53 ? 72 : $$092104;
$$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select98;
break L6;
}
break;
}
case 9: {
$54 = (_memcmp($7,59519,9)|0);
$55 = ($54|0)==(0);
$56 = ($$089106|0)==(5);
$or$cond9 = $56 & $55;
if ($or$cond9) {
$57 = $$087107 | 4;
$$1 = $$0108;$$188 = $57;$$190 = 2;$$193 = $$092104;
break L6;
} else {
$58 = ($$0108|0)==(0);
$spec$select99 = $58 ? 72 : $$092104;
$$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select99;
break L6;
}
break;
}
case 10: {
$59 = (_memcmp($7,59529,10)|0);
$60 = ($59|0)==(0);
if ($60) {
$$1 = 1;$$188 = $$087107;$$190 = $$089106;$$193 = $$092104;
break L6;
}
$61 = (_memcmp($7,59540,10)|0);
$62 = ($61|0)==(0);
if ($62) {
$63 = $$087107 | 16384;
$$1 = $$0108;$$188 = $63;$$190 = $$089106;$$193 = $$092104;
break L6;
} else {
$64 = ($$0108|0)==(0);
$spec$select100 = $64 ? 72 : $$092104;
$$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select100;
break L6;
}
break;
}
case 11: {
$65 = (_memcmp($7,59551,11)|0);
$66 = ($65|0)==(0);
if ($66) {
$67 = $$087107 | 1;
$$1 = $$0108;$$188 = $67;$$190 = $$089106;$$193 = $$092104;
break L6;
}
$68 = (_memcmp($7,59563,11)|0);
$69 = ($68|0)==(0);
if ($69) {
$70 = $$087107 | 128;
$$1 = $$0108;$$188 = $70;$$190 = $$089106;$$193 = $$092104;
break L6;
} else {
$71 = ($$0108|0)==(0);
$spec$select101 = $71 ? 72 : $$092104;
$$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select101;
break L6;
}
break;
}
case 13: {
$72 = (_memcmp($7,59575,13)|0);
$73 = ($72|0)==(0);
if ($73) {
$74 = $$087107 | 256;
$$1 = $$0108;$$188 = $74;$$190 = $$089106;$$193 = $$092104;
break L6;
}
$75 = (_memcmp($7,66452,13)|0);
$76 = ($75|0)==(0);
if ($76) {
$77 = $$087107 | 32;
$$1 = $$0108;$$188 = $77;$$190 = $$089106;$$193 = $$092104;
break L6;
} else {
$78 = ($$0108|0)==(0);
$spec$select102 = $78 ? 72 : $$092104;
$$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select102;
break L6;
}
break;
}
default: {
$79 = ($$0108|0)==(0);
$spec$select103 = $79 ? 72 : $$092104;
$$1 = $$0108;$$188 = $$087107;$$190 = $$089106;$$193 = $spec$select103;
break L6;
}
}
} while(0);
}
} while(0);
$80 = ($$091105$in|0)>(2);
if ($80) {
$$0108 = $$1;$$087107 = $$188;$$089106 = $$190;$$091105$in = $$091105;$$092104 = $$193;
} else {
$$087$lcssa = $$188;$$089$lcssa = $$190;$$092$lcssa = $$193;
break;
}
}
} else {
$$087$lcssa = 0;$$089$lcssa = 5;$$092$lcssa = 0;
}
}
$81 = ($1|0)==(0|0);
if (!($81)) {
HEAP32[$1>>2] = $$087$lcssa;
}
$82 = ($2|0)==(0|0);
if ($82) {
STACKTOP = sp;return ($$092$lcssa|0);
}
HEAP32[$2>>2] = $$089$lcssa;
STACKTOP = sp;return ($$092$lcssa|0);
}
function __gcry_pk_util_get_nbits($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$2 = sp;
$3 = sp + 52|0;
HEAP32[$1>>2] = 0;
$4 = (__gcry_sexp_find_token($0,59589,0)|0);
$5 = ($4|0)==(0|0);
if ($5) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$6 = (__gcry_sexp_nth_data($4,1,$3)|0);
$7 = ($6|0)==(0|0);
$8 = HEAP32[$3>>2]|0;
$9 = ($8>>>0)>(48);
$or$cond = $7 | $9;
if ($or$cond) {
__gcry_sexp_release($4);
$$0 = 65;
STACKTOP = sp;return ($$0|0);
} else {
_memcpy(($2|0),($6|0),($8|0))|0;
$10 = (($2) + ($8)|0);
HEAP8[$10>>0] = 0;
$11 = (_strtoul($2,0,0)|0);
HEAP32[$1>>2] = $11;
__gcry_sexp_release($4);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
return (0)|0;
}
function __gcry_pk_util_get_rsa_use_e($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$2 = sp;
$3 = sp + 52|0;
HEAP32[$1>>2] = 0;
$4 = (__gcry_sexp_find_token($0,59595,0)|0);
$5 = ($4|0)==(0|0);
if ($5) {
HEAP32[$1>>2] = 65537;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$6 = (__gcry_sexp_nth_data($4,1,$3)|0);
$7 = ($6|0)==(0|0);
$8 = HEAP32[$3>>2]|0;
$9 = ($8>>>0)>(48);
$or$cond = $7 | $9;
if ($or$cond) {
__gcry_sexp_release($4);
$$0 = 65;
STACKTOP = sp;return ($$0|0);
} else {
_memcpy(($2|0),($6|0),($8|0))|0;
$10 = (($2) + ($8)|0);
HEAP8[$10>>0] = 0;
$11 = (_strtoul($2,0,0)|0);
HEAP32[$1>>2] = $11;
__gcry_sexp_release($4);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
return (0)|0;
}
function __gcry_pk_util_preparse_sigval($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$043 = 0, $$044 = 0, $$046 = 0, $$047 = 0, $$1 = 0, $$145 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
HEAP32[$2>>2] = 0;
$4 = ($3|0)!=(0|0);
if ($4) {
HEAP32[$3>>2] = 0;
}
$5 = (__gcry_sexp_find_token($0,59605,0)|0);
$6 = ($5|0)==(0|0);
L4: do {
if ($6) {
$$046 = 65;$$1 = 0;$$145 = 0;
} else {
$7 = (__gcry_sexp_nth($5,1)|0);
$8 = ($7|0)==(0|0);
if ($8) {
$$046 = 68;$$1 = 0;$$145 = 0;
} else {
$9 = (__gcry_sexp_nth_string($7,0)|0);
$10 = ($9|0)==(0|0);
if ($10) {
$$046 = 65;$$1 = 0;$$145 = $7;
} else {
$11 = (_strcmp($9,64705)|0);
$12 = ($11|0)==(0);
if ($12) {
__gcry_sexp_release($7);
$13 = (__gcry_sexp_nth($5,2)|0);
$14 = ($13|0)==(0|0);
if ($14) {
$$046 = 65;$$1 = $9;$$145 = 0;
break;
}
__gcry_free($9);
$15 = (__gcry_sexp_nth_string($13,0)|0);
$16 = ($15|0)==(0|0);
if ($16) {
$$046 = 65;$$1 = 0;$$145 = $13;
break;
} else {
$$043 = $15;$$044 = $13;
}
} else {
$$043 = $9;$$044 = $7;
}
$17 = HEAP32[$1>>2]|0;
$18 = ($17|0)==(0|0);
if ($18) {
$$046 = 70;$$1 = $$043;$$145 = $$044;
} else {
$$047 = 0;$23 = $17;
while(1) {
$24 = (_strcasecmp($$043,$23)|0);
$25 = ($24|0)==(0);
$20 = (($$047) + 1)|0;
if ($25) {
break;
}
$19 = (($1) + ($20<<2)|0);
$21 = HEAP32[$19>>2]|0;
$22 = ($21|0)==(0|0);
if ($22) {
$$046 = 70;$$1 = $$043;$$145 = $$044;
break L4;
} else {
$$047 = $20;$23 = $21;
}
}
if ($4) {
$26 = (_strcmp($$043,67434)|0);
$27 = ($26|0)==(0);
if ($27) {
HEAP32[$3>>2] = 4096;
}
$28 = (_strcmp($$043,67440)|0);
$29 = ($28|0)==(0);
if ($29) {
HEAP32[$3>>2] = 8192;
}
}
HEAP32[$2>>2] = $$044;
$$046 = 0;$$1 = $$043;$$145 = 0;
}
}
}
}
} while(0);
__gcry_free($$1);
__gcry_sexp_release($$145);
__gcry_sexp_release($5);
return ($$046|0);
}
function __gcry_pk_util_preparse_encval($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$07296 = 0, $$075 = 0, $$174 = 0, $$195 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$4 = sp + 4|0;
$5 = sp;
HEAP32[$5>>2] = 0;
HEAP32[$2>>2] = 0;
$6 = (__gcry_sexp_find_token($0,61094,0)|0);
$7 = ($6|0)==(0|0);
L1: do {
if ($7) {
$$2 = 0;$$4 = 0;$$5 = 65;
} else {
$8 = (__gcry_sexp_nth($6,1)|0);
$9 = ($8|0)==(0|0);
if ($9) {
$$2 = 0;$$4 = 0;$$5 = 68;
} else {
$10 = (__gcry_sexp_nth_string($8,0)|0);
$11 = ($10|0)==(0|0);
if ($11) {
$$2 = 0;$$4 = $8;$$5 = 65;
} else {
$12 = (_strcmp($10,64705)|0);
$13 = ($12|0)==(0);
if ($13) {
$14 = ((($3)) + 8|0);
$15 = (__gcry_pk_util_parse_flaglist($8,$5,$14)|0);
$16 = ($15|0)==(0);
if (!($16)) {
$$2 = $10;$$4 = $8;$$5 = $15;
break;
}
$17 = HEAP32[$14>>2]|0;
L8: do {
switch ($17|0) {
case 4: {
$$2 = $10;$$4 = $8;$$5 = 70;
break L1;
break;
}
case 3: {
__gcry_sexp_release($8);
$18 = (__gcry_sexp_find_token($6,59613,0)|0);
$19 = ($18|0)==(0|0);
if (!($19)) {
$20 = (__gcry_sexp_nth_data($18,1,$4)|0);
$21 = ($20|0)==(0|0);
if ($21) {
$$2 = $10;$$4 = $18;$$5 = 68;
break L1;
}
$22 = HEAP32[$4>>2]|0;
$23 = (_get_hash_algo($20,$22)|0);
$24 = ((($3)) + 16|0);
HEAP32[$24>>2] = $23;
$25 = ($23|0)==(0);
if ($25) {
$$2 = $10;$$4 = $18;$$5 = 5;
break L1;
}
}
__gcry_sexp_release($18);
$26 = (__gcry_sexp_find_token($6,59623,0)|0);
$27 = ($26|0)==(0|0);
if ($27) {
$$075 = 0;
} else {
$28 = (__gcry_sexp_nth_data($26,1,$4)|0);
$29 = ($28|0)==(0|0);
if ($29) {
$$2 = $10;$$4 = $26;$$5 = 68;
break L1;
}
$30 = HEAP32[$4>>2]|0;
$31 = ($30|0)==(0);
if ($31) {
$$075 = $26;
} else {
$32 = (__gcry_malloc($30)|0);
$33 = ((($3)) + 20|0);
HEAP32[$33>>2] = $32;
$34 = ($32|0)==(0|0);
if ($34) {
$37 = (_gpg_err_code_from_syserror()|0);
$38 = ($37|0)==(0);
if ($38) {
$$075 = $26;
break L8;
} else {
$$2 = $10;$$4 = $26;$$5 = $37;
break L1;
}
} else {
$35 = HEAP32[$4>>2]|0;
_memcpy(($32|0),($28|0),($35|0))|0;
$36 = ((($3)) + 24|0);
HEAP32[$36>>2] = $35;
$$075 = $26;
break L8;
}
}
}
break;
}
default: {
$$075 = $8;
}
}
} while(0);
__gcry_sexp_release($$075);
$39 = (__gcry_sexp_nth($6,2)|0);
$40 = ($39|0)==(0|0);
if ($40) {
$$2 = $10;$$4 = 0;$$5 = 68;
break;
}
$$07296 = 2;$41 = $39;
L22: while(1) {
$42 = (__gcry_sexp_nth_data($41,0,$4)|0);
$43 = HEAP32[$4>>2]|0;
switch ($43|0) {
case 9: {
$44 = (_memcmp($42,59613,9)|0);
$45 = ($44|0)==(0);
if (!($45)) {
break L22;
}
break;
}
case 5: {
$46 = (_memcmp($42,59623,5)|0);
$47 = ($46|0)==(0);
if (!($47)) {
break L22;
}
break;
}
case 15: {
$48 = (_memcmp($42,59629,15)|0);
$49 = ($48|0)==(0);
if (!($49)) {
break L22;
}
break;
}
default: {
break L22;
}
}
$50 = (($$07296) + 1)|0;
__gcry_sexp_release($41);
$51 = (__gcry_sexp_nth($6,$50)|0);
$52 = ($51|0)==(0|0);
if ($52) {
$$2 = $10;$$4 = 0;$$5 = 68;
break L1;
} else {
$$07296 = $50;$41 = $51;
}
}
__gcry_free($10);
$53 = (__gcry_sexp_nth_string($41,0)|0);
$54 = ($53|0)==(0|0);
if ($54) {
$$2 = 0;$$4 = $41;$$5 = 65;
break;
} else {
$$174 = $53;$$3 = $41;
}
} else {
HEAP32[$5>>2] = 8;
$$174 = $10;$$3 = $8;
}
$55 = HEAP32[$1>>2]|0;
$56 = ($55|0)==(0|0);
if ($56) {
$$2 = $$174;$$4 = $$3;$$5 = 70;
} else {
$$195 = 0;$61 = $55;
while(1) {
$62 = (_strcasecmp($$174,$61)|0);
$63 = ($62|0)==(0);
$58 = (($$195) + 1)|0;
if ($63) {
break;
}
$57 = (($1) + ($58<<2)|0);
$59 = HEAP32[$57>>2]|0;
$60 = ($59|0)==(0|0);
if ($60) {
$$2 = $$174;$$4 = $$3;$$5 = 70;
break L1;
} else {
$$195 = $58;$61 = $59;
}
}
HEAP32[$2>>2] = $$3;
$64 = HEAP32[$5>>2]|0;
$65 = ((($3)) + 12|0);
$66 = HEAP32[$65>>2]|0;
$67 = $66 | $64;
HEAP32[$65>>2] = $67;
$$2 = $$174;$$4 = 0;$$5 = 0;
}
}
}
}
} while(0);
__gcry_free($$2);
__gcry_sexp_release($$4);
__gcry_sexp_release($6);
STACKTOP = sp;return ($$5|0);
}
function _get_hash_algo($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$02325$lcssa = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
switch ($1|0) {
case 4: {
$2 = (_memcmp(59645,$0,$1)|0);
$3 = ($2|0)==(0);
if ($3) {
$$02325$lcssa = 0;
label = 3;
}
break;
}
case 3: {
$9 = (_memcmp(59650,$0,$1)|0);
$10 = ($9|0)==(0);
if ($10) {
$$02325$lcssa = 1;
label = 3;
} else {
$23 = (_memcmp(59699,$0,$1)|0);
$24 = ($23|0)==(0);
if ($24) {
$$02325$lcssa = 8;
label = 3;
} else {
$25 = (_memcmp(59703,$0,$1)|0);
$26 = ($25|0)==(0);
if ($26) {
$$02325$lcssa = 9;
label = 3;
}
}
}
break;
}
case 6: {
$11 = (_memcmp(59654,$0,$1)|0);
$12 = ($11|0)==(0);
if ($12) {
$$02325$lcssa = 2;
label = 3;
} else {
$15 = (_memcmp(59671,$0,$1)|0);
$16 = ($15|0)==(0);
if ($16) {
$$02325$lcssa = 4;
label = 3;
} else {
$17 = (_memcmp(59678,$0,$1)|0);
$18 = ($17|0)==(0);
if ($18) {
$$02325$lcssa = 5;
label = 3;
} else {
$19 = (_memcmp(59685,$0,$1)|0);
$20 = ($19|0)==(0);
if ($20) {
$$02325$lcssa = 6;
label = 3;
} else {
$21 = (_memcmp(59692,$0,$1)|0);
$22 = ($21|0)==(0);
if ($22) {
$$02325$lcssa = 7;
label = 3;
}
}
}
}
}
break;
}
case 9: {
$13 = (_memcmp(59661,$0,$1)|0);
$14 = ($13|0)==(0);
if ($14) {
$$02325$lcssa = 3;
label = 3;
}
break;
}
case 5: {
$27 = (_memcmp(59707,$0,$1)|0);
$28 = ($27|0)==(0);
if ($28) {
$$02325$lcssa = 10;
label = 3;
} else {
$29 = (_memcmp(59713,$0,$1)|0);
$30 = ($29|0)==(0);
if ($30) {
$$02325$lcssa = 11;
label = 3;
}
}
break;
}
default: {
}
}
if ((label|0) == 3) {
$4 = (((4528 + ($$02325$lcssa<<3)|0)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$$1 = $5;
return ($$1|0);
}
$31 = (($1) + 1)|0;
$6 = (__gcry_malloc($31)|0);
$32 = ($6|0)==(0|0);
if ($32) {
$$1 = 0;
return ($$1|0);
}
_memcpy(($6|0),($0|0),($1|0))|0;
$7 = (($6) + ($1)|0);
HEAP8[$7>>0] = 0;
$8 = (__gcry_md_map_name($6)|0);
__gcry_free($6);
$$1 = $8;
return ($$1|0);
}
function __gcry_pk_util_init_encoding_ctx($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
HEAP32[$0>>2] = $1;
$3 = ((($0)) + 4|0);
HEAP32[$3>>2] = $2;
$4 = ((($0)) + 8|0);
HEAP32[$4>>2] = 5;
$5 = ((($0)) + 12|0);
HEAP32[$5>>2] = 0;
$6 = ((($0)) + 16|0);
HEAP32[$6>>2] = 2;
$7 = ((($0)) + 20|0);
HEAP32[$7>>2] = 0;
$8 = ((($0)) + 24|0);
HEAP32[$8>>2] = 0;
$9 = ((($0)) + 28|0);
HEAP32[$9>>2] = 20;
$10 = ((($0)) + 32|0);
HEAP32[$10>>2] = 0;
$11 = ((($0)) + 36|0);
HEAP32[$11>>2] = 0;
return;
}
function __gcry_pk_util_free_encoding_ctx($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 20|0);
$2 = HEAP32[$1>>2]|0;
__gcry_free($2);
return;
}
function __gcry_pk_util_data_to_mpi($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$ph = 0, $$0278$ph = 0, $$0280 = 0, $$0281$ph = 0, $$0283$ph = 0, $$0285$ph = 0, $$0289$ph = 0, $$0291$ph = 0, $$0299312 = 0, $$1 = 0, $$10$ph = 0, $$1279 = 0, $$1282 = 0, $$1284 = 0, $$1288 = 0, $$1290 = 0, $$1292 = 0, $$17 = 0, $$21 = 0, $$23 = 0;
var $$3 = 0, $$4 = 0, $$7 = 0, $$8 = 0, $$9 = 0, $$not = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0;
var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond18 = 0, $or$cond20 = 0, $or$cond22 = 0, $or$cond24 = 0, $or$cond26 = 0, $or$cond28 = 0, $or$cond30 = 0, $or$cond34 = 0, $or$cond364 = 0, $or$cond4 = 0, $or$cond8 = 0, $spec$select = 0;
var $spec$select365 = 0, $spec$select366 = 0, $switch = 0, $switch308 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$3 = sp + 32|0;
$4 = sp + 28|0;
$5 = sp + 24|0;
$6 = sp + 20|0;
$7 = sp + 16|0;
$8 = sp + 12|0;
$9 = sp + 8|0;
$10 = sp + 4|0;
$11 = sp;
HEAP32[$4>>2] = 0;
HEAP32[$1>>2] = 0;
$12 = (__gcry_sexp_find_token($0,59719,0)|0);
$13 = ($12|0)==(0|0);
if ($13) {
$14 = (__gcry_sexp_nth_mpi($0,0,0)|0);
HEAP32[$1>>2] = $14;
$15 = ($14|0)==(0|0);
$16 = $15 ? 65 : 0;
$$0280 = $16;
STACKTOP = sp;return ($$0280|0);
}
$17 = (__gcry_sexp_find_token($12,64705,0)|0);
$18 = ($17|0)==(0|0);
$$pre = ((($2)) + 8|0);
if ($18) {
$$1288 = 0;
} else {
$19 = (__gcry_pk_util_parse_flaglist($17,$4,$$pre)|0);
$20 = ($19|0)!=(0);
$spec$select = $20&1;
__gcry_sexp_release($17);
$$1288 = $spec$select;
}
$21 = HEAP32[$$pre>>2]|0;
$22 = ($21|0)==(5);
if ($22) {
HEAP32[$$pre>>2] = 0;
}
$23 = (__gcry_sexp_find_token($12,59724,0)|0);
$24 = ($23|0)!=(0|0);
if ($24) {
$41 = 0;$73 = 0;
label = 9;
} else {
$25 = (__gcry_sexp_find_token($12,61106,0)|0);
$26 = ($25|0)==(0|0);
if ($26) {
$$23 = 65;$233 = 0;
} else {
$41 = $25;$73 = 1;
label = 9;
}
}
L13: do {
if ((label|0) == 9) {
$27 = ($$1288|0)==(0);
if ($27) {
$28 = HEAP32[$$pre>>2]|0;
$29 = ($28|0)==(0);
if ($29) {
$30 = HEAP32[$4>>2]|0;
$31 = $30 & 4096;
$32 = ($31|0)==(0);
if ($32) {
$$not = $24 ^ 1;
$54 = $30 & 18;
$55 = ($54|0)==(0);
$or$cond = $55 | $$not;
if ($or$cond) {
$71 = $30 & 2;
$72 = ($71|0)==(0);
$or$cond364 = $73 & $72;
if (!($or$cond364)) {
$$23 = 70;$233 = $41;
break;
}
$74 = (__gcry_sexp_nth_mpi($41,1,5)|0);
HEAP32[$1>>2] = $74;
$75 = ($74|0)==(0|0);
$spec$select365 = $75 ? 65 : 0;
$$23 = $spec$select365;$233 = $41;
break;
}
$56 = (__gcry_sexp_length($23)|0);
$57 = ($56|0)==(3);
if (!($57)) {
$$23 = 65;$233 = $41;
break;
}
$58 = (__gcry_sexp_nth_data($23,1,$3)|0);
$59 = ($58|0)!=(0|0);
$60 = HEAP32[$3>>2]|0;
$61 = ($60|0)!=(0);
$or$cond4 = $59 & $61;
if (!($or$cond4)) {
$$23 = 65;$233 = $41;
break;
}
$62 = (_get_hash_algo($58,$60)|0);
$63 = ((($2)) + 16|0);
HEAP32[$63>>2] = $62;
$64 = ($62|0)==(0);
do {
if ($64) {
$$4 = 5;
} else {
$65 = (__gcry_sexp_nth_buffer($23,2,$6)|0);
$66 = ($65|0)==(0|0);
if ($66) {
$$4 = 65;
} else {
$67 = HEAP32[$6>>2]|0;
$68 = $67 << 3;
$69 = ($68>>>0)<($67>>>0);
if ($69) {
__gcry_free($65);
$$4 = 67;
break;
} else {
$70 = (__gcry_mpi_set_opaque(0,$65,$68)|0);
HEAP32[$1>>2] = $70;
$$4 = 0;
break;
}
}
}
} while(0);
$$23 = $$4;$233 = $41;
break;
}
do {
if ($73) {
$33 = (__gcry_sexp_find_token($12,59613,0)|0);
$34 = ($33|0)==(0|0);
if ($34) {
$$3 = 65;
} else {
$35 = (__gcry_sexp_nth_data($33,1,$3)|0);
$36 = ($35|0)==(0|0);
if ($36) {
$$0285$ph = 68;
} else {
$37 = HEAP32[$3>>2]|0;
$38 = (_get_hash_algo($35,$37)|0);
$39 = ((($2)) + 16|0);
HEAP32[$39>>2] = $38;
$40 = ($38|0)==(0);
if ($40) {
$$0285$ph = 5;
} else {
__gcry_sexp_release($33);
$42 = (__gcry_sexp_nth_buffer($41,1,$5)|0);
$43 = ($42|0)==(0|0);
if ($43) {
HEAP32[$5>>2] = 0;
$44 = (__gcry_malloc(1)|0);
$45 = ($44|0)==(0|0);
if ($45) {
$49 = (_gpg_err_code_from_syserror()|0);
$50 = ($49|0)==(0);
if ($50) {
$$0299312 = 0;
} else {
$$3 = $49;
break;
}
} else {
$$0299312 = $44;
}
} else {
$46 = HEAP32[$5>>2]|0;
$47 = $46 << 3;
$48 = ($47>>>0)<($46>>>0);
if ($48) {
__gcry_free($42);
$$3 = 67;
break;
} else {
$$0299312 = $42;
}
}
$51 = HEAP32[$5>>2]|0;
$52 = $51 << 3;
$53 = (__gcry_mpi_set_opaque(0,$$0299312,$52)|0);
HEAP32[$1>>2] = $53;
$$3 = 0;
break;
}
}
__gcry_sexp_release($33);
$$3 = $$0285$ph;
}
} else {
$$3 = 65;
}
} while(0);
$$23 = $$3;$233 = $41;
break;
}
$76 = ($28|0)==(1);
$or$cond8 = $73 & $76;
if ($or$cond8) {
$77 = HEAP32[$2>>2]|0;
$78 = ($77|0)==(0);
if ($78) {
$79 = (__gcry_sexp_nth_data($41,1,$7)|0);
$80 = ($79|0)!=(0|0);
$81 = HEAP32[$7>>2]|0;
$82 = ($81|0)!=(0);
$or$cond10 = $80 & $82;
L52: do {
if ($or$cond10) {
$83 = (__gcry_sexp_find_token($12,59629,0)|0);
$84 = ($83|0)==(0|0);
L54: do {
if ($84) {
$$1290 = 0;$$1292 = 0;
} else {
$85 = (__gcry_sexp_nth_data($83,1,$3)|0);
$86 = ($85|0)==(0|0);
if ($86) {
__gcry_sexp_release($83);
$$7 = 68;
break L52;
}
$87 = HEAP32[$3>>2]|0;
$88 = ($87|0)==(0);
do {
if ($88) {
$$0289$ph = 0;$$0291$ph = 0;
} else {
$89 = (__gcry_malloc($87)|0);
$90 = ($89|0)==(0|0);
if ($90) {
$92 = (_gpg_err_code_from_syserror()|0);
__gcry_sexp_release($83);
$93 = ($92|0)==(0);
if ($93) {
$$1290 = 0;$$1292 = 0;
break L54;
} else {
$$7 = $92;
break L52;
}
} else {
$91 = HEAP32[$3>>2]|0;
_memcpy(($89|0),($85|0),($91|0))|0;
$$0289$ph = $91;$$0291$ph = $89;
break;
}
}
} while(0);
__gcry_sexp_release($83);
$$1290 = $$0289$ph;$$1292 = $$0291$ph;
}
} while(0);
$94 = ((($2)) + 4|0);
$95 = HEAP32[$94>>2]|0;
$96 = HEAP32[$7>>2]|0;
$97 = (__gcry_rsa_pkcs1_encode_for_enc($1,$95,$79,$96,$$1292,$$1290)|0);
__gcry_free($$1292);
$$7 = $97;
} else {
$$7 = 65;
}
} while(0);
$$23 = $$7;$233 = $41;
break;
} else {
$98 = 1;
}
} else {
$98 = $76;
}
$or$cond12 = $24 & $98;
if ($or$cond12) {
$99 = HEAP32[$2>>2]|0;
$100 = $99 & -2;
$switch = ($100|0)==(2);
if ($switch) {
$101 = (__gcry_sexp_length($23)|0);
$102 = ($101|0)==(3);
if (!($102)) {
$$23 = 65;$233 = $41;
break;
}
$103 = (__gcry_sexp_nth_data($23,1,$3)|0);
$104 = ($103|0)!=(0|0);
$105 = HEAP32[$3>>2]|0;
$106 = ($105|0)!=(0);
$or$cond14 = $104 & $106;
if (!($or$cond14)) {
$$23 = 65;$233 = $41;
break;
}
$107 = (_get_hash_algo($103,$105)|0);
$108 = ((($2)) + 16|0);
HEAP32[$108>>2] = $107;
$109 = ($107|0)==(0);
if ($109) {
$$8 = 5;
} else {
$110 = (__gcry_sexp_nth_data($23,2,$8)|0);
$111 = ($110|0)!=(0|0);
$112 = HEAP32[$8>>2]|0;
$113 = ($112|0)!=(0);
$or$cond16 = $111 & $113;
if ($or$cond16) {
$114 = ((($2)) + 4|0);
$115 = HEAP32[$114>>2]|0;
$116 = HEAP32[$108>>2]|0;
$117 = (__gcry_rsa_pkcs1_encode_for_sig($1,$115,$110,$112,$116)|0);
$$8 = $117;
} else {
$$8 = 65;
}
}
$$23 = $$8;$233 = $41;
break;
}
}
$118 = ($28|0)==(2);
$or$cond18 = $73 & $118;
if ($or$cond18) {
$119 = HEAP32[$2>>2]|0;
$120 = $119 & -2;
$switch308 = ($120|0)==(2);
if (!($switch308)) {
$$23 = 70;$233 = $41;
break;
}
$121 = (__gcry_sexp_length($41)|0);
$122 = ($121|0)==(2);
if ($122) {
$123 = (__gcry_sexp_nth_data($41,1,$9)|0);
$124 = ($123|0)!=(0|0);
$125 = HEAP32[$9>>2]|0;
$126 = ($125|0)!=(0);
$or$cond20 = $124 & $126;
if ($or$cond20) {
$127 = ((($2)) + 4|0);
$128 = HEAP32[$127>>2]|0;
$129 = (__gcry_rsa_pkcs1_encode_raw_for_sig($1,$128,$123,$125)|0);
$$9 = $129;
} else {
$$9 = 65;
}
} else {
$$9 = 65;
}
$$23 = $$9;$233 = $41;
break;
}
$130 = ($28|0)==(3);
$or$cond22 = $73 & $130;
if (!($or$cond22)) {
$179 = ($28|0)==(4);
$or$cond26 = $24 & $179;
if (!($or$cond26)) {
$$23 = 70;$233 = $41;
break;
}
$180 = HEAP32[$2>>2]|0;
switch ($180|0) {
case 2: {
break;
}
case 3: {
$219 = (__gcry_sexp_length($23)|0);
$220 = ($219|0)==(3);
if (!($220)) {
$$23 = 65;$233 = $41;
break L13;
}
$221 = (__gcry_sexp_nth_data($23,1,$3)|0);
$222 = ($221|0)!=(0|0);
$223 = HEAP32[$3>>2]|0;
$224 = ($223|0)!=(0);
$or$cond34 = $222 & $224;
if (!($or$cond34)) {
$$23 = 65;$233 = $41;
break L13;
}
$225 = (_get_hash_algo($221,$223)|0);
$226 = ((($2)) + 16|0);
HEAP32[$226>>2] = $225;
$227 = ($225|0)==(0);
if ($227) {
$$23 = 5;$233 = $41;
break L13;
}
$228 = (__gcry_sexp_nth_mpi($23,2,5)|0);
HEAP32[$1>>2] = $228;
$229 = ($228|0)==(0|0);
$230 = ((($2)) + 32|0);
HEAP32[$230>>2] = 71;
$231 = HEAP32[$1>>2]|0;
$232 = ((($2)) + 36|0);
HEAP32[$232>>2] = $231;
$spec$select366 = $229 ? 65 : 0;
$$23 = $spec$select366;$233 = $41;
break L13;
break;
}
default: {
$$23 = 70;$233 = $41;
break L13;
}
}
$181 = (__gcry_sexp_length($23)|0);
$182 = ($181|0)==(3);
if (!($182)) {
$$23 = 65;$233 = $41;
break;
}
$183 = (__gcry_sexp_nth_data($23,1,$3)|0);
$184 = ($183|0)!=(0|0);
$185 = HEAP32[$3>>2]|0;
$186 = ($185|0)!=(0);
$or$cond28 = $184 & $186;
if (!($or$cond28)) {
$$23 = 65;$233 = $41;
break;
}
$187 = (_get_hash_algo($183,$185)|0);
$188 = ((($2)) + 16|0);
HEAP32[$188>>2] = $187;
$189 = ($187|0)==(0);
L97: do {
if ($189) {
$$21 = 5;
} else {
$190 = (__gcry_sexp_nth_data($23,2,$11)|0);
$191 = ($190|0)!=(0|0);
$192 = HEAP32[$11>>2]|0;
$193 = ($192|0)!=(0);
$or$cond30 = $191 & $193;
if ($or$cond30) {
$194 = (__gcry_sexp_find_token($12,59729,0)|0);
$195 = ($194|0)==(0|0);
if (!($195)) {
$196 = (__gcry_sexp_nth_data($194,1,$3)|0);
$197 = ($196|0)==(0|0);
if ($197) {
$$21 = 68;
break;
}
$198 = (_strtoul($196,0,10)|0);
$199 = ((($2)) + 28|0);
HEAP32[$199>>2] = $198;
__gcry_sexp_release($194);
}
$200 = (__gcry_sexp_find_token($12,59629,0)|0);
$201 = ($200|0)==(0|0);
L104: do {
if ($201) {
$$1 = 0;$$1279 = 0;
} else {
$202 = (__gcry_sexp_nth_data($200,1,$3)|0);
$203 = ($202|0)==(0|0);
if ($203) {
__gcry_sexp_release($200);
$$21 = 68;
break L97;
}
$204 = HEAP32[$3>>2]|0;
$205 = ($204|0)==(0);
do {
if ($205) {
$$0$ph = 0;$$0278$ph = 0;
} else {
$206 = (__gcry_malloc($204)|0);
$207 = ($206|0)==(0|0);
if ($207) {
$209 = (_gpg_err_code_from_syserror()|0);
__gcry_sexp_release($200);
$210 = ($209|0)==(0);
if ($210) {
$$1 = 0;$$1279 = 0;
break L104;
} else {
$$21 = $209;
break L97;
}
} else {
$208 = HEAP32[$3>>2]|0;
_memcpy(($206|0),($202|0),($208|0))|0;
$$0$ph = $208;$$0278$ph = $206;
break;
}
}
} while(0);
__gcry_sexp_release($200);
$$1 = $$0$ph;$$1279 = $$0278$ph;
}
} while(0);
$211 = ((($2)) + 4|0);
$212 = HEAP32[$211>>2]|0;
$213 = (($212) + -1)|0;
$214 = HEAP32[$188>>2]|0;
$215 = HEAP32[$11>>2]|0;
$216 = ((($2)) + 28|0);
$217 = HEAP32[$216>>2]|0;
$218 = (__gcry_rsa_pss_encode($1,$213,$214,$190,$215,$217,$$1279,$$1)|0);
__gcry_free($$1279);
$$21 = $218;
} else {
$$21 = 65;
}
}
} while(0);
$$23 = $$21;$233 = $41;
break;
}
$131 = HEAP32[$2>>2]|0;
$132 = ($131|0)==(0);
if ($132) {
$133 = (__gcry_sexp_nth_data($41,1,$10)|0);
$134 = ($133|0)!=(0|0);
$135 = HEAP32[$10>>2]|0;
$136 = ($135|0)!=(0);
$or$cond24 = $134 & $136;
L119: do {
if ($or$cond24) {
$137 = (__gcry_sexp_find_token($12,59613,0)|0);
$138 = ($137|0)==(0|0);
do {
if (!($138)) {
$139 = (__gcry_sexp_nth_data($137,1,$3)|0);
$140 = ($139|0)==(0|0);
if ($140) {
$$10$ph = 68;
} else {
$141 = HEAP32[$3>>2]|0;
$142 = (_get_hash_algo($139,$141)|0);
$143 = ((($2)) + 16|0);
HEAP32[$143>>2] = $142;
$144 = ($142|0)==(0);
if ($144) {
$$10$ph = 5;
} else {
__gcry_sexp_release($137);
break;
}
}
__gcry_sexp_release($137);
$$17 = $$10$ph;
break L119;
}
} while(0);
$145 = (__gcry_sexp_find_token($12,59623,0)|0);
$146 = ($145|0)==(0|0);
L128: do {
if (!($146)) {
$147 = (__gcry_sexp_nth_data($145,1,$3)|0);
$148 = ($147|0)==(0|0);
if ($148) {
__gcry_sexp_release($145);
$$17 = 68;
break L119;
}
$149 = HEAP32[$3>>2]|0;
$150 = ($149|0)==(0);
do {
if (!($150)) {
$151 = (__gcry_malloc($149)|0);
$152 = ((($2)) + 20|0);
HEAP32[$152>>2] = $151;
$153 = ($151|0)==(0|0);
if ($153) {
$156 = (_gpg_err_code_from_syserror()|0);
__gcry_sexp_release($145);
$157 = ($156|0)==(0);
if ($157) {
break L128;
} else {
$$17 = $156;
break L119;
}
} else {
$154 = HEAP32[$3>>2]|0;
_memcpy(($151|0),($147|0),($154|0))|0;
$155 = ((($2)) + 24|0);
HEAP32[$155>>2] = $154;
break;
}
}
} while(0);
__gcry_sexp_release($145);
}
} while(0);
$158 = (__gcry_sexp_find_token($12,59629,0)|0);
$159 = ($158|0)==(0|0);
L140: do {
if ($159) {
$$1282 = 0;$$1284 = 0;
} else {
$160 = (__gcry_sexp_nth_data($158,1,$3)|0);
$161 = ($160|0)==(0|0);
if ($161) {
__gcry_sexp_release($158);
$$17 = 68;
break L119;
}
$162 = HEAP32[$3>>2]|0;
$163 = ($162|0)==(0);
do {
if ($163) {
$$0281$ph = 0;$$0283$ph = 0;
} else {
$164 = (__gcry_malloc($162)|0);
$165 = ($164|0)==(0|0);
if ($165) {
$167 = (_gpg_err_code_from_syserror()|0);
__gcry_sexp_release($158);
$168 = ($167|0)==(0);
if ($168) {
$$1282 = 0;$$1284 = 0;
break L140;
} else {
$$17 = $167;
break L119;
}
} else {
$166 = HEAP32[$3>>2]|0;
_memcpy(($164|0),($160|0),($166|0))|0;
$$0281$ph = $166;$$0283$ph = $164;
break;
}
}
} while(0);
__gcry_sexp_release($158);
$$1282 = $$0281$ph;$$1284 = $$0283$ph;
}
} while(0);
$169 = ((($2)) + 4|0);
$170 = HEAP32[$169>>2]|0;
$171 = ((($2)) + 16|0);
$172 = HEAP32[$171>>2]|0;
$173 = HEAP32[$10>>2]|0;
$174 = ((($2)) + 20|0);
$175 = HEAP32[$174>>2]|0;
$176 = ((($2)) + 24|0);
$177 = HEAP32[$176>>2]|0;
$178 = (__gcry_rsa_oaep_encode($1,$170,$172,$133,$173,$175,$177,$$1284,$$1282)|0);
__gcry_free($$1284);
$$17 = $178;
} else {
$$17 = 65;
}
} while(0);
$$23 = $$17;$233 = $41;
} else {
$$23 = 70;$233 = $41;
}
} else {
$$23 = 72;$233 = $41;
}
}
} while(0);
__gcry_sexp_release($12);
__gcry_sexp_release($23);
__gcry_sexp_release($233);
$234 = ($$23|0)==(0);
if ($234) {
$235 = HEAP32[$4>>2]|0;
$236 = ((($2)) + 12|0);
HEAP32[$236>>2] = $235;
$$0280 = 0;
STACKTOP = sp;return ($$0280|0);
} else {
$237 = ((($2)) + 20|0);
$238 = HEAP32[$237>>2]|0;
__gcry_free($238);
HEAP32[$237>>2] = 0;
$$0280 = $$23;
STACKTOP = sp;return ($$0280|0);
}
return (0)|0;
}
function _pss_verify_cmp($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 36|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($0)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = (($5) + -1)|0;
$7 = ((($0)) + 16|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($0)) + 28|0);
$10 = HEAP32[$9>>2]|0;
$11 = (__gcry_rsa_pss_verify($3,$1,$6,$8,$10)|0);
return ($11|0);
}
function __gcry_pk_algo_name($0) {
$0 = $0|0;
var $$0 = 0, $$0$i$i = 0, $$0$i$ph = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
switch ($0|0) {
case 3: case 2: {
$$0$i$i = 1;
break;
}
case 16: {
$$0$i$i = 20;
break;
}
case 301: {
$$0$i$i = 18;
break;
}
case 302: {
$$0$i$i = 18;
break;
}
default: {
$$0$i$i = $0;
}
}
$1 = HEAP32[10027]|0;
$2 = ($$0$i$i|0)==($1|0);
if ($2) {
$$0$i$ph = 40108;
} else {
$3 = HEAP32[9887]|0;
$4 = ($$0$i$i|0)==($3|0);
if ($4) {
$$0$i$ph = 39548;
} else {
$$0 = 59741;
return ($$0|0);
}
}
$5 = ((($$0$i$ph)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$$0 = $6;
return ($$0|0);
}
function __gcry_pk_encrypt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp + 4|0;
$4 = sp;
HEAP32[$0>>2] = 0;
$5 = (_spec_from_sexp($2,0,$3,$4)|0);
$6 = ($5|0)==(0);
if ($6) {
$7 = HEAP32[$3>>2]|0;
$8 = ((($7)) + 48|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0|0);
if ($10) {
$$0 = 69;
} else {
$11 = HEAP32[$4>>2]|0;
$12 = (FUNCTION_TABLE_iiii[$9 & 127]($0,$1,$11)|0);
$$0 = $12;
}
} else {
$$0 = $5;
}
$13 = HEAP32[$4>>2]|0;
__gcry_sexp_release($13);
STACKTOP = sp;return ($$0|0);
}
function _spec_from_sexp($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$016$i$ph = 0, $$019$1$i = 0, $$019$i = 0, $$032 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0;
var label = 0, sp = 0;
sp = STACKTOP;
HEAP32[$2>>2] = 0;
$4 = ($3|0)!=(0|0);
if ($4) {
HEAP32[$3>>2] = 0;
}
$5 = ($1|0)!=(0);
$6 = $5 ? 59743 : 59755;
$7 = (__gcry_sexp_find_token($0,$6,0)|0);
$8 = ($7|0)!=(0|0);
$or$cond = $5 | $8;
if ($or$cond) {
$$032 = $7;
} else {
$9 = (__gcry_sexp_find_token($0,59743,0)|0);
$$032 = $9;
}
$10 = ($$032|0)==(0|0);
if ($10) {
$$0 = 65;
return ($$0|0);
}
$11 = (__gcry_sexp_cadr($$032)|0);
__gcry_sexp_release($$032);
$12 = (__gcry_sexp_nth_string($11,0)|0);
$13 = ($12|0)==(0|0);
if ($13) {
__gcry_sexp_release($11);
$$0 = 65;
return ($$0|0);
}
$14 = HEAP32[(40120)>>2]|0;
$15 = (_strcasecmp($12,$14)|0);
$16 = ($15|0)==(0);
L14: do {
if ($16) {
$$016$i$ph = 40108;
} else {
$17 = HEAP32[(40124)>>2]|0;
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0|0);
if (!($19)) {
$$019$i = $17;$23 = $18;
while(1) {
$24 = (_strcasecmp($12,$23)|0);
$25 = ($24|0)==(0);
$21 = ((($$019$i)) + 4|0);
if ($25) {
$$016$i$ph = 40108;
break L14;
}
$20 = HEAP32[$21>>2]|0;
$22 = ($20|0)==(0|0);
if ($22) {
break;
} else {
$$019$i = $21;$23 = $20;
}
}
}
$26 = HEAP32[(39560)>>2]|0;
$27 = (_strcasecmp($12,$26)|0);
$28 = ($27|0)==(0);
if ($28) {
$$016$i$ph = 39548;
} else {
$29 = HEAP32[(39564)>>2]|0;
$30 = HEAP32[$29>>2]|0;
$31 = ($30|0)==(0|0);
if (!($31)) {
$$019$1$i = $29;$32 = $30;
while(1) {
$33 = (_strcasecmp($12,$32)|0);
$34 = ($33|0)==(0);
$35 = ((($$019$1$i)) + 4|0);
if ($34) {
$$016$i$ph = 39548;
break L14;
}
$36 = HEAP32[$35>>2]|0;
$37 = ($36|0)==(0|0);
if ($37) {
break;
} else {
$$019$1$i = $35;$32 = $36;
}
}
}
__gcry_free($12);
__gcry_sexp_release($11);
$$0 = 4;
return ($$0|0);
}
}
} while(0);
__gcry_free($12);
HEAP32[$2>>2] = $$016$i$ph;
if ($4) {
HEAP32[$3>>2] = $11;
$$0 = 0;
return ($$0|0);
} else {
__gcry_sexp_release($11);
$$0 = 0;
return ($$0|0);
}
return (0)|0;
}
function __gcry_pk_decrypt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp + 4|0;
$4 = sp;
HEAP32[$0>>2] = 0;
$5 = (_spec_from_sexp($2,1,$3,$4)|0);
$6 = ($5|0)==(0);
if ($6) {
$7 = HEAP32[$3>>2]|0;
$8 = ((($7)) + 52|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0|0);
if ($10) {
$$0 = 69;
} else {
$11 = HEAP32[$4>>2]|0;
$12 = (FUNCTION_TABLE_iiii[$9 & 127]($0,$1,$11)|0);
$$0 = $12;
}
} else {
$$0 = $5;
}
$13 = HEAP32[$4>>2]|0;
__gcry_sexp_release($13);
STACKTOP = sp;return ($$0|0);
}
function __gcry_pk_sign($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp + 4|0;
$4 = sp;
HEAP32[$0>>2] = 0;
$5 = (_spec_from_sexp($2,1,$3,$4)|0);
$6 = ($5|0)==(0);
if ($6) {
$7 = HEAP32[$3>>2]|0;
$8 = ((($7)) + 56|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0|0);
if ($10) {
$$0 = 69;
} else {
$11 = HEAP32[$4>>2]|0;
$12 = (FUNCTION_TABLE_iiii[$9 & 127]($0,$1,$11)|0);
$$0 = $12;
}
} else {
$$0 = $5;
}
$13 = HEAP32[$4>>2]|0;
__gcry_sexp_release($13);
STACKTOP = sp;return ($$0|0);
}
function __gcry_pk_verify($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp + 4|0;
$4 = sp;
$5 = (_spec_from_sexp($2,0,$3,$4)|0);
$6 = ($5|0)==(0);
if ($6) {
$7 = HEAP32[$3>>2]|0;
$8 = ((($7)) + 60|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0|0);
if ($10) {
$$0 = 69;
} else {
$11 = HEAP32[$4>>2]|0;
$12 = (FUNCTION_TABLE_iiii[$9 & 127]($0,$1,$11)|0);
$$0 = $12;
}
} else {
$$0 = $5;
}
$13 = HEAP32[$4>>2]|0;
__gcry_sexp_release($13);
STACKTOP = sp;return ($$0|0);
}
function __gcry_pk_testkey($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp + 4|0;
$2 = sp;
$3 = (_spec_from_sexp($0,1,$1,$2)|0);
$4 = ($3|0)==(0);
if ($4) {
$5 = HEAP32[$1>>2]|0;
$6 = ((($5)) + 44|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0|0);
if ($8) {
$$0 = 69;
} else {
$9 = HEAP32[$2>>2]|0;
$10 = (FUNCTION_TABLE_ii[$7 & 63]($9)|0);
$$0 = $10;
}
} else {
$$0 = $3;
}
$11 = HEAP32[$2>>2]|0;
__gcry_sexp_release($11);
STACKTOP = sp;return ($$0|0);
}
function __gcry_pk_genkey($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$016$i$ph = 0, $$019$1$i = 0, $$019$i = 0, $$030 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
HEAP32[$0>>2] = 0;
$2 = (__gcry_sexp_find_token($1,59766,0)|0);
$3 = ($2|0)==(0|0);
L1: do {
if ($3) {
$$0 = 65;$$030 = 0;
} else {
$4 = (__gcry_sexp_cadr($2)|0);
__gcry_sexp_release($2);
$5 = ($4|0)==(0|0);
if ($5) {
$$0 = 68;$$030 = 0;
} else {
$6 = (__gcry_sexp_nth_string($4,0)|0);
$7 = ($6|0)==(0|0);
if ($7) {
$$0 = 65;$$030 = $4;
} else {
$8 = HEAP32[(40120)>>2]|0;
$9 = (_strcasecmp($6,$8)|0);
$10 = ($9|0)==(0);
L5: do {
if ($10) {
$$016$i$ph = 40108;
} else {
$11 = HEAP32[(40124)>>2]|0;
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0|0);
if (!($13)) {
$$019$i = $11;$17 = $12;
while(1) {
$18 = (_strcasecmp($6,$17)|0);
$19 = ($18|0)==(0);
$15 = ((($$019$i)) + 4|0);
if ($19) {
$$016$i$ph = 40108;
break L5;
}
$14 = HEAP32[$15>>2]|0;
$16 = ($14|0)==(0|0);
if ($16) {
break;
} else {
$$019$i = $15;$17 = $14;
}
}
}
$20 = HEAP32[(39560)>>2]|0;
$21 = (_strcasecmp($6,$20)|0);
$22 = ($21|0)==(0);
if ($22) {
$$016$i$ph = 39548;
} else {
$23 = HEAP32[(39564)>>2]|0;
$24 = HEAP32[$23>>2]|0;
$25 = ($24|0)==(0|0);
if (!($25)) {
$$019$1$i = $23;$26 = $24;
while(1) {
$27 = (_strcasecmp($6,$26)|0);
$28 = ($27|0)==(0);
$29 = ((($$019$1$i)) + 4|0);
if ($28) {
$$016$i$ph = 39548;
break L5;
}
$30 = HEAP32[$29>>2]|0;
$31 = ($30|0)==(0|0);
if ($31) {
break;
} else {
$$019$1$i = $29;$26 = $30;
}
}
}
__gcry_free($6);
$$0 = 4;$$030 = $4;
break L1;
}
}
} while(0);
__gcry_free($6);
$32 = ((($$016$i$ph)) + 40|0);
$33 = HEAP32[$32>>2]|0;
$34 = ($33|0)==(0|0);
if ($34) {
$$0 = 69;$$030 = $4;
} else {
$35 = (FUNCTION_TABLE_iii[$33 & 127]($4,$0)|0);
$$0 = $35;$$030 = $4;
}
}
}
}
} while(0);
__gcry_sexp_release($$030);
__gcry_free(0);
__gcry_sexp_release(0);
return ($$0|0);
}
function __gcry_pk_init() {
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function __gcry_pk_selftest($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$i18$ph = 0, $$0$i1822 = 0, $$0$i20 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
switch ($0|0) {
case 3: case 2: {
$$0$i20 = 1;
break;
}
case 16: {
$$0$i20 = 20;
break;
}
case 301: {
$$0$i20 = 18;
break;
}
case 302: {
$$0$i20 = 18;
break;
}
default: {
$$0$i20 = $0;
}
}
$3 = HEAP32[10027]|0;
$4 = ($$0$i20|0)==($3|0);
if ($4) {
$$0$i18$ph = 40108;
label = 8;
} else {
$5 = HEAP32[9887]|0;
$6 = ($$0$i20|0)==($5|0);
if ($6) {
$$0$i18$ph = 39548;
label = 8;
} else {
$$0$i1822 = 0;$20 = 0;
}
}
if ((label|0) == 8) {
$7 = ((($$0$i18$ph)) + 4|0);
$8 = HEAP8[$7>>0]|0;
$9 = $8 & 1;
$10 = ($9<<24>>24)==(0);
if ($10) {
$11 = ((($$0$i18$ph)) + 68|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0|0);
if ($13) {
$$0$i1822 = $$0$i18$ph;$20 = 1;
} else {
$22 = (FUNCTION_TABLE_iiii[$12 & 127]($$0$i20,$1,$2)|0);
$23 = ($22|0)==(0);
$24 = $22 & 65535;
$25 = $24 | 16777216;
$spec$select = $23 ? 0 : $25;
return ($spec$select|0);
}
} else {
$$0$i1822 = $$0$i18$ph;$20 = 1;
}
}
$14 = ($2|0)==(0|0);
if ($14) {
return 16777220;
}
if ($20) {
$15 = ((($$0$i1822)) + 4|0);
$16 = HEAP8[$15>>0]|0;
$17 = $16 & 1;
$18 = ($17<<24>>24)==(0);
if ($18) {
$21 = 59812;
} else {
label = 13;
}
} else {
label = 13;
}
if ((label|0) == 13) {
$19 = $20 ? 59773 : 59792;
$21 = $19;
}
FUNCTION_TABLE_viiii[$2 & 63](61280,$$0$i20,59834,$21);
return 16777220;
}
function _rijndael_setkey($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_do_setkey($0,$1,$2)|0);
return ($3|0);
}
function _rijndael_encrypt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 496|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if (!($5)) {
FUNCTION_TABLE_v[$4 & 127]();
}
$6 = ((($0)) + 488|0);
$7 = HEAP32[$6>>2]|0;
$8 = (FUNCTION_TABLE_iiii[$7 & 127]($0,$1,$2)|0);
return ($8|0);
}
function _rijndael_decrypt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
_check_decryption_preparation($0);
$3 = ((($0)) + 500|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if (!($5)) {
FUNCTION_TABLE_v[$4 & 127]();
}
$6 = ((($0)) + 492|0);
$7 = HEAP32[$6>>2]|0;
$8 = (FUNCTION_TABLE_iiii[$7 & 127]($0,$1,$2)|0);
return ($8|0);
}
function _run_selftests($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$i = 0, $$0$i$ph$i = 0, $$0$i$ph$i10 = 0, $$0$i$ph$i14 = 0, $$011$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1552|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1552|0);
$3 = sp + 1040|0;
$4 = sp + 528|0;
$5 = sp + 16|0;
$6 = sp;
switch ($0|0) {
case 7: {
(_do_setkey($5,4704,16)|0);
$7 = ((($5)) + 496|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0|0);
if (!($9)) {
FUNCTION_TABLE_v[$8 & 127]();
}
$10 = ((($5)) + 488|0);
$11 = HEAP32[$10>>2]|0;
(FUNCTION_TABLE_iiii[$11 & 127]($5,$6,4720)|0);
$12 = (_memcmp($6,4736,16)|0);
$13 = ($12|0)==(0);
if ($13) {
_check_decryption_preparation($5);
$14 = ((($5)) + 500|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==(0|0);
if (!($16)) {
FUNCTION_TABLE_v[$15 & 127]();
}
$17 = ((($5)) + 492|0);
$18 = HEAP32[$17>>2]|0;
(FUNCTION_TABLE_iiii[$18 & 127]($5,$6,$6)|0);
$19 = (_memcmp($6,4720,16)|0);
$20 = ($19|0)==(0);
if ($20) {
$21 = ($1|0)==(0);
if ($21) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$22 = (_selftest_fips_128_38a(2)|0);
$23 = ($22|0)==(0|0);
if ($23) {
$24 = (_selftest_fips_128_38a(5)|0);
$25 = ($24|0)==(0|0);
if ($25) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
} else {
$$0$i = $24;$$011$i = 59913;
}
} else {
$$0$i = $22;$$011$i = 59909;
}
} else {
$$0$i$ph$i = 59845;
label = 8;
}
} else {
$$0$i$ph$i = 59877;
label = 8;
}
if ((label|0) == 8) {
$$0$i = $$0$i$ph$i;$$011$i = 59917;
}
$26 = ($2|0)==(0|0);
if ($26) {
$$0 = 50;
STACKTOP = sp;return ($$0|0);
}
FUNCTION_TABLE_viiii[$2 & 63](59927,7,$$011$i,$$0$i);
$$0 = 50;
STACKTOP = sp;return ($$0|0);
break;
}
case 8: {
(_do_setkey($4,4752,24)|0);
$27 = ((($4)) + 496|0);
$28 = HEAP32[$27>>2]|0;
$29 = ($28|0)==(0|0);
if (!($29)) {
FUNCTION_TABLE_v[$28 & 127]();
}
$30 = ((($4)) + 488|0);
$31 = HEAP32[$30>>2]|0;
(FUNCTION_TABLE_iiii[$31 & 127]($4,$6,4784)|0);
$32 = (_memcmp($6,4800,16)|0);
$33 = ($32|0)==(0);
if ($33) {
_check_decryption_preparation($4);
$34 = ((($4)) + 500|0);
$35 = HEAP32[$34>>2]|0;
$36 = ($35|0)==(0|0);
if (!($36)) {
FUNCTION_TABLE_v[$35 & 127]();
}
$37 = ((($4)) + 492|0);
$38 = HEAP32[$37>>2]|0;
(FUNCTION_TABLE_iiii[$38 & 127]($4,$6,$6)|0);
$39 = (_memcmp($6,4784,16)|0);
$40 = ($39|0)==(0);
if ($40) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
} else {
$$0$i$ph$i10 = 59934;
}
} else {
$$0$i$ph$i10 = 59966;
}
$41 = ($2|0)==(0|0);
if ($41) {
$$0 = 50;
STACKTOP = sp;return ($$0|0);
}
FUNCTION_TABLE_viiii[$2 & 63](59927,8,59917,$$0$i$ph$i10);
$$0 = 50;
STACKTOP = sp;return ($$0|0);
break;
}
case 9: {
(_do_setkey($3,4816,32)|0);
$42 = ((($3)) + 496|0);
$43 = HEAP32[$42>>2]|0;
$44 = ($43|0)==(0|0);
if (!($44)) {
FUNCTION_TABLE_v[$43 & 127]();
}
$45 = ((($3)) + 488|0);
$46 = HEAP32[$45>>2]|0;
(FUNCTION_TABLE_iiii[$46 & 127]($3,$6,4848)|0);
$47 = (_memcmp($6,4864,16)|0);
$48 = ($47|0)==(0);
if ($48) {
_check_decryption_preparation($3);
$49 = ((($3)) + 500|0);
$50 = HEAP32[$49>>2]|0;
$51 = ($50|0)==(0|0);
if (!($51)) {
FUNCTION_TABLE_v[$50 & 127]();
}
$52 = ((($3)) + 492|0);
$53 = HEAP32[$52>>2]|0;
(FUNCTION_TABLE_iiii[$53 & 127]($3,$6,$6)|0);
$54 = (_memcmp($6,4848,16)|0);
$55 = ($54|0)==(0);
if ($55) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
} else {
$$0$i$ph$i14 = 59998;
}
} else {
$$0$i$ph$i14 = 60030;
}
$56 = ($2|0)==(0|0);
if ($56) {
$$0 = 50;
STACKTOP = sp;return ($$0|0);
}
FUNCTION_TABLE_viiii[$2 & 63](59927,9,59917,$$0$i$ph$i14);
$$0 = 50;
STACKTOP = sp;return ($$0|0);
break;
}
default: {
$$0 = 12;
STACKTOP = sp;return ($$0|0);
}
}
return (0)|0;
}
function _do_setkey($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$i$i$ph = 0, $$0$i12$i$ph = 0, $$0$i9$i$ph = 0, $$0138 = 0, $$0144227 = 0, $$0146 = 0, $$0147213 = 0, $$0148225 = 0, $$0152224 = 0, $$0157226 = 0, $$06$i$ph = 0, $$06$i171 = 0, $$1149$lcssa = 0, $$1149217 = 0, $$1158223 = 0, $$2154211 = 0, $$2159$lcssa = 0, $$2159216 = 0, $$3151212 = 0;
var $$3155$lcssa = 0, $$3155205 = 0, $$3160185 = 0, $$4$lcssa = 0, $$4161186 = 0, $$4206 = 0, $$5$lcssa = 0, $$5162 = 0, $$5162191 = 0, $$5162193 = 0, $$5197 = 0, $$6163204 = 0, $$7$lcssa = 0, $$7196 = 0, $$phi$trans$insert255 = 0, $$pr = 0, $$pre = 0, $$pre254 = 0, $$pre256 = 0, $10 = 0;
var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0;
var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0;
var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0;
var $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0;
var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0;
var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0;
var $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0;
var $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0;
var $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0;
var $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0;
var $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond252 = 0, $or$cond = 0, $or$cond166 = 0, $spec$select = 0, $spec$select165 = 0, $spec$select167 = 0, $spec$select168 = 0, $uglygep = 0, $uglygep241 = 0;
var $uglygep244 = 0, $uglygep247 = 0, $umax = 0, $umax249 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1616|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1616|0);
$vararg_buffer = sp + 1608|0;
$3 = sp + 1104|0;
$4 = sp + 592|0;
$5 = sp + 80|0;
$6 = sp + 64|0;
$7 = sp;
$8 = (__gcry_fips_mode()|0);
$9 = HEAP32[18116]|0;
$10 = $9 | $8;
$11 = ($10|0)==(0);
L1: do {
if ($11) {
HEAP32[18116] = 1;
(_do_setkey($3,4704,16)|0);
$12 = ((($3)) + 496|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0|0);
if (!($14)) {
FUNCTION_TABLE_v[$13 & 127]();
}
$15 = ((($3)) + 488|0);
$16 = HEAP32[$15>>2]|0;
(FUNCTION_TABLE_iiii[$16 & 127]($3,$6,4720)|0);
$17 = (_memcmp($6,4736,16)|0);
$18 = ($17|0)==(0);
do {
if ($18) {
_check_decryption_preparation($3);
$19 = ((($3)) + 500|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20|0)==(0|0);
if (!($21)) {
FUNCTION_TABLE_v[$20 & 127]();
}
$22 = ((($3)) + 492|0);
$23 = HEAP32[$22>>2]|0;
(FUNCTION_TABLE_iiii[$23 & 127]($3,$6,$6)|0);
$24 = (_memcmp($6,4720,16)|0);
$25 = ($24|0)==(0);
if ($25) {
(_do_setkey($4,4752,24)|0);
$26 = ((($4)) + 496|0);
$27 = HEAP32[$26>>2]|0;
$28 = ($27|0)==(0|0);
if (!($28)) {
FUNCTION_TABLE_v[$27 & 127]();
}
$29 = ((($4)) + 488|0);
$30 = HEAP32[$29>>2]|0;
(FUNCTION_TABLE_iiii[$30 & 127]($4,$6,4784)|0);
$31 = (_memcmp($6,4800,16)|0);
$32 = ($31|0)==(0);
if ($32) {
_check_decryption_preparation($4);
$33 = ((($4)) + 500|0);
$34 = HEAP32[$33>>2]|0;
$35 = ($34|0)==(0|0);
if (!($35)) {
FUNCTION_TABLE_v[$34 & 127]();
}
$36 = ((($4)) + 492|0);
$37 = HEAP32[$36>>2]|0;
(FUNCTION_TABLE_iiii[$37 & 127]($4,$6,$6)|0);
$38 = (_memcmp($6,4784,16)|0);
$39 = ($38|0)==(0);
if ($39) {
(_do_setkey($5,4816,32)|0);
$40 = ((($5)) + 496|0);
$41 = HEAP32[$40>>2]|0;
$42 = ($41|0)==(0|0);
if (!($42)) {
FUNCTION_TABLE_v[$41 & 127]();
}
$43 = ((($5)) + 488|0);
$44 = HEAP32[$43>>2]|0;
(FUNCTION_TABLE_iiii[$44 & 127]($5,$6,4848)|0);
$45 = (_memcmp($6,4864,16)|0);
$46 = ($45|0)==(0);
if ($46) {
_check_decryption_preparation($5);
$47 = ((($5)) + 500|0);
$48 = HEAP32[$47>>2]|0;
$49 = ($48|0)==(0|0);
if (!($49)) {
FUNCTION_TABLE_v[$48 & 127]();
}
$50 = ((($5)) + 492|0);
$51 = HEAP32[$50>>2]|0;
(FUNCTION_TABLE_iiii[$51 & 127]($5,$6,$6)|0);
$52 = (_memcmp($6,4848,16)|0);
$53 = ($52|0)==(0);
if ($53) {
$54 = (__gcry_selftest_helper_ctr(59841,1,2,65,9,16,504)|0);
$55 = ($54|0)==(0|0);
if (!($55)) {
$$06$i$ph = $54;
label = 25;
break;
}
$56 = (__gcry_selftest_helper_cbc(59841,1,2,64,10,16,504)|0);
$57 = ($56|0)==(0|0);
if (!($57)) {
$$06$i$ph = $56;
label = 25;
break;
}
$58 = (__gcry_selftest_helper_cfb(59841,1,2,62,10,16,504)|0);
HEAP32[18117] = $58;
$59 = ($58|0)==(0|0);
if ($59) {
break L1;
} else {
$$06$i171 = $58;
break;
}
} else {
$$0$i$i$ph = 59998;
}
} else {
$$0$i$i$ph = 60030;
}
$$06$i$ph = $$0$i$i$ph;
label = 25;
break;
} else {
$$0$i9$i$ph = 59934;
}
} else {
$$0$i9$i$ph = 59966;
}
$$06$i$ph = $$0$i9$i$ph;
label = 25;
} else {
$$0$i12$i$ph = 59845;
label = 8;
}
} else {
$$0$i12$i$ph = 59877;
label = 8;
}
} while(0);
if ((label|0) == 8) {
$$06$i$ph = $$0$i12$i$ph;
label = 25;
}
if ((label|0) == 25) {
HEAP32[18117] = $$06$i$ph;
$$06$i171 = $$06$i$ph;
}
HEAP32[$vararg_buffer>>2] = $$06$i171;
__gcry_log_error(63676,$vararg_buffer);
label = 28;
} else {
label = 28;
}
} while(0);
if ((label|0) == 28) {
$$pr = HEAP32[18117]|0;
$60 = ($$pr|0)==(0|0);
if (!($60)) {
$$0 = 50;
STACKTOP = sp;return ($$0|0);
}
}
switch ($2|0) {
case 16: {
$$0138 = 10;$$0146 = 4;
break;
}
case 24: {
$$0138 = 12;$$0146 = 6;
break;
}
case 32: {
$$0138 = 14;$$0146 = 8;
break;
}
default: {
$$0 = 44;
STACKTOP = sp;return ($$0|0);
}
}
$61 = ((($0)) + 480|0);
HEAP32[$61>>2] = $$0138;
$62 = ((($0)) + 484|0);
$63 = HEAP8[$62>>0]|0;
$64 = $63 & -2;
HEAP8[$62>>0] = $64;
$65 = ((($0)) + 488|0);
HEAP32[$65>>2] = 72;
$66 = ((($0)) + 492|0);
HEAP32[$66>>2] = 73;
$67 = ((($0)) + 496|0);
HEAP32[$67>>2] = 74;
$68 = ((($0)) + 500|0);
HEAP32[$68>>2] = 75;
$69 = HEAP8[5216]|0;
$70 = HEAP8[(5248)>>0]|0;
$71 = HEAP8[(5280)>>0]|0;
$72 = HEAP8[(5312)>>0]|0;
$73 = HEAP8[(5344)>>0]|0;
$74 = HEAP8[(5376)>>0]|0;
$75 = HEAP8[(5408)>>0]|0;
$76 = HEAP8[(5440)>>0]|0;
$77 = HEAP8[(5472)>>0]|0;
$78 = HEAP8[(5504)>>0]|0;
$79 = HEAP8[(5536)>>0]|0;
$80 = HEAP8[(5568)>>0]|0;
$81 = HEAP8[(5600)>>0]|0;
$82 = HEAP8[(5632)>>0]|0;
$83 = HEAP8[(5664)>>0]|0;
$84 = HEAP8[(5696)>>0]|0;
$85 = HEAP8[(5728)>>0]|0;
$86 = HEAP8[(5760)>>0]|0;
$87 = HEAP8[(5792)>>0]|0;
$88 = HEAP8[(5824)>>0]|0;
$89 = HEAP8[(5856)>>0]|0;
$90 = HEAP8[(5888)>>0]|0;
$91 = HEAP8[(5920)>>0]|0;
$92 = HEAP8[(5952)>>0]|0;
$93 = HEAP8[(5984)>>0]|0;
$94 = HEAP8[(6016)>>0]|0;
$95 = HEAP8[(6048)>>0]|0;
$96 = HEAP8[(6080)>>0]|0;
$97 = HEAP8[(6112)>>0]|0;
$98 = HEAP8[(6144)>>0]|0;
$99 = HEAP8[(6176)>>0]|0;
$100 = HEAP8[(6208)>>0]|0;
$101 = HEAP8[(6239)>>0]|0;
$$0144227 = 0;
while(1) {
$102 = (($1) + ($$0144227)|0);
$103 = HEAP8[$102>>0]|0;
$104 = $$0144227 >>> 2;
$105 = $$0144227 & 3;
$106 = ((($7) + ($104<<2)|0) + ($105)|0);
HEAP8[$106>>0] = $103;
$107 = (($$0144227) + 1)|0;
$exitcond252 = ($107|0)==($2|0);
if ($exitcond252) {
break;
} else {
$$0144227 = $107;
}
}
$108 = (($$0146) + -1)|0;
$109 = ((($7)) + 32|0);
$$0157226 = $108;
while(1) {
$110 = (($7) + ($$0157226<<2)|0);
$111 = HEAP32[$110>>2]|0;
$112 = (($109) + ($$0157226<<2)|0);
HEAP32[$112>>2] = $111;
$113 = (($$0157226) + -1)|0;
$114 = ($$0157226|0)>(0);
if ($114) {
$$0157226 = $113;
} else {
break;
}
}
$115 = $$0138 | 1;
$$0148225 = 0;$$0152224 = 0;$$1158223 = 0;
while(1) {
$116 = ($$1158223|0)<($$0146|0);
$117 = ($$0148225|0)<(4);
$118 = $116 & $117;
if ($118) {
$119 = $$0152224 << 4;
$120 = $$0148225 << 2;
$121 = (($119) + ($120))|0;
$uglygep244 = (($0) + ($121)|0);
$122 = $$1158223 << 2;
$uglygep247 = (($109) + ($122)|0);
$123 = (($$0148225) + -4)|0;
$124 = (($$1158223) - ($$0146))|0;
$125 = ($123>>>0)>($124>>>0);
$umax249 = $125 ? $123 : $124;
$126 = Math_imul($umax249, -4)|0;
_memcpy(($uglygep244|0),($uglygep247|0),($126|0))|0;
$$1149217 = $$0148225;$$2159216 = $$1158223;
while(1) {
$127 = (($$2159216) + 1)|0;
$128 = (($$1149217) + 1)|0;
$129 = ($127|0)<($$0146|0);
$130 = ($$1149217|0)<(3);
$131 = $129 & $130;
if ($131) {
$$1149217 = $128;$$2159216 = $127;
} else {
$$1149$lcssa = $128;$$2159$lcssa = $127;
break;
}
}
} else {
$$1149$lcssa = $$0148225;$$2159$lcssa = $$1158223;
}
$132 = ($$1149$lcssa|0)==(4);
$133 = $132&1;
$spec$select = (($$0152224) + ($133))|0;
$spec$select165 = $132 ? 0 : $$1149$lcssa;
$134 = ($$2159$lcssa|0)<($$0146|0);
$135 = ($spec$select>>>0)<($115>>>0);
$or$cond = $134 & $135;
if ($or$cond) {
$$0148225 = $spec$select165;$$0152224 = $spec$select;$$1158223 = $$2159$lcssa;
} else {
break;
}
}
if ($135) {
$136 = (((($109) + ($108<<2)|0)) + 1|0);
$137 = (((($109) + ($108<<2)|0)) + 2|0);
$138 = ((($109)) + 1|0);
$139 = (((($109) + ($108<<2)|0)) + 3|0);
$140 = ((($109)) + 2|0);
$141 = (($109) + ($108<<2)|0);
$142 = ((($109)) + 3|0);
$143 = ($$0146|0)==(8);
$144 = $$0146 >>> 1;
$145 = (($144) + -1)|0;
$146 = (($109) + ($145<<2)|0);
$147 = (($109) + ($144<<2)|0);
$148 = (((($109) + ($145<<2)|0)) + 1|0);
$149 = (((($109) + ($144<<2)|0)) + 1|0);
$150 = (((($109) + ($145<<2)|0)) + 2|0);
$151 = (((($109) + ($144<<2)|0)) + 2|0);
$152 = (((($109) + ($145<<2)|0)) + 3|0);
$153 = (((($109) + ($144<<2)|0)) + 3|0);
$$5162191 = (($144) + 1)|0;
$154 = ($$5162191>>>0)<(8);
$$phi$trans$insert255 = (($109) + ($144<<2)|0);
$$0147213 = 0;$$2154211 = $spec$select;$$3151212 = $spec$select165;
while(1) {
$155 = HEAP8[$136>>0]|0;
$156 = $155&255;
$157 = $156 << 2;
$158 = ((5217) + ($157)|0);
$159 = HEAP8[$158>>0]|0;
$160 = HEAP8[$109>>0]|0;
$161 = $160 ^ $159;
HEAP8[$109>>0] = $161;
$162 = HEAP8[$137>>0]|0;
$163 = $162&255;
$164 = $163 << 2;
$165 = ((5217) + ($164)|0);
$166 = HEAP8[$165>>0]|0;
$167 = HEAP8[$138>>0]|0;
$168 = $167 ^ $166;
HEAP8[$138>>0] = $168;
$169 = HEAP8[$139>>0]|0;
$170 = $169&255;
$171 = $170 << 2;
$172 = ((5217) + ($171)|0);
$173 = HEAP8[$172>>0]|0;
$174 = HEAP8[$140>>0]|0;
$175 = $174 ^ $173;
HEAP8[$140>>0] = $175;
$176 = HEAP8[$141>>0]|0;
$177 = $176&255;
$178 = $177 << 2;
$179 = ((5217) + ($178)|0);
$180 = HEAP8[$179>>0]|0;
$181 = HEAP8[$142>>0]|0;
$182 = $181 ^ $180;
HEAP8[$142>>0] = $182;
$183 = (($$0147213) + 1)|0;
$184 = (6240 + ($$0147213<<2)|0);
$185 = HEAP32[$184>>2]|0;
$186 = $161&255;
$187 = $185 ^ $186;
$188 = $187&255;
HEAP8[$109>>0] = $188;
if ($143) {
$$pre254 = HEAP32[$109>>2]|0;
$$4161186 = 1;$198 = $$pre254;
while(1) {
$195 = (($109) + ($$4161186<<2)|0);
$196 = HEAP32[$195>>2]|0;
$197 = $196 ^ $198;
HEAP32[$195>>2] = $197;
$199 = (($$4161186) + 1)|0;
$200 = ($199>>>0)<($144>>>0);
if ($200) {
$$4161186 = $199;$198 = $197;
} else {
break;
}
}
$201 = HEAP8[$146>>0]|0;
$202 = $201&255;
$203 = $202 << 2;
$204 = ((5217) + ($203)|0);
$205 = HEAP8[$204>>0]|0;
$206 = HEAP8[$147>>0]|0;
$207 = $206 ^ $205;
HEAP8[$147>>0] = $207;
$208 = HEAP8[$148>>0]|0;
$209 = $208&255;
$210 = $209 << 2;
$211 = ((5217) + ($210)|0);
$212 = HEAP8[$211>>0]|0;
$213 = HEAP8[$149>>0]|0;
$214 = $213 ^ $212;
HEAP8[$149>>0] = $214;
$215 = HEAP8[$150>>0]|0;
$216 = $215&255;
$217 = $216 << 2;
$218 = ((5217) + ($217)|0);
$219 = HEAP8[$218>>0]|0;
$220 = HEAP8[$151>>0]|0;
$221 = $220 ^ $219;
HEAP8[$151>>0] = $221;
$222 = HEAP8[$152>>0]|0;
$223 = $222&255;
$224 = $223 << 2;
$225 = ((5217) + ($224)|0);
$226 = HEAP8[$225>>0]|0;
$227 = HEAP8[$153>>0]|0;
$228 = $227 ^ $226;
HEAP8[$153>>0] = $228;
if ($154) {
$$pre256 = HEAP32[$$phi$trans$insert255>>2]|0;
$$5162193 = $$5162191;$232 = $$pre256;
while(1) {
$229 = (($109) + ($$5162193<<2)|0);
$230 = HEAP32[$229>>2]|0;
$231 = $230 ^ $232;
HEAP32[$229>>2] = $231;
$$5162 = (($$5162193) + 1)|0;
$exitcond = ($$5162|0)==(8);
if ($exitcond) {
break;
} else {
$$5162193 = $$5162;$232 = $231;
}
}
}
} else {
$$pre = HEAP32[$109>>2]|0;
$$3160185 = 1;$192 = $$pre;
while(1) {
$189 = (($109) + ($$3160185<<2)|0);
$190 = HEAP32[$189>>2]|0;
$191 = $190 ^ $192;
HEAP32[$189>>2] = $191;
$193 = (($$3160185) + 1)|0;
$194 = ($193>>>0)<($$0146>>>0);
if ($194) {
$$3160185 = $193;$192 = $191;
} else {
break;
}
}
}
$233 = ($$2154211|0)<($115|0);
if ($233) {
$$3155205 = $$2154211;$$4206 = $$3151212;$$6163204 = 0;
while(1) {
$234 = ($$6163204|0)<($$0146|0);
$235 = ($$4206|0)<(4);
$236 = $234 & $235;
if ($236) {
$237 = $$3155205 << 4;
$238 = $$4206 << 2;
$239 = (($237) + ($238))|0;
$uglygep = (($0) + ($239)|0);
$240 = $$6163204 << 2;
$uglygep241 = (($109) + ($240)|0);
$241 = (($$4206) + -4)|0;
$242 = (($$6163204) - ($$0146))|0;
$243 = ($241>>>0)>($242>>>0);
$umax = $243 ? $241 : $242;
$244 = Math_imul($umax, -4)|0;
_memcpy(($uglygep|0),($uglygep241|0),($244|0))|0;
$$5197 = $$4206;$$7196 = $$6163204;
while(1) {
$245 = (($$7196) + 1)|0;
$246 = (($$5197) + 1)|0;
$247 = ($245|0)<($$0146|0);
$248 = ($$5197|0)<(3);
$249 = $247 & $248;
if ($249) {
$$5197 = $246;$$7196 = $245;
} else {
$$5$lcssa = $246;$$7$lcssa = $245;
break;
}
}
} else {
$$5$lcssa = $$4206;$$7$lcssa = $$6163204;
}
$250 = ($$5$lcssa|0)==(4);
$251 = $250&1;
$spec$select167 = (($$3155205) + ($251))|0;
$spec$select168 = $250 ? 0 : $$5$lcssa;
$252 = ($$7$lcssa|0)<($$0146|0);
$253 = ($spec$select167|0)<($115|0);
$or$cond166 = $252 & $253;
if ($or$cond166) {
$$3155205 = $spec$select167;$$4206 = $spec$select168;$$6163204 = $$7$lcssa;
} else {
$$3155$lcssa = $spec$select167;$$4$lcssa = $spec$select168;
break;
}
}
} else {
$$3155$lcssa = $$2154211;$$4$lcssa = $$3151212;
}
$254 = ($$3155$lcssa|0)<($115|0);
if ($254) {
$$0147213 = $183;$$2154211 = $$3155$lcssa;$$3151212 = $$4$lcssa;
} else {
break;
}
}
}
$255 = $7;
$256 = $255;
HEAP32[$256>>2] = 0;
$257 = (($255) + 4)|0;
$258 = $257;
HEAP32[$258>>2] = 0;
$259 = ((($7)) + 8|0);
$260 = $259;
$261 = $260;
HEAP32[$261>>2] = 0;
$262 = (($260) + 4)|0;
$263 = $262;
HEAP32[$263>>2] = 0;
$264 = ((($7)) + 16|0);
$265 = $264;
$266 = $265;
HEAP32[$266>>2] = 0;
$267 = (($265) + 4)|0;
$268 = $267;
HEAP32[$268>>2] = 0;
$269 = ((($7)) + 24|0);
$270 = $269;
$271 = $270;
HEAP32[$271>>2] = 0;
$272 = (($270) + 4)|0;
$273 = $272;
HEAP32[$273>>2] = 0;
$274 = ((($7)) + 32|0);
$275 = $274;
$276 = $275;
HEAP32[$276>>2] = 0;
$277 = (($275) + 4)|0;
$278 = $277;
HEAP32[$278>>2] = 0;
$279 = ((($7)) + 40|0);
$280 = $279;
$281 = $280;
HEAP32[$281>>2] = 0;
$282 = (($280) + 4)|0;
$283 = $282;
HEAP32[$283>>2] = 0;
$284 = ((($7)) + 48|0);
$285 = $284;
$286 = $285;
HEAP32[$286>>2] = 0;
$287 = (($285) + 4)|0;
$288 = $287;
HEAP32[$288>>2] = 0;
$289 = ((($7)) + 56|0);
$290 = $289;
$291 = $290;
HEAP32[$291>>2] = 0;
$292 = (($290) + 4)|0;
$293 = $292;
HEAP32[$293>>2] = 0;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _check_decryption_preparation($0) {
$0 = $0|0;
var $$0$lcssa$i = 0, $$079$i = 0, $$lcssa$i = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0;
var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0;
var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0;
var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 484|0);
$2 = HEAP8[$1>>0]|0;
$3 = $2 & 1;
$4 = ($3<<24>>24)==(0);
if (!($4)) {
return;
}
$5 = HEAP8[5216]|0;
$6 = HEAP8[(5248)>>0]|0;
$7 = HEAP8[(5280)>>0]|0;
$8 = HEAP8[(5312)>>0]|0;
$9 = HEAP8[(5344)>>0]|0;
$10 = HEAP8[(5376)>>0]|0;
$11 = HEAP8[(5408)>>0]|0;
$12 = HEAP8[(5440)>>0]|0;
$13 = HEAP8[(5472)>>0]|0;
$14 = HEAP8[(5504)>>0]|0;
$15 = HEAP8[(5536)>>0]|0;
$16 = HEAP8[(5568)>>0]|0;
$17 = HEAP8[(5600)>>0]|0;
$18 = HEAP8[(5632)>>0]|0;
$19 = HEAP8[(5664)>>0]|0;
$20 = HEAP8[(5696)>>0]|0;
$21 = HEAP8[(5728)>>0]|0;
$22 = HEAP8[(5760)>>0]|0;
$23 = HEAP8[(5792)>>0]|0;
$24 = HEAP8[(5824)>>0]|0;
$25 = HEAP8[(5856)>>0]|0;
$26 = HEAP8[(5888)>>0]|0;
$27 = HEAP8[(5920)>>0]|0;
$28 = HEAP8[(5952)>>0]|0;
$29 = HEAP8[(5984)>>0]|0;
$30 = HEAP8[(6016)>>0]|0;
$31 = HEAP8[(6048)>>0]|0;
$32 = HEAP8[(6080)>>0]|0;
$33 = HEAP8[(6112)>>0]|0;
$34 = HEAP8[(6144)>>0]|0;
$35 = HEAP8[(6176)>>0]|0;
$36 = HEAP8[(6208)>>0]|0;
$37 = HEAP8[(6239)>>0]|0;
$38 = HEAP8[38052]|0;
$39 = HEAP8[(38084)>>0]|0;
$40 = HEAP8[(38116)>>0]|0;
$41 = HEAP8[(38148)>>0]|0;
$42 = HEAP8[(38180)>>0]|0;
$43 = HEAP8[(38212)>>0]|0;
$44 = HEAP8[(38244)>>0]|0;
$45 = HEAP8[(38276)>>0]|0;
$46 = HEAP8[(38308)>>0]|0;
$47 = HEAP8[(38340)>>0]|0;
$48 = HEAP8[(38372)>>0]|0;
$49 = HEAP8[(38404)>>0]|0;
$50 = HEAP8[(38436)>>0]|0;
$51 = HEAP8[(38468)>>0]|0;
$52 = HEAP8[(38500)>>0]|0;
$53 = HEAP8[(38532)>>0]|0;
$54 = HEAP8[(38564)>>0]|0;
$55 = HEAP8[(38596)>>0]|0;
$56 = HEAP8[(38628)>>0]|0;
$57 = HEAP8[(38660)>>0]|0;
$58 = HEAP8[(38692)>>0]|0;
$59 = HEAP8[(38724)>>0]|0;
$60 = HEAP8[(38756)>>0]|0;
$61 = HEAP8[(38788)>>0]|0;
$62 = HEAP8[(38820)>>0]|0;
$63 = HEAP8[(38852)>>0]|0;
$64 = HEAP8[(38884)>>0]|0;
$65 = HEAP8[(38916)>>0]|0;
$66 = HEAP8[(38948)>>0]|0;
$67 = HEAP8[(38980)>>0]|0;
$68 = HEAP8[(39012)>>0]|0;
$69 = HEAP8[(39044)>>0]|0;
$70 = HEAP8[(39076)>>0]|0;
$71 = HEAP8[(39108)>>0]|0;
$72 = HEAP8[(39140)>>0]|0;
$73 = HEAP8[(39172)>>0]|0;
$74 = HEAP8[(39204)>>0]|0;
$75 = HEAP8[(39236)>>0]|0;
$76 = HEAP8[(39268)>>0]|0;
$77 = HEAP8[(39300)>>0]|0;
$78 = HEAP8[(39331)>>0]|0;
$79 = HEAP32[$0>>2]|0;
$80 = ((($0)) + 240|0);
HEAP32[$80>>2] = $79;
$81 = ((($0)) + 4|0);
$82 = HEAP32[$81>>2]|0;
$83 = ((($80)) + 4|0);
HEAP32[$83>>2] = $82;
$84 = ((($0)) + 8|0);
$85 = HEAP32[$84>>2]|0;
$86 = ((($0)) + 248|0);
HEAP32[$86>>2] = $85;
$87 = ((($0)) + 12|0);
$88 = HEAP32[$87>>2]|0;
$89 = ((($0)) + 252|0);
HEAP32[$89>>2] = $88;
$90 = ((($0)) + 480|0);
$91 = HEAP32[$90>>2]|0;
$92 = ($91|0)>(1);
$93 = ((($0)) + 16|0);
if ($92) {
$$079$i = 1;$96 = $93;
while(1) {
$94 = (($80) + ($$079$i<<4)|0);
$95 = HEAP32[$96>>2]|0;
$97 = $95 << 2;
$98 = $97 & 1020;
$99 = ((5217) + ($98)|0);
$100 = HEAP8[$99>>0]|0;
$101 = $100&255;
$102 = (38052 + ($101<<2)|0);
$103 = HEAP32[$102>>2]|0;
$104 = $95 >>> 6;
$105 = $104 & 1020;
$106 = ((5217) + ($105)|0);
$107 = HEAP8[$106>>0]|0;
$108 = $107&255;
$109 = (38052 + ($108<<2)|0);
$110 = HEAP32[$109>>2]|0;
$111 = $110 << 8;
$112 = $110 >>> 24;
$113 = $111 | $112;
$114 = $113 ^ $103;
$115 = $95 >>> 14;
$116 = $115 & 1020;
$117 = ((5217) + ($116)|0);
$118 = HEAP8[$117>>0]|0;
$119 = $118&255;
$120 = (38052 + ($119<<2)|0);
$121 = HEAP32[$120>>2]|0;
$122 = $121 << 16;
$123 = $121 >>> 16;
$124 = $122 | $123;
$125 = $114 ^ $124;
$126 = $95 >>> 24;
$127 = $126 << 2;
$128 = ((5217) + ($127)|0);
$129 = HEAP8[$128>>0]|0;
$130 = $129&255;
$131 = (38052 + ($130<<2)|0);
$132 = HEAP32[$131>>2]|0;
$133 = $132 << 24;
$134 = $132 >>> 8;
$135 = $133 | $134;
$136 = $125 ^ $135;
HEAP32[$94>>2] = $136;
$137 = (((($0) + ($$079$i<<4)|0)) + 4|0);
$138 = HEAP32[$137>>2]|0;
$139 = $138 << 2;
$140 = $139 & 1020;
$141 = ((5217) + ($140)|0);
$142 = HEAP8[$141>>0]|0;
$143 = $142&255;
$144 = (38052 + ($143<<2)|0);
$145 = HEAP32[$144>>2]|0;
$146 = $138 >>> 6;
$147 = $146 & 1020;
$148 = ((5217) + ($147)|0);
$149 = HEAP8[$148>>0]|0;
$150 = $149&255;
$151 = (38052 + ($150<<2)|0);
$152 = HEAP32[$151>>2]|0;
$153 = $152 << 8;
$154 = $152 >>> 24;
$155 = $153 | $154;
$156 = $155 ^ $145;
$157 = $138 >>> 14;
$158 = $157 & 1020;
$159 = ((5217) + ($158)|0);
$160 = HEAP8[$159>>0]|0;
$161 = $160&255;
$162 = (38052 + ($161<<2)|0);
$163 = HEAP32[$162>>2]|0;
$164 = $163 << 16;
$165 = $163 >>> 16;
$166 = $164 | $165;
$167 = $156 ^ $166;
$168 = $138 >>> 24;
$169 = $168 << 2;
$170 = ((5217) + ($169)|0);
$171 = HEAP8[$170>>0]|0;
$172 = $171&255;
$173 = (38052 + ($172<<2)|0);
$174 = HEAP32[$173>>2]|0;
$175 = $174 << 24;
$176 = $174 >>> 8;
$177 = $175 | $176;
$178 = $167 ^ $177;
$179 = (((($80) + ($$079$i<<4)|0)) + 4|0);
HEAP32[$179>>2] = $178;
$180 = (((($0) + ($$079$i<<4)|0)) + 8|0);
$181 = HEAP32[$180>>2]|0;
$182 = $181 << 2;
$183 = $182 & 1020;
$184 = ((5217) + ($183)|0);
$185 = HEAP8[$184>>0]|0;
$186 = $185&255;
$187 = (38052 + ($186<<2)|0);
$188 = HEAP32[$187>>2]|0;
$189 = $181 >>> 6;
$190 = $189 & 1020;
$191 = ((5217) + ($190)|0);
$192 = HEAP8[$191>>0]|0;
$193 = $192&255;
$194 = (38052 + ($193<<2)|0);
$195 = HEAP32[$194>>2]|0;
$196 = $195 << 8;
$197 = $195 >>> 24;
$198 = $196 | $197;
$199 = $198 ^ $188;
$200 = $181 >>> 14;
$201 = $200 & 1020;
$202 = ((5217) + ($201)|0);
$203 = HEAP8[$202>>0]|0;
$204 = $203&255;
$205 = (38052 + ($204<<2)|0);
$206 = HEAP32[$205>>2]|0;
$207 = $206 << 16;
$208 = $206 >>> 16;
$209 = $207 | $208;
$210 = $199 ^ $209;
$211 = $181 >>> 24;
$212 = $211 << 2;
$213 = ((5217) + ($212)|0);
$214 = HEAP8[$213>>0]|0;
$215 = $214&255;
$216 = (38052 + ($215<<2)|0);
$217 = HEAP32[$216>>2]|0;
$218 = $217 << 24;
$219 = $217 >>> 8;
$220 = $218 | $219;
$221 = $210 ^ $220;
$222 = (((($80) + ($$079$i<<4)|0)) + 8|0);
HEAP32[$222>>2] = $221;
$223 = (((($0) + ($$079$i<<4)|0)) + 12|0);
$224 = HEAP32[$223>>2]|0;
$225 = $224 << 2;
$226 = $225 & 1020;
$227 = ((5217) + ($226)|0);
$228 = HEAP8[$227>>0]|0;
$229 = $228&255;
$230 = (38052 + ($229<<2)|0);
$231 = HEAP32[$230>>2]|0;
$232 = $224 >>> 6;
$233 = $232 & 1020;
$234 = ((5217) + ($233)|0);
$235 = HEAP8[$234>>0]|0;
$236 = $235&255;
$237 = (38052 + ($236<<2)|0);
$238 = HEAP32[$237>>2]|0;
$239 = $238 << 8;
$240 = $238 >>> 24;
$241 = $239 | $240;
$242 = $241 ^ $231;
$243 = $224 >>> 14;
$244 = $243 & 1020;
$245 = ((5217) + ($244)|0);
$246 = HEAP8[$245>>0]|0;
$247 = $246&255;
$248 = (38052 + ($247<<2)|0);
$249 = HEAP32[$248>>2]|0;
$250 = $249 << 16;
$251 = $249 >>> 16;
$252 = $250 | $251;
$253 = $242 ^ $252;
$254 = $224 >>> 24;
$255 = $254 << 2;
$256 = ((5217) + ($255)|0);
$257 = HEAP8[$256>>0]|0;
$258 = $257&255;
$259 = (38052 + ($258<<2)|0);
$260 = HEAP32[$259>>2]|0;
$261 = $260 << 24;
$262 = $260 >>> 8;
$263 = $261 | $262;
$264 = $253 ^ $263;
$265 = (((($80) + ($$079$i<<4)|0)) + 12|0);
HEAP32[$265>>2] = $264;
$266 = (($$079$i) + 1)|0;
$267 = HEAP32[$90>>2]|0;
$268 = ($266|0)<($267|0);
$269 = (($0) + ($266<<4)|0);
if ($268) {
$$079$i = $266;$96 = $269;
} else {
$$0$lcssa$i = $266;$$lcssa$i = $269;
break;
}
}
} else {
$$0$lcssa$i = 1;$$lcssa$i = $93;
}
$270 = HEAP32[$$lcssa$i>>2]|0;
$271 = (($80) + ($$0$lcssa$i<<4)|0);
HEAP32[$271>>2] = $270;
$272 = (((($0) + ($$0$lcssa$i<<4)|0)) + 4|0);
$273 = HEAP32[$272>>2]|0;
$274 = (((($80) + ($$0$lcssa$i<<4)|0)) + 4|0);
HEAP32[$274>>2] = $273;
$275 = (((($0) + ($$0$lcssa$i<<4)|0)) + 8|0);
$276 = HEAP32[$275>>2]|0;
$277 = (((($80) + ($$0$lcssa$i<<4)|0)) + 8|0);
HEAP32[$277>>2] = $276;
$278 = (((($0) + ($$0$lcssa$i<<4)|0)) + 12|0);
$279 = HEAP32[$278>>2]|0;
$280 = (((($80) + ($$0$lcssa$i<<4)|0)) + 12|0);
HEAP32[$280>>2] = $279;
$281 = HEAP8[$1>>0]|0;
$282 = $281 | 1;
HEAP8[$1>>0] = $282;
return;
}
function _selftest_fips_128_38a($0) {
$0 = $0|0;
var $$03446$lcssa = 0, $$036 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$1 = sp;
$2 = sp + 20|0;
$3 = sp + 16|0;
HEAP32[$2>>2] = 0;
HEAP32[$3>>2] = 0;
switch ($0|0) {
case 2: {
$$03446$lcssa = 0;
break;
}
case 5: {
$$03446$lcssa = 1;
break;
}
default: {
__gcry_cipher_close(0);
__gcry_cipher_close(0);
$$036 = 60062;
STACKTOP = sp;return ($$036|0);
}
}
$4 = (4880 + (($$03446$lcssa*164)|0)|0);
$5 = HEAP32[$4>>2]|0;
$6 = (__gcry_cipher_open($2,7,$5,0)|0);
$7 = ($6|0)==(0);
if (!($7)) {
$8 = HEAP32[$2>>2]|0;
__gcry_cipher_close($8);
$9 = HEAP32[$3>>2]|0;
__gcry_cipher_close($9);
$$036 = 60089;
STACKTOP = sp;return ($$036|0);
}
$10 = (__gcry_cipher_open($3,7,$5,0)|0);
$11 = ($10|0)==(0);
$12 = HEAP32[$2>>2]|0;
if (!($11)) {
__gcry_cipher_close($12);
$13 = HEAP32[$3>>2]|0;
__gcry_cipher_close($13);
$$036 = 60089;
STACKTOP = sp;return ($$036|0);
}
$14 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 4|0);
$15 = (__gcry_cipher_setkey($12,$14,16)|0);
$16 = ($15|0)==(0);
if ($16) {
$18 = HEAP32[$3>>2]|0;
$19 = (__gcry_cipher_setkey($18,$14,16)|0);
$20 = ($19|0)==(0);
$21 = HEAP32[$2>>2]|0;
if ($20) {
$24 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 20|0);
$25 = (__gcry_cipher_setiv($21,$24,16)|0);
$26 = ($25|0)==(0);
if ($26) {
$27 = HEAP32[$3>>2]|0;
$28 = (__gcry_cipher_setiv($27,$24,16)|0);
$29 = ($28|0)==(0);
if ($29) {
$32 = HEAP32[$2>>2]|0;
$33 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 36|0);
$34 = (__gcry_cipher_encrypt($32,$1,16,$33,16)|0);
$35 = ($34|0)==(0);
L20: do {
if ($35) {
$42 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 52|0);
$43 = (_memcmp($1,$42,16)|0);
$44 = ($43|0)==(0);
L22: do {
if ($44) {
$47 = HEAP32[$3>>2]|0;
$48 = (__gcry_cipher_decrypt($47,$1,16,$42,16)|0);
$49 = ($48|0)==(0);
L24: do {
if ($49) {
$52 = (_memcmp($1,$33,16)|0);
$53 = ($52|0)==(0);
do {
if ($53) {
$36 = HEAP32[$2>>2]|0;
$37 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 68|0);
$38 = (__gcry_cipher_encrypt($36,$1,16,$37,16)|0);
$39 = ($38|0)==(0);
if (!($39)) {
break L20;
}
$56 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 84|0);
$57 = (_memcmp($1,$56,16)|0);
$58 = ($57|0)==(0);
if (!($58)) {
break L22;
}
$59 = HEAP32[$3>>2]|0;
$60 = (__gcry_cipher_decrypt($59,$1,16,$56,16)|0);
$61 = ($60|0)==(0);
if (!($61)) {
break L24;
}
$62 = (_memcmp($1,$37,16)|0);
$63 = ($62|0)==(0);
if ($63) {
$64 = HEAP32[$2>>2]|0;
$65 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 100|0);
$66 = (__gcry_cipher_encrypt($64,$1,16,$65,16)|0);
$67 = ($66|0)==(0);
if (!($67)) {
break L20;
}
$68 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 116|0);
$69 = (_memcmp($1,$68,16)|0);
$70 = ($69|0)==(0);
if (!($70)) {
break L22;
}
$71 = HEAP32[$3>>2]|0;
$72 = (__gcry_cipher_decrypt($71,$1,16,$68,16)|0);
$73 = ($72|0)==(0);
if (!($73)) {
break L24;
}
$74 = (_memcmp($1,$65,16)|0);
$75 = ($74|0)==(0);
if (!($75)) {
break;
}
$76 = HEAP32[$2>>2]|0;
$77 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 132|0);
$78 = (__gcry_cipher_encrypt($76,$1,16,$77,16)|0);
$79 = ($78|0)==(0);
if (!($79)) {
break L20;
}
$80 = (((4880 + (($$03446$lcssa*164)|0)|0)) + 148|0);
$81 = (_memcmp($1,$80,16)|0);
$82 = ($81|0)==(0);
if (!($82)) {
break L22;
}
$83 = HEAP32[$3>>2]|0;
$84 = (__gcry_cipher_decrypt($83,$1,16,$80,16)|0);
$85 = ($84|0)==(0);
if (!($85)) {
break L24;
}
$86 = (_memcmp($1,$77,16)|0);
$87 = ($86|0)==(0);
if (!($87)) {
break;
}
$88 = HEAP32[$2>>2]|0;
__gcry_cipher_close($88);
$89 = HEAP32[$3>>2]|0;
__gcry_cipher_close($89);
$$036 = 0;
STACKTOP = sp;return ($$036|0);
}
}
} while(0);
$54 = HEAP32[$2>>2]|0;
__gcry_cipher_close($54);
$55 = HEAP32[$3>>2]|0;
__gcry_cipher_close($55);
$$036 = 60158;
STACKTOP = sp;return ($$036|0);
}
} while(0);
$50 = HEAP32[$2>>2]|0;
__gcry_cipher_close($50);
$51 = HEAP32[$3>>2]|0;
__gcry_cipher_close($51);
$$036 = 60142;
STACKTOP = sp;return ($$036|0);
}
} while(0);
$45 = HEAP32[$2>>2]|0;
__gcry_cipher_close($45);
$46 = HEAP32[$3>>2]|0;
__gcry_cipher_close($46);
$$036 = 60125;
STACKTOP = sp;return ($$036|0);
}
} while(0);
$40 = HEAP32[$2>>2]|0;
__gcry_cipher_close($40);
$41 = HEAP32[$3>>2]|0;
__gcry_cipher_close($41);
$$036 = 60109;
STACKTOP = sp;return ($$036|0);
}
}
$30 = HEAP32[$2>>2]|0;
__gcry_cipher_close($30);
$31 = HEAP32[$3>>2]|0;
__gcry_cipher_close($31);
$$036 = 60102;
STACKTOP = sp;return ($$036|0);
} else {
$22 = $21;
}
} else {
$17 = HEAP32[$2>>2]|0;
$22 = $17;
}
__gcry_cipher_close($22);
$23 = HEAP32[$3>>2]|0;
__gcry_cipher_close($23);
$$036 = 60094;
STACKTOP = sp;return ($$036|0);
}
function __gcry_aes_ctr_enc($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$06383 = 0, $$06982 = 0, $$07081 = 0, $$084 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
var $99 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
$6 = ((($0)) + 496|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0|0);
if (!($8)) {
FUNCTION_TABLE_v[$7 & 127]();
}
$9 = ((($0)) + 488|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($4|0)==(0);
if ($11) {
$12 = $5;
$13 = $12;
HEAP32[$13>>2] = 0;
$14 = (($12) + 4)|0;
$15 = $14;
HEAP32[$15>>2] = 0;
$16 = ((($5)) + 8|0);
$17 = $16;
$18 = $17;
HEAP32[$18>>2] = 0;
$19 = (($17) + 4)|0;
$20 = $19;
HEAP32[$20>>2] = 0;
STACKTOP = sp;return;
}
$21 = ((($5)) + 4|0);
$22 = ((($5)) + 8|0);
$23 = ((($5)) + 12|0);
$24 = ((($5)) + 1|0);
$25 = ((($5)) + 2|0);
$26 = ((($5)) + 3|0);
$27 = ((($5)) + 4|0);
$28 = ((($27)) + 1|0);
$29 = ((($27)) + 2|0);
$30 = ((($27)) + 3|0);
$31 = ((($5)) + 8|0);
$32 = ((($31)) + 1|0);
$33 = ((($31)) + 2|0);
$34 = ((($31)) + 3|0);
$35 = ((($5)) + 12|0);
$36 = ((($35)) + 1|0);
$37 = ((($35)) + 2|0);
$38 = ((($35)) + 3|0);
$$06383 = $2;$$06982 = $3;$$084 = $4;
while(1) {
$39 = (FUNCTION_TABLE_iiii[$10 & 127]($0,$5,$1)|0);
$40 = $$06383;
$41 = $$06982;
$42 = $40 | $41;
$43 = $42 & 3;
$44 = ($43|0)==(0);
if ($44) {
$45 = HEAP32[$5>>2]|0;
$46 = ((($$06982)) + 4|0);
$47 = HEAP32[$$06982>>2]|0;
$48 = $47 ^ $45;
$49 = ((($$06383)) + 4|0);
HEAP32[$$06383>>2] = $48;
$50 = HEAP32[$21>>2]|0;
$51 = ((($$06982)) + 8|0);
$52 = HEAP32[$46>>2]|0;
$53 = $52 ^ $50;
$54 = ((($$06383)) + 8|0);
HEAP32[$49>>2] = $53;
$55 = HEAP32[$22>>2]|0;
$56 = ((($$06982)) + 12|0);
$57 = HEAP32[$51>>2]|0;
$58 = $57 ^ $55;
$59 = ((($$06383)) + 12|0);
HEAP32[$54>>2] = $58;
$60 = HEAP32[$23>>2]|0;
$61 = HEAP32[$56>>2]|0;
$62 = $61 ^ $60;
HEAP32[$59>>2] = $62;
} else {
$63 = HEAP8[$5>>0]|0;
$64 = ((($$06982)) + 1|0);
$65 = HEAP8[$$06982>>0]|0;
$66 = $65 ^ $63;
$67 = ((($$06383)) + 1|0);
HEAP8[$$06383>>0] = $66;
$68 = HEAP8[$24>>0]|0;
$69 = ((($$06982)) + 2|0);
$70 = HEAP8[$64>>0]|0;
$71 = $70 ^ $68;
$72 = ((($$06383)) + 2|0);
HEAP8[$67>>0] = $71;
$73 = HEAP8[$25>>0]|0;
$74 = ((($$06982)) + 3|0);
$75 = HEAP8[$69>>0]|0;
$76 = $75 ^ $73;
$77 = ((($$06383)) + 3|0);
HEAP8[$72>>0] = $76;
$78 = HEAP8[$26>>0]|0;
$79 = ((($$06982)) + 4|0);
$80 = HEAP8[$74>>0]|0;
$81 = $80 ^ $78;
$82 = ((($$06383)) + 4|0);
HEAP8[$77>>0] = $81;
$83 = HEAP8[$27>>0]|0;
$84 = ((($$06982)) + 5|0);
$85 = HEAP8[$79>>0]|0;
$86 = $85 ^ $83;
$87 = ((($$06383)) + 5|0);
HEAP8[$82>>0] = $86;
$88 = HEAP8[$28>>0]|0;
$89 = ((($$06982)) + 6|0);
$90 = HEAP8[$84>>0]|0;
$91 = $90 ^ $88;
$92 = ((($$06383)) + 6|0);
HEAP8[$87>>0] = $91;
$93 = HEAP8[$29>>0]|0;
$94 = ((($$06982)) + 7|0);
$95 = HEAP8[$89>>0]|0;
$96 = $95 ^ $93;
$97 = ((($$06383)) + 7|0);
HEAP8[$92>>0] = $96;
$98 = HEAP8[$30>>0]|0;
$99 = ((($$06982)) + 8|0);
$100 = HEAP8[$94>>0]|0;
$101 = $100 ^ $98;
$102 = ((($$06383)) + 8|0);
HEAP8[$97>>0] = $101;
$103 = HEAP8[$31>>0]|0;
$104 = ((($$06982)) + 9|0);
$105 = HEAP8[$99>>0]|0;
$106 = $105 ^ $103;
$107 = ((($$06383)) + 9|0);
HEAP8[$102>>0] = $106;
$108 = HEAP8[$32>>0]|0;
$109 = ((($$06982)) + 10|0);
$110 = HEAP8[$104>>0]|0;
$111 = $110 ^ $108;
$112 = ((($$06383)) + 10|0);
HEAP8[$107>>0] = $111;
$113 = HEAP8[$33>>0]|0;
$114 = ((($$06982)) + 11|0);
$115 = HEAP8[$109>>0]|0;
$116 = $115 ^ $113;
$117 = ((($$06383)) + 11|0);
HEAP8[$112>>0] = $116;
$118 = HEAP8[$34>>0]|0;
$119 = ((($$06982)) + 12|0);
$120 = HEAP8[$114>>0]|0;
$121 = $120 ^ $118;
$122 = ((($$06383)) + 12|0);
HEAP8[$117>>0] = $121;
$123 = HEAP8[$35>>0]|0;
$124 = ((($$06982)) + 13|0);
$125 = HEAP8[$119>>0]|0;
$126 = $125 ^ $123;
$127 = ((($$06383)) + 13|0);
HEAP8[$122>>0] = $126;
$128 = HEAP8[$36>>0]|0;
$129 = ((($$06982)) + 14|0);
$130 = HEAP8[$124>>0]|0;
$131 = $130 ^ $128;
$132 = ((($$06383)) + 14|0);
HEAP8[$127>>0] = $131;
$133 = HEAP8[$37>>0]|0;
$134 = ((($$06982)) + 15|0);
$135 = HEAP8[$129>>0]|0;
$136 = $135 ^ $133;
$137 = ((($$06383)) + 15|0);
HEAP8[$132>>0] = $136;
$138 = HEAP8[$38>>0]|0;
$139 = HEAP8[$134>>0]|0;
$140 = $139 ^ $138;
HEAP8[$137>>0] = $140;
}
$141 = ((($$06383)) + 16|0);
$$07081 = 16;
while(1) {
$142 = (($$07081) + -1)|0;
$143 = (($1) + ($142)|0);
$144 = HEAP8[$143>>0]|0;
$145 = (($144) + 1)<<24>>24;
HEAP8[$143>>0] = $145;
$146 = ($145<<24>>24)==(0);
$147 = ($$07081>>>0)>(1);
$or$cond = $146 & $147;
if ($or$cond) {
$$07081 = $142;
} else {
break;
}
}
$148 = ((($$06982)) + 16|0);
$149 = (($$084) + -1)|0;
$150 = ($149|0)==(0);
if ($150) {
break;
} else {
$$06383 = $141;$$06982 = $148;$$084 = $149;
}
}
$151 = $5;
$152 = $151;
HEAP32[$152>>2] = 0;
$153 = (($151) + 4)|0;
$154 = $153;
HEAP32[$154>>2] = 0;
$155 = ((($5)) + 8|0);
$156 = $155;
$157 = $156;
HEAP32[$157>>2] = 0;
$158 = (($156) + 4)|0;
$159 = $158;
HEAP32[$159>>2] = 0;
$160 = ($39|0)==(0);
if ($160) {
STACKTOP = sp;return;
}
$161 = (($39) + 16)|0;
___gcry_burn_stack($161);
STACKTOP = sp;return;
}
function __gcry_aes_cbc_dec($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$05775 = 0, $$06374 = 0, $$076 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0;
var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0;
var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0;
var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0;
var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
_check_decryption_preparation($0);
$6 = ((($0)) + 500|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0|0);
if (!($8)) {
FUNCTION_TABLE_v[$7 & 127]();
}
$9 = ((($0)) + 492|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($4|0)==(0);
if ($11) {
$12 = $5;
$13 = $12;
HEAP32[$13>>2] = 0;
$14 = (($12) + 4)|0;
$15 = $14;
HEAP32[$15>>2] = 0;
$16 = ((($5)) + 8|0);
$17 = $16;
$18 = $17;
HEAP32[$18>>2] = 0;
$19 = (($17) + 4)|0;
$20 = $19;
HEAP32[$20>>2] = 0;
STACKTOP = sp;return;
}
$21 = $1;
$22 = ((($5)) + 4|0);
$23 = ((($1)) + 4|0);
$24 = ((($5)) + 8|0);
$25 = ((($1)) + 8|0);
$26 = ((($5)) + 12|0);
$27 = ((($1)) + 12|0);
$28 = ((($5)) + 1|0);
$29 = ((($1)) + 1|0);
$30 = ((($5)) + 2|0);
$31 = ((($1)) + 2|0);
$32 = ((($5)) + 3|0);
$33 = ((($1)) + 3|0);
$34 = ((($5)) + 4|0);
$35 = ((($1)) + 4|0);
$36 = ((($5)) + 5|0);
$37 = ((($1)) + 5|0);
$38 = ((($5)) + 6|0);
$39 = ((($1)) + 6|0);
$40 = ((($5)) + 7|0);
$41 = ((($1)) + 7|0);
$42 = ((($5)) + 8|0);
$43 = ((($1)) + 8|0);
$44 = ((($5)) + 9|0);
$45 = ((($1)) + 9|0);
$46 = ((($5)) + 10|0);
$47 = ((($1)) + 10|0);
$48 = ((($5)) + 11|0);
$49 = ((($1)) + 11|0);
$50 = ((($5)) + 12|0);
$51 = ((($1)) + 12|0);
$52 = ((($5)) + 13|0);
$53 = ((($1)) + 13|0);
$54 = ((($5)) + 14|0);
$55 = ((($1)) + 14|0);
$56 = ((($5)) + 15|0);
$57 = ((($1)) + 15|0);
$$05775 = $2;$$06374 = $3;$$076 = $4;
while(1) {
$58 = (FUNCTION_TABLE_iiii[$10 & 127]($0,$5,$$06374)|0);
$59 = $$06374;
$60 = $$05775;
$61 = $59 | $21;
$62 = $61 | $60;
$63 = $62 & 3;
$64 = ($63|0)==(0);
if ($64) {
$65 = ((($$06374)) + 4|0);
$66 = HEAP32[$$06374>>2]|0;
$67 = HEAP32[$1>>2]|0;
$68 = HEAP32[$5>>2]|0;
$69 = $68 ^ $67;
$70 = ((($$05775)) + 4|0);
HEAP32[$$05775>>2] = $69;
HEAP32[$1>>2] = $66;
$71 = ((($$06374)) + 8|0);
$72 = HEAP32[$65>>2]|0;
$73 = HEAP32[$23>>2]|0;
$74 = HEAP32[$22>>2]|0;
$75 = $74 ^ $73;
$76 = ((($$05775)) + 8|0);
HEAP32[$70>>2] = $75;
HEAP32[$23>>2] = $72;
$77 = ((($$06374)) + 12|0);
$78 = HEAP32[$71>>2]|0;
$79 = HEAP32[$25>>2]|0;
$80 = HEAP32[$24>>2]|0;
$81 = $80 ^ $79;
$82 = ((($$05775)) + 12|0);
HEAP32[$76>>2] = $81;
HEAP32[$25>>2] = $78;
$83 = HEAP32[$77>>2]|0;
$84 = HEAP32[$27>>2]|0;
$85 = HEAP32[$26>>2]|0;
$86 = $85 ^ $84;
HEAP32[$82>>2] = $86;
HEAP32[$27>>2] = $83;
} else {
$87 = ((($$06374)) + 1|0);
$88 = HEAP8[$$06374>>0]|0;
$89 = HEAP8[$1>>0]|0;
$90 = HEAP8[$5>>0]|0;
$91 = $90 ^ $89;
$92 = ((($$05775)) + 1|0);
HEAP8[$$05775>>0] = $91;
HEAP8[$1>>0] = $88;
$93 = ((($$06374)) + 2|0);
$94 = HEAP8[$87>>0]|0;
$95 = HEAP8[$29>>0]|0;
$96 = HEAP8[$28>>0]|0;
$97 = $96 ^ $95;
$98 = ((($$05775)) + 2|0);
HEAP8[$92>>0] = $97;
HEAP8[$29>>0] = $94;
$99 = ((($$06374)) + 3|0);
$100 = HEAP8[$93>>0]|0;
$101 = HEAP8[$31>>0]|0;
$102 = HEAP8[$30>>0]|0;
$103 = $102 ^ $101;
$104 = ((($$05775)) + 3|0);
HEAP8[$98>>0] = $103;
HEAP8[$31>>0] = $100;
$105 = ((($$06374)) + 4|0);
$106 = HEAP8[$99>>0]|0;
$107 = HEAP8[$33>>0]|0;
$108 = HEAP8[$32>>0]|0;
$109 = $108 ^ $107;
$110 = ((($$05775)) + 4|0);
HEAP8[$104>>0] = $109;
HEAP8[$33>>0] = $106;
$111 = ((($$06374)) + 5|0);
$112 = HEAP8[$105>>0]|0;
$113 = HEAP8[$35>>0]|0;
$114 = HEAP8[$34>>0]|0;
$115 = $114 ^ $113;
$116 = ((($$05775)) + 5|0);
HEAP8[$110>>0] = $115;
HEAP8[$35>>0] = $112;
$117 = ((($$06374)) + 6|0);
$118 = HEAP8[$111>>0]|0;
$119 = HEAP8[$37>>0]|0;
$120 = HEAP8[$36>>0]|0;
$121 = $120 ^ $119;
$122 = ((($$05775)) + 6|0);
HEAP8[$116>>0] = $121;
HEAP8[$37>>0] = $118;
$123 = ((($$06374)) + 7|0);
$124 = HEAP8[$117>>0]|0;
$125 = HEAP8[$39>>0]|0;
$126 = HEAP8[$38>>0]|0;
$127 = $126 ^ $125;
$128 = ((($$05775)) + 7|0);
HEAP8[$122>>0] = $127;
HEAP8[$39>>0] = $124;
$129 = ((($$06374)) + 8|0);
$130 = HEAP8[$123>>0]|0;
$131 = HEAP8[$41>>0]|0;
$132 = HEAP8[$40>>0]|0;
$133 = $132 ^ $131;
$134 = ((($$05775)) + 8|0);
HEAP8[$128>>0] = $133;
HEAP8[$41>>0] = $130;
$135 = ((($$06374)) + 9|0);
$136 = HEAP8[$129>>0]|0;
$137 = HEAP8[$43>>0]|0;
$138 = HEAP8[$42>>0]|0;
$139 = $138 ^ $137;
$140 = ((($$05775)) + 9|0);
HEAP8[$134>>0] = $139;
HEAP8[$43>>0] = $136;
$141 = ((($$06374)) + 10|0);
$142 = HEAP8[$135>>0]|0;
$143 = HEAP8[$45>>0]|0;
$144 = HEAP8[$44>>0]|0;
$145 = $144 ^ $143;
$146 = ((($$05775)) + 10|0);
HEAP8[$140>>0] = $145;
HEAP8[$45>>0] = $142;
$147 = ((($$06374)) + 11|0);
$148 = HEAP8[$141>>0]|0;
$149 = HEAP8[$47>>0]|0;
$150 = HEAP8[$46>>0]|0;
$151 = $150 ^ $149;
$152 = ((($$05775)) + 11|0);
HEAP8[$146>>0] = $151;
HEAP8[$47>>0] = $148;
$153 = ((($$06374)) + 12|0);
$154 = HEAP8[$147>>0]|0;
$155 = HEAP8[$49>>0]|0;
$156 = HEAP8[$48>>0]|0;
$157 = $156 ^ $155;
$158 = ((($$05775)) + 12|0);
HEAP8[$152>>0] = $157;
HEAP8[$49>>0] = $154;
$159 = ((($$06374)) + 13|0);
$160 = HEAP8[$153>>0]|0;
$161 = HEAP8[$51>>0]|0;
$162 = HEAP8[$50>>0]|0;
$163 = $162 ^ $161;
$164 = ((($$05775)) + 13|0);
HEAP8[$158>>0] = $163;
HEAP8[$51>>0] = $160;
$165 = ((($$06374)) + 14|0);
$166 = HEAP8[$159>>0]|0;
$167 = HEAP8[$53>>0]|0;
$168 = HEAP8[$52>>0]|0;
$169 = $168 ^ $167;
$170 = ((($$05775)) + 14|0);
HEAP8[$164>>0] = $169;
HEAP8[$53>>0] = $166;
$171 = ((($$06374)) + 15|0);
$172 = HEAP8[$165>>0]|0;
$173 = HEAP8[$55>>0]|0;
$174 = HEAP8[$54>>0]|0;
$175 = $174 ^ $173;
$176 = ((($$05775)) + 15|0);
HEAP8[$170>>0] = $175;
HEAP8[$55>>0] = $172;
$177 = HEAP8[$171>>0]|0;
$178 = HEAP8[$57>>0]|0;
$179 = HEAP8[$56>>0]|0;
$180 = $179 ^ $178;
HEAP8[$176>>0] = $180;
HEAP8[$57>>0] = $177;
}
$181 = ((($$06374)) + 16|0);
$182 = ((($$05775)) + 16|0);
$183 = (($$076) + -1)|0;
$184 = ($183|0)==(0);
if ($184) {
break;
} else {
$$05775 = $182;$$06374 = $181;$$076 = $183;
}
}
$185 = $5;
$186 = $185;
HEAP32[$186>>2] = 0;
$187 = (($185) + 4)|0;
$188 = $187;
HEAP32[$188>>2] = 0;
$189 = ((($5)) + 8|0);
$190 = $189;
$191 = $190;
HEAP32[$191>>2] = 0;
$192 = (($190) + 4)|0;
$193 = $192;
HEAP32[$193>>2] = 0;
$194 = ($58|0)==(0);
if ($194) {
STACKTOP = sp;return;
}
$195 = (($58) + 16)|0;
___gcry_burn_stack($195);
STACKTOP = sp;return;
}
function __gcry_aes_cfb_dec($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$02831 = 0, $$02930 = 0, $$032 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
var $133 = 0, $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0;
var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($0)) + 496|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0|0);
if (!($7)) {
FUNCTION_TABLE_v[$6 & 127]();
}
$8 = ((($0)) + 488|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($4|0)==(0);
if ($10) {
return;
}
$11 = $1;
$12 = ((($1)) + 4|0);
$13 = ((($1)) + 8|0);
$14 = ((($1)) + 12|0);
$15 = ((($1)) + 1|0);
$16 = ((($1)) + 2|0);
$17 = ((($1)) + 3|0);
$18 = ((($1)) + 5|0);
$19 = ((($1)) + 6|0);
$20 = ((($1)) + 7|0);
$21 = ((($1)) + 9|0);
$22 = ((($1)) + 10|0);
$23 = ((($1)) + 11|0);
$24 = ((($1)) + 13|0);
$25 = ((($1)) + 14|0);
$26 = ((($1)) + 15|0);
$$02831 = $3;$$02930 = $2;$$032 = $4;
while(1) {
$27 = (FUNCTION_TABLE_iiii[$9 & 127]($0,$1,$1)|0);
$28 = $$02831;
$29 = $$02930;
$30 = $29 | $11;
$31 = $30 | $28;
$32 = $31 & 3;
$33 = ($32|0)==(0);
if ($33) {
$34 = ((($$02831)) + 4|0);
$35 = HEAP32[$$02831>>2]|0;
$36 = HEAP32[$1>>2]|0;
$37 = $36 ^ $35;
$38 = ((($$02930)) + 4|0);
HEAP32[$$02930>>2] = $37;
HEAP32[$1>>2] = $35;
$39 = ((($$02831)) + 8|0);
$40 = HEAP32[$34>>2]|0;
$41 = HEAP32[$12>>2]|0;
$42 = $41 ^ $40;
$43 = ((($$02930)) + 8|0);
HEAP32[$38>>2] = $42;
HEAP32[$12>>2] = $40;
$44 = ((($$02831)) + 12|0);
$45 = HEAP32[$39>>2]|0;
$46 = HEAP32[$13>>2]|0;
$47 = $46 ^ $45;
$48 = ((($$02930)) + 12|0);
HEAP32[$43>>2] = $47;
HEAP32[$13>>2] = $45;
$49 = HEAP32[$44>>2]|0;
$50 = HEAP32[$14>>2]|0;
$51 = $50 ^ $49;
HEAP32[$48>>2] = $51;
HEAP32[$14>>2] = $49;
} else {
$52 = ((($$02831)) + 1|0);
$53 = HEAP8[$$02831>>0]|0;
$54 = HEAP8[$1>>0]|0;
$55 = $54 ^ $53;
$56 = ((($$02930)) + 1|0);
HEAP8[$$02930>>0] = $55;
HEAP8[$1>>0] = $53;
$57 = ((($$02831)) + 2|0);
$58 = HEAP8[$52>>0]|0;
$59 = HEAP8[$15>>0]|0;
$60 = $59 ^ $58;
$61 = ((($$02930)) + 2|0);
HEAP8[$56>>0] = $60;
HEAP8[$15>>0] = $58;
$62 = ((($$02831)) + 3|0);
$63 = HEAP8[$57>>0]|0;
$64 = HEAP8[$16>>0]|0;
$65 = $64 ^ $63;
$66 = ((($$02930)) + 3|0);
HEAP8[$61>>0] = $65;
HEAP8[$16>>0] = $63;
$67 = ((($$02831)) + 4|0);
$68 = HEAP8[$62>>0]|0;
$69 = HEAP8[$17>>0]|0;
$70 = $69 ^ $68;
$71 = ((($$02930)) + 4|0);
HEAP8[$66>>0] = $70;
HEAP8[$17>>0] = $68;
$72 = ((($$02831)) + 5|0);
$73 = HEAP8[$67>>0]|0;
$74 = HEAP8[$12>>0]|0;
$75 = $74 ^ $73;
$76 = ((($$02930)) + 5|0);
HEAP8[$71>>0] = $75;
HEAP8[$12>>0] = $73;
$77 = ((($$02831)) + 6|0);
$78 = HEAP8[$72>>0]|0;
$79 = HEAP8[$18>>0]|0;
$80 = $79 ^ $78;
$81 = ((($$02930)) + 6|0);
HEAP8[$76>>0] = $80;
HEAP8[$18>>0] = $78;
$82 = ((($$02831)) + 7|0);
$83 = HEAP8[$77>>0]|0;
$84 = HEAP8[$19>>0]|0;
$85 = $84 ^ $83;
$86 = ((($$02930)) + 7|0);
HEAP8[$81>>0] = $85;
HEAP8[$19>>0] = $83;
$87 = ((($$02831)) + 8|0);
$88 = HEAP8[$82>>0]|0;
$89 = HEAP8[$20>>0]|0;
$90 = $89 ^ $88;
$91 = ((($$02930)) + 8|0);
HEAP8[$86>>0] = $90;
HEAP8[$20>>0] = $88;
$92 = ((($$02831)) + 9|0);
$93 = HEAP8[$87>>0]|0;
$94 = HEAP8[$13>>0]|0;
$95 = $94 ^ $93;
$96 = ((($$02930)) + 9|0);
HEAP8[$91>>0] = $95;
HEAP8[$13>>0] = $93;
$97 = ((($$02831)) + 10|0);
$98 = HEAP8[$92>>0]|0;
$99 = HEAP8[$21>>0]|0;
$100 = $99 ^ $98;
$101 = ((($$02930)) + 10|0);
HEAP8[$96>>0] = $100;
HEAP8[$21>>0] = $98;
$102 = ((($$02831)) + 11|0);
$103 = HEAP8[$97>>0]|0;
$104 = HEAP8[$22>>0]|0;
$105 = $104 ^ $103;
$106 = ((($$02930)) + 11|0);
HEAP8[$101>>0] = $105;
HEAP8[$22>>0] = $103;
$107 = ((($$02831)) + 12|0);
$108 = HEAP8[$102>>0]|0;
$109 = HEAP8[$23>>0]|0;
$110 = $109 ^ $108;
$111 = ((($$02930)) + 12|0);
HEAP8[$106>>0] = $110;
HEAP8[$23>>0] = $108;
$112 = ((($$02831)) + 13|0);
$113 = HEAP8[$107>>0]|0;
$114 = HEAP8[$14>>0]|0;
$115 = $114 ^ $113;
$116 = ((($$02930)) + 13|0);
HEAP8[$111>>0] = $115;
HEAP8[$14>>0] = $113;
$117 = ((($$02831)) + 14|0);
$118 = HEAP8[$112>>0]|0;
$119 = HEAP8[$24>>0]|0;
$120 = $119 ^ $118;
$121 = ((($$02930)) + 14|0);
HEAP8[$116>>0] = $120;
HEAP8[$24>>0] = $118;
$122 = ((($$02831)) + 15|0);
$123 = HEAP8[$117>>0]|0;
$124 = HEAP8[$25>>0]|0;
$125 = $124 ^ $123;
$126 = ((($$02930)) + 15|0);
HEAP8[$121>>0] = $125;
HEAP8[$25>>0] = $123;
$127 = HEAP8[$122>>0]|0;
$128 = HEAP8[$26>>0]|0;
$129 = $128 ^ $127;
HEAP8[$126>>0] = $129;
HEAP8[$26>>0] = $127;
}
$130 = ((($$02930)) + 16|0);
$131 = ((($$02831)) + 16|0);
$132 = (($$032) + -1)|0;
$133 = ($132|0)==(0);
if ($133) {
break;
} else {
$$02831 = $131;$$02930 = $130;$$032 = $132;
}
}
$134 = ($27|0)==(0);
if ($134) {
return;
}
$135 = (($27) + 16)|0;
___gcry_burn_stack($135);
return;
}
function _do_encrypt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa$i = 0, $$01$i = 0, $$sroa$045$0$lcssa$i = 0, $$sroa$045$05$i = 0, $$sroa$116$0$lcssa$i = 0, $$sroa$116$02$i = 0, $$sroa$48$0$lcssa$i = 0, $$sroa$48$04$i = 0, $$sroa$86$0$lcssa$i = 0, $$sroa$86$03$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0;
var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0;
var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0;
var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0;
var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0;
var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0;
var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0;
var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0;
var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0;
var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0;
var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0;
var $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0;
var $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0;
var $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0;
var $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0;
var $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0;
var $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0;
var $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0;
var $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0;
var $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0;
var $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0;
var $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0;
var $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0;
var $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0;
var $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0;
var $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0;
var $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0;
var $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 480|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($2)) + 3|0);
$6 = HEAP8[$5>>0]|0;
$7 = $6&255;
$8 = $7 << 24;
$9 = ((($2)) + 2|0);
$10 = HEAP8[$9>>0]|0;
$11 = $10&255;
$12 = $11 << 16;
$13 = $12 | $8;
$14 = ((($2)) + 1|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15&255;
$17 = $16 << 8;
$18 = $13 | $17;
$19 = HEAP8[$2>>0]|0;
$20 = $19&255;
$21 = $18 | $20;
$22 = ((($2)) + 4|0);
$23 = ((($2)) + 7|0);
$24 = HEAP8[$23>>0]|0;
$25 = $24&255;
$26 = $25 << 24;
$27 = ((($2)) + 6|0);
$28 = HEAP8[$27>>0]|0;
$29 = $28&255;
$30 = $29 << 16;
$31 = $30 | $26;
$32 = ((($2)) + 5|0);
$33 = HEAP8[$32>>0]|0;
$34 = $33&255;
$35 = $34 << 8;
$36 = $31 | $35;
$37 = HEAP8[$22>>0]|0;
$38 = $37&255;
$39 = $36 | $38;
$40 = ((($2)) + 8|0);
$41 = ((($2)) + 11|0);
$42 = HEAP8[$41>>0]|0;
$43 = $42&255;
$44 = $43 << 24;
$45 = ((($2)) + 10|0);
$46 = HEAP8[$45>>0]|0;
$47 = $46&255;
$48 = $47 << 16;
$49 = $48 | $44;
$50 = ((($2)) + 9|0);
$51 = HEAP8[$50>>0]|0;
$52 = $51&255;
$53 = $52 << 8;
$54 = $49 | $53;
$55 = HEAP8[$40>>0]|0;
$56 = $55&255;
$57 = $54 | $56;
$58 = ((($2)) + 12|0);
$59 = ((($2)) + 15|0);
$60 = HEAP8[$59>>0]|0;
$61 = $60&255;
$62 = $61 << 24;
$63 = ((($2)) + 14|0);
$64 = HEAP8[$63>>0]|0;
$65 = $64&255;
$66 = $65 << 16;
$67 = $66 | $62;
$68 = ((($2)) + 13|0);
$69 = HEAP8[$68>>0]|0;
$70 = $69&255;
$71 = $70 << 8;
$72 = $67 | $71;
$73 = HEAP8[$58>>0]|0;
$74 = $73&255;
$75 = $72 | $74;
$76 = HEAP32[$0>>2]|0;
$77 = $76 ^ $21;
$78 = ((($0)) + 4|0);
$79 = HEAP32[$78>>2]|0;
$80 = $79 ^ $39;
$81 = ((($0)) + 8|0);
$82 = HEAP32[$81>>2]|0;
$83 = $82 ^ $57;
$84 = ((($0)) + 12|0);
$85 = HEAP32[$84>>2]|0;
$86 = $85 ^ $75;
$87 = $77 & 255;
$88 = (5216 + ($87<<2)|0);
$89 = HEAP32[$88>>2]|0;
$90 = $77 >>> 8;
$91 = $90 & 255;
$92 = (5216 + ($91<<2)|0);
$93 = HEAP32[$92>>2]|0;
$94 = $93 << 8;
$95 = $93 >>> 24;
$96 = $94 | $95;
$97 = $77 >>> 16;
$98 = $97 & 255;
$99 = (5216 + ($98<<2)|0);
$100 = HEAP32[$99>>2]|0;
$101 = $100 << 16;
$102 = $100 >>> 16;
$103 = $101 | $102;
$104 = $77 >>> 24;
$105 = (5216 + ($104<<2)|0);
$106 = HEAP32[$105>>2]|0;
$107 = $106 << 24;
$108 = $106 >>> 8;
$109 = $107 | $108;
$110 = ((($0)) + 16|0);
$111 = HEAP32[$110>>2]|0;
$112 = $111 ^ $89;
$113 = $80 & 255;
$114 = (5216 + ($113<<2)|0);
$115 = HEAP32[$114>>2]|0;
$116 = $109 ^ $115;
$117 = $80 >>> 8;
$118 = $117 & 255;
$119 = (5216 + ($118<<2)|0);
$120 = HEAP32[$119>>2]|0;
$121 = $120 << 8;
$122 = $120 >>> 24;
$123 = $121 | $122;
$124 = $112 ^ $123;
$125 = $80 >>> 16;
$126 = $125 & 255;
$127 = (5216 + ($126<<2)|0);
$128 = HEAP32[$127>>2]|0;
$129 = $128 << 16;
$130 = $128 >>> 16;
$131 = $129 | $130;
$132 = $131 ^ $96;
$133 = $80 >>> 24;
$134 = (5216 + ($133<<2)|0);
$135 = HEAP32[$134>>2]|0;
$136 = $135 << 24;
$137 = $135 >>> 8;
$138 = $136 | $137;
$139 = $138 ^ $103;
$140 = ((($0)) + 20|0);
$141 = HEAP32[$140>>2]|0;
$142 = $116 ^ $141;
$143 = $83 & 255;
$144 = (5216 + ($143<<2)|0);
$145 = HEAP32[$144>>2]|0;
$146 = $139 ^ $145;
$147 = $83 >>> 8;
$148 = $147 & 255;
$149 = (5216 + ($148<<2)|0);
$150 = HEAP32[$149>>2]|0;
$151 = $150 << 8;
$152 = $150 >>> 24;
$153 = $151 | $152;
$154 = $142 ^ $153;
$155 = $83 >>> 16;
$156 = $155 & 255;
$157 = (5216 + ($156<<2)|0);
$158 = HEAP32[$157>>2]|0;
$159 = $158 << 16;
$160 = $158 >>> 16;
$161 = $159 | $160;
$162 = $124 ^ $161;
$163 = $83 >>> 24;
$164 = (5216 + ($163<<2)|0);
$165 = HEAP32[$164>>2]|0;
$166 = $165 << 24;
$167 = $165 >>> 8;
$168 = $166 | $167;
$169 = $132 ^ $168;
$170 = ((($0)) + 24|0);
$171 = HEAP32[$170>>2]|0;
$172 = $146 ^ $171;
$173 = $86 & 255;
$174 = (5216 + ($173<<2)|0);
$175 = HEAP32[$174>>2]|0;
$176 = $169 ^ $175;
$177 = $86 >>> 8;
$178 = $177 & 255;
$179 = (5216 + ($178<<2)|0);
$180 = HEAP32[$179>>2]|0;
$181 = $180 << 8;
$182 = $180 >>> 24;
$183 = $181 | $182;
$184 = $172 ^ $183;
$185 = $86 >>> 16;
$186 = $185 & 255;
$187 = (5216 + ($186<<2)|0);
$188 = HEAP32[$187>>2]|0;
$189 = $188 << 16;
$190 = $188 >>> 16;
$191 = $189 | $190;
$192 = $154 ^ $191;
$193 = $86 >>> 24;
$194 = (5216 + ($193<<2)|0);
$195 = HEAP32[$194>>2]|0;
$196 = $195 << 24;
$197 = $195 >>> 8;
$198 = $196 | $197;
$199 = $162 ^ $198;
$200 = ((($0)) + 28|0);
$201 = HEAP32[$200>>2]|0;
$202 = $176 ^ $201;
$203 = ($4|0)>(2);
if ($203) {
$$01$i = 2;$$sroa$045$05$i = $199;$$sroa$116$02$i = $202;$$sroa$48$04$i = $192;$$sroa$86$03$i = $184;
while(1) {
$204 = $$sroa$045$05$i & 255;
$205 = (5216 + ($204<<2)|0);
$206 = HEAP32[$205>>2]|0;
$207 = $$sroa$045$05$i >>> 8;
$208 = $207 & 255;
$209 = (5216 + ($208<<2)|0);
$210 = HEAP32[$209>>2]|0;
$211 = $210 << 8;
$212 = $210 >>> 24;
$213 = $211 | $212;
$214 = $$sroa$045$05$i >>> 16;
$215 = $214 & 255;
$216 = (5216 + ($215<<2)|0);
$217 = HEAP32[$216>>2]|0;
$218 = $217 << 16;
$219 = $217 >>> 16;
$220 = $218 | $219;
$221 = $$sroa$045$05$i >>> 24;
$222 = (5216 + ($221<<2)|0);
$223 = HEAP32[$222>>2]|0;
$224 = $223 << 24;
$225 = $223 >>> 8;
$226 = $224 | $225;
$227 = (($0) + ($$01$i<<4)|0);
$228 = HEAP32[$227>>2]|0;
$229 = $228 ^ $206;
$230 = $$sroa$48$04$i & 255;
$231 = (5216 + ($230<<2)|0);
$232 = HEAP32[$231>>2]|0;
$233 = $226 ^ $232;
$234 = $$sroa$48$04$i >>> 8;
$235 = $234 & 255;
$236 = (5216 + ($235<<2)|0);
$237 = HEAP32[$236>>2]|0;
$238 = $237 << 8;
$239 = $237 >>> 24;
$240 = $238 | $239;
$241 = $229 ^ $240;
$242 = $$sroa$48$04$i >>> 16;
$243 = $242 & 255;
$244 = (5216 + ($243<<2)|0);
$245 = HEAP32[$244>>2]|0;
$246 = $245 << 16;
$247 = $245 >>> 16;
$248 = $246 | $247;
$249 = $248 ^ $213;
$250 = $$sroa$48$04$i >>> 24;
$251 = (5216 + ($250<<2)|0);
$252 = HEAP32[$251>>2]|0;
$253 = $252 << 24;
$254 = $252 >>> 8;
$255 = $253 | $254;
$256 = $255 ^ $220;
$257 = (((($0) + ($$01$i<<4)|0)) + 4|0);
$258 = HEAP32[$257>>2]|0;
$259 = $233 ^ $258;
$260 = $$sroa$86$03$i & 255;
$261 = (5216 + ($260<<2)|0);
$262 = HEAP32[$261>>2]|0;
$263 = $256 ^ $262;
$264 = $$sroa$86$03$i >>> 8;
$265 = $264 & 255;
$266 = (5216 + ($265<<2)|0);
$267 = HEAP32[$266>>2]|0;
$268 = $267 << 8;
$269 = $267 >>> 24;
$270 = $268 | $269;
$271 = $259 ^ $270;
$272 = $$sroa$86$03$i >>> 16;
$273 = $272 & 255;
$274 = (5216 + ($273<<2)|0);
$275 = HEAP32[$274>>2]|0;
$276 = $275 << 16;
$277 = $275 >>> 16;
$278 = $276 | $277;
$279 = $241 ^ $278;
$280 = $$sroa$86$03$i >>> 24;
$281 = (5216 + ($280<<2)|0);
$282 = HEAP32[$281>>2]|0;
$283 = $282 << 24;
$284 = $282 >>> 8;
$285 = $283 | $284;
$286 = $249 ^ $285;
$287 = (((($0) + ($$01$i<<4)|0)) + 8|0);
$288 = HEAP32[$287>>2]|0;
$289 = $263 ^ $288;
$290 = $$sroa$116$02$i & 255;
$291 = (5216 + ($290<<2)|0);
$292 = HEAP32[$291>>2]|0;
$293 = $286 ^ $292;
$294 = $$sroa$116$02$i >>> 8;
$295 = $294 & 255;
$296 = (5216 + ($295<<2)|0);
$297 = HEAP32[$296>>2]|0;
$298 = $297 << 8;
$299 = $297 >>> 24;
$300 = $298 | $299;
$301 = $289 ^ $300;
$302 = $$sroa$116$02$i >>> 16;
$303 = $302 & 255;
$304 = (5216 + ($303<<2)|0);
$305 = HEAP32[$304>>2]|0;
$306 = $305 << 16;
$307 = $305 >>> 16;
$308 = $306 | $307;
$309 = $271 ^ $308;
$310 = $$sroa$116$02$i >>> 24;
$311 = (5216 + ($310<<2)|0);
$312 = HEAP32[$311>>2]|0;
$313 = $312 << 24;
$314 = $312 >>> 8;
$315 = $313 | $314;
$316 = $279 ^ $315;
$317 = (((($0) + ($$01$i<<4)|0)) + 12|0);
$318 = HEAP32[$317>>2]|0;
$319 = $293 ^ $318;
$320 = $$01$i | 1;
$321 = $316 & 255;
$322 = (5216 + ($321<<2)|0);
$323 = HEAP32[$322>>2]|0;
$324 = $316 >>> 8;
$325 = $324 & 255;
$326 = (5216 + ($325<<2)|0);
$327 = HEAP32[$326>>2]|0;
$328 = $327 << 8;
$329 = $327 >>> 24;
$330 = $328 | $329;
$331 = $316 >>> 16;
$332 = $331 & 255;
$333 = (5216 + ($332<<2)|0);
$334 = HEAP32[$333>>2]|0;
$335 = $334 << 16;
$336 = $334 >>> 16;
$337 = $335 | $336;
$338 = $316 >>> 24;
$339 = (5216 + ($338<<2)|0);
$340 = HEAP32[$339>>2]|0;
$341 = $340 << 24;
$342 = $340 >>> 8;
$343 = $341 | $342;
$344 = (($0) + ($320<<4)|0);
$345 = HEAP32[$344>>2]|0;
$346 = $345 ^ $323;
$347 = $309 & 255;
$348 = (5216 + ($347<<2)|0);
$349 = HEAP32[$348>>2]|0;
$350 = $343 ^ $349;
$351 = $309 >>> 8;
$352 = $351 & 255;
$353 = (5216 + ($352<<2)|0);
$354 = HEAP32[$353>>2]|0;
$355 = $354 << 8;
$356 = $354 >>> 24;
$357 = $355 | $356;
$358 = $346 ^ $357;
$359 = $309 >>> 16;
$360 = $359 & 255;
$361 = (5216 + ($360<<2)|0);
$362 = HEAP32[$361>>2]|0;
$363 = $362 << 16;
$364 = $362 >>> 16;
$365 = $363 | $364;
$366 = $365 ^ $330;
$367 = $309 >>> 24;
$368 = (5216 + ($367<<2)|0);
$369 = HEAP32[$368>>2]|0;
$370 = $369 << 24;
$371 = $369 >>> 8;
$372 = $370 | $371;
$373 = $372 ^ $337;
$374 = (((($0) + ($320<<4)|0)) + 4|0);
$375 = HEAP32[$374>>2]|0;
$376 = $350 ^ $375;
$377 = $301 & 255;
$378 = (5216 + ($377<<2)|0);
$379 = HEAP32[$378>>2]|0;
$380 = $373 ^ $379;
$381 = $301 >>> 8;
$382 = $381 & 255;
$383 = (5216 + ($382<<2)|0);
$384 = HEAP32[$383>>2]|0;
$385 = $384 << 8;
$386 = $384 >>> 24;
$387 = $385 | $386;
$388 = $376 ^ $387;
$389 = $301 >>> 16;
$390 = $389 & 255;
$391 = (5216 + ($390<<2)|0);
$392 = HEAP32[$391>>2]|0;
$393 = $392 << 16;
$394 = $392 >>> 16;
$395 = $393 | $394;
$396 = $358 ^ $395;
$397 = $301 >>> 24;
$398 = (5216 + ($397<<2)|0);
$399 = HEAP32[$398>>2]|0;
$400 = $399 << 24;
$401 = $399 >>> 8;
$402 = $400 | $401;
$403 = $366 ^ $402;
$404 = (((($0) + ($320<<4)|0)) + 8|0);
$405 = HEAP32[$404>>2]|0;
$406 = $380 ^ $405;
$407 = $319 & 255;
$408 = (5216 + ($407<<2)|0);
$409 = HEAP32[$408>>2]|0;
$410 = $403 ^ $409;
$411 = $319 >>> 8;
$412 = $411 & 255;
$413 = (5216 + ($412<<2)|0);
$414 = HEAP32[$413>>2]|0;
$415 = $414 << 8;
$416 = $414 >>> 24;
$417 = $415 | $416;
$418 = $406 ^ $417;
$419 = $319 >>> 16;
$420 = $419 & 255;
$421 = (5216 + ($420<<2)|0);
$422 = HEAP32[$421>>2]|0;
$423 = $422 << 16;
$424 = $422 >>> 16;
$425 = $423 | $424;
$426 = $388 ^ $425;
$427 = $319 >>> 24;
$428 = (5216 + ($427<<2)|0);
$429 = HEAP32[$428>>2]|0;
$430 = $429 << 24;
$431 = $429 >>> 8;
$432 = $430 | $431;
$433 = $396 ^ $432;
$434 = (((($0) + ($320<<4)|0)) + 12|0);
$435 = HEAP32[$434>>2]|0;
$436 = $410 ^ $435;
$437 = (($$01$i) + 2)|0;
$438 = ($437|0)<($4|0);
if ($438) {
$$01$i = $437;$$sroa$045$05$i = $433;$$sroa$116$02$i = $436;$$sroa$48$04$i = $426;$$sroa$86$03$i = $418;
} else {
break;
}
}
$439 = (($4) + 1)|0;
$440 = $439 & -2;
$$0$lcssa$i = $440;$$sroa$045$0$lcssa$i = $433;$$sroa$116$0$lcssa$i = $436;$$sroa$48$0$lcssa$i = $426;$$sroa$86$0$lcssa$i = $418;
} else {
$$0$lcssa$i = 2;$$sroa$045$0$lcssa$i = $199;$$sroa$116$0$lcssa$i = $202;$$sroa$48$0$lcssa$i = $192;$$sroa$86$0$lcssa$i = $184;
}
$441 = $$sroa$045$0$lcssa$i << 2;
$442 = $441 & 1020;
$443 = ((5217) + ($442)|0);
$444 = HEAP8[$443>>0]|0;
$445 = $444&255;
$446 = $$sroa$045$0$lcssa$i >>> 6;
$447 = $446 & 1020;
$448 = ((5217) + ($447)|0);
$449 = HEAP8[$448>>0]|0;
$450 = $449&255;
$451 = $450 << 8;
$452 = $$sroa$045$0$lcssa$i >>> 14;
$453 = $452 & 1020;
$454 = ((5217) + ($453)|0);
$455 = HEAP8[$454>>0]|0;
$456 = $455&255;
$457 = $456 << 16;
$458 = $$sroa$045$0$lcssa$i >>> 24;
$459 = $458 << 2;
$460 = ((5217) + ($459)|0);
$461 = HEAP8[$460>>0]|0;
$462 = $461&255;
$463 = $462 << 24;
$464 = (($0) + ($$0$lcssa$i<<4)|0);
$465 = HEAP32[$464>>2]|0;
$466 = $465 ^ $445;
$467 = $$sroa$48$0$lcssa$i << 2;
$468 = $467 & 1020;
$469 = ((5217) + ($468)|0);
$470 = HEAP8[$469>>0]|0;
$471 = $470&255;
$472 = $463 | $471;
$473 = $$sroa$48$0$lcssa$i >>> 6;
$474 = $473 & 1020;
$475 = ((5217) + ($474)|0);
$476 = HEAP8[$475>>0]|0;
$477 = $476&255;
$478 = $477 << 8;
$479 = $478 ^ $465;
$480 = $$sroa$48$0$lcssa$i >>> 14;
$481 = $480 & 1020;
$482 = ((5217) + ($481)|0);
$483 = HEAP8[$482>>0]|0;
$484 = $483&255;
$485 = $484 << 16;
$486 = $485 | $451;
$487 = $$sroa$48$0$lcssa$i >>> 24;
$488 = $487 << 2;
$489 = ((5217) + ($488)|0);
$490 = HEAP8[$489>>0]|0;
$491 = $490&255;
$492 = $491 << 24;
$493 = $492 | $457;
$494 = (((($0) + ($$0$lcssa$i<<4)|0)) + 4|0);
$495 = HEAP32[$494>>2]|0;
$496 = $495 ^ $472;
$497 = $$sroa$86$0$lcssa$i << 2;
$498 = $497 & 1020;
$499 = ((5217) + ($498)|0);
$500 = HEAP8[$499>>0]|0;
$501 = $500&255;
$502 = $493 | $501;
$503 = $$sroa$86$0$lcssa$i >>> 6;
$504 = $503 & 1020;
$505 = ((5217) + ($504)|0);
$506 = HEAP8[$505>>0]|0;
$507 = $506&255;
$508 = $507 << 8;
$509 = $508 ^ $495;
$510 = $$sroa$86$0$lcssa$i >>> 14;
$511 = $510 & 1020;
$512 = ((5217) + ($511)|0);
$513 = HEAP8[$512>>0]|0;
$514 = $513&255;
$515 = $514 << 16;
$516 = $515 ^ $465;
$517 = $$sroa$86$0$lcssa$i >>> 24;
$518 = $517 << 2;
$519 = ((5217) + ($518)|0);
$520 = HEAP8[$519>>0]|0;
$521 = $520&255;
$522 = $521 << 24;
$523 = $486 | $522;
$524 = (((($0) + ($$0$lcssa$i<<4)|0)) + 8|0);
$525 = HEAP32[$524>>2]|0;
$526 = $525 ^ $502;
$527 = $$sroa$116$0$lcssa$i << 2;
$528 = $527 & 1020;
$529 = ((5217) + ($528)|0);
$530 = HEAP8[$529>>0]|0;
$531 = $530&255;
$532 = $523 | $531;
$533 = $$sroa$116$0$lcssa$i >>> 6;
$534 = $533 & 1020;
$535 = ((5217) + ($534)|0);
$536 = HEAP8[$535>>0]|0;
$537 = $536&255;
$538 = $537 << 8;
$539 = $538 ^ $526;
$540 = $$sroa$116$0$lcssa$i >>> 14;
$541 = $540 & 1020;
$542 = ((5217) + ($541)|0);
$543 = HEAP8[$542>>0]|0;
$544 = $543&255;
$545 = $544 << 16;
$546 = $545 ^ $495;
$547 = $$sroa$116$0$lcssa$i >>> 24;
$548 = $547 << 2;
$549 = ((5217) + ($548)|0);
$550 = HEAP8[$549>>0]|0;
$551 = $550&255;
$552 = $551 << 24;
$553 = $552 ^ $465;
$554 = (((($0) + ($$0$lcssa$i<<4)|0)) + 12|0);
$555 = HEAP32[$554>>2]|0;
$556 = $555 ^ $532;
$557 = $553 >>> 24;
$558 = $557&255;
$559 = ((($1)) + 3|0);
HEAP8[$559>>0] = $558;
$560 = $516 >>> 16;
$561 = $560&255;
$562 = ((($1)) + 2|0);
HEAP8[$562>>0] = $561;
$563 = $479 >>> 8;
$564 = $563&255;
$565 = ((($1)) + 1|0);
HEAP8[$565>>0] = $564;
$566 = $466&255;
HEAP8[$1>>0] = $566;
$567 = ((($1)) + 4|0);
$568 = $496 >>> 24;
$569 = $568&255;
$570 = ((($1)) + 7|0);
HEAP8[$570>>0] = $569;
$571 = $546 >>> 16;
$572 = $571&255;
$573 = ((($1)) + 6|0);
HEAP8[$573>>0] = $572;
$574 = $509 >>> 8;
$575 = $574&255;
$576 = ((($1)) + 5|0);
HEAP8[$576>>0] = $575;
$577 = $496&255;
HEAP8[$567>>0] = $577;
$578 = ((($1)) + 8|0);
$579 = $526 >>> 24;
$580 = $579&255;
$581 = ((($1)) + 11|0);
HEAP8[$581>>0] = $580;
$582 = $526 >>> 16;
$583 = $582&255;
$584 = ((($1)) + 10|0);
HEAP8[$584>>0] = $583;
$585 = $539 >>> 8;
$586 = $585&255;
$587 = ((($1)) + 9|0);
HEAP8[$587>>0] = $586;
$588 = $526&255;
HEAP8[$578>>0] = $588;
$589 = ((($1)) + 12|0);
$590 = $556 >>> 24;
$591 = $590&255;
$592 = ((($1)) + 15|0);
HEAP8[$592>>0] = $591;
$593 = $556 >>> 16;
$594 = $593&255;
$595 = ((($1)) + 14|0);
HEAP8[$595>>0] = $594;
$596 = $556 >>> 8;
$597 = $596&255;
$598 = ((($1)) + 13|0);
HEAP8[$598>>0] = $597;
$599 = $556&255;
HEAP8[$589>>0] = $599;
return 64;
}
function _do_decrypt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$i = 0, $$0$in$i = 0, $$sink = 0, $$sink15 = 0, $$sroa$045$0$i = 0, $$sroa$44$0$i = 0, $$sroa$82$0$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0;
var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0;
var $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0;
var $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0;
var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0;
var $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0;
var $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0;
var $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0;
var $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0;
var $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0;
var $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0;
var $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0;
var $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0;
var $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0;
var $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0;
var $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0;
var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0;
var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0;
var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0;
var $563 = 0, $564 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 480|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($2)) + 3|0);
$6 = HEAP8[$5>>0]|0;
$7 = $6&255;
$8 = $7 << 24;
$9 = ((($2)) + 2|0);
$10 = HEAP8[$9>>0]|0;
$11 = $10&255;
$12 = $11 << 16;
$13 = $12 | $8;
$14 = ((($2)) + 1|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15&255;
$17 = $16 << 8;
$18 = $13 | $17;
$19 = HEAP8[$2>>0]|0;
$20 = $19&255;
$21 = $18 | $20;
$22 = ((($2)) + 4|0);
$23 = ((($2)) + 7|0);
$24 = HEAP8[$23>>0]|0;
$25 = $24&255;
$26 = $25 << 24;
$27 = ((($2)) + 6|0);
$28 = HEAP8[$27>>0]|0;
$29 = $28&255;
$30 = $29 << 16;
$31 = $30 | $26;
$32 = ((($2)) + 5|0);
$33 = HEAP8[$32>>0]|0;
$34 = $33&255;
$35 = $34 << 8;
$36 = $31 | $35;
$37 = HEAP8[$22>>0]|0;
$38 = $37&255;
$39 = $36 | $38;
$40 = ((($2)) + 8|0);
$41 = ((($2)) + 11|0);
$42 = HEAP8[$41>>0]|0;
$43 = $42&255;
$44 = $43 << 24;
$45 = ((($2)) + 10|0);
$46 = HEAP8[$45>>0]|0;
$47 = $46&255;
$48 = $47 << 16;
$49 = $48 | $44;
$50 = ((($2)) + 9|0);
$51 = HEAP8[$50>>0]|0;
$52 = $51&255;
$53 = $52 << 8;
$54 = $49 | $53;
$55 = HEAP8[$40>>0]|0;
$56 = $55&255;
$57 = $54 | $56;
$58 = ((($2)) + 12|0);
$59 = ((($2)) + 15|0);
$60 = HEAP8[$59>>0]|0;
$61 = $60&255;
$62 = $61 << 24;
$63 = ((($2)) + 14|0);
$64 = HEAP8[$63>>0]|0;
$65 = $64&255;
$66 = $65 << 16;
$67 = $66 | $62;
$68 = ((($2)) + 13|0);
$69 = HEAP8[$68>>0]|0;
$70 = $69&255;
$71 = $70 << 8;
$72 = $67 | $71;
$73 = HEAP8[$58>>0]|0;
$74 = $73&255;
$75 = $72 | $74;
$76 = ((($0)) + 240|0);
$77 = (($76) + ($4<<4)|0);
$78 = HEAP32[$77>>2]|0;
$79 = $78 ^ $21;
$80 = (((($76) + ($4<<4)|0)) + 4|0);
$81 = HEAP32[$80>>2]|0;
$82 = $81 ^ $39;
$83 = (((($76) + ($4<<4)|0)) + 8|0);
$84 = HEAP32[$83>>2]|0;
$85 = $84 ^ $57;
$86 = (((($76) + ($4<<4)|0)) + 12|0);
$87 = HEAP32[$86>>2]|0;
$$0$in$i = $4;$$sink = $87;$$sink15 = $75;$$sroa$045$0$i = $79;$$sroa$44$0$i = $82;$$sroa$82$0$i = $85;
while(1) {
$88 = $$sink ^ $$sink15;
$$0$i = (($$0$in$i) + -1)|0;
$89 = ($$0$in$i|0)>(2);
$90 = $$sroa$045$0$i & 255;
$91 = (38052 + ($90<<2)|0);
$92 = HEAP32[$91>>2]|0;
$93 = $$sroa$045$0$i >>> 8;
$94 = $93 & 255;
$95 = (38052 + ($94<<2)|0);
$96 = HEAP32[$95>>2]|0;
$97 = $96 << 8;
$98 = $96 >>> 24;
$99 = $97 | $98;
$100 = $$sroa$045$0$i >>> 16;
$101 = $100 & 255;
$102 = (38052 + ($101<<2)|0);
$103 = HEAP32[$102>>2]|0;
$104 = $103 << 16;
$105 = $103 >>> 16;
$106 = $104 | $105;
$107 = $$sroa$045$0$i >>> 24;
$108 = (38052 + ($107<<2)|0);
$109 = HEAP32[$108>>2]|0;
$110 = $109 << 24;
$111 = $109 >>> 8;
$112 = $110 | $111;
if (!($89)) {
break;
}
$113 = (($76) + ($$0$i<<4)|0);
$114 = HEAP32[$113>>2]|0;
$115 = $114 ^ $92;
$116 = $$sroa$44$0$i & 255;
$117 = (38052 + ($116<<2)|0);
$118 = HEAP32[$117>>2]|0;
$119 = $118 ^ $99;
$120 = $$sroa$44$0$i >>> 8;
$121 = $120 & 255;
$122 = (38052 + ($121<<2)|0);
$123 = HEAP32[$122>>2]|0;
$124 = $123 << 8;
$125 = $123 >>> 24;
$126 = $124 | $125;
$127 = $126 ^ $106;
$128 = $$sroa$44$0$i >>> 16;
$129 = $128 & 255;
$130 = (38052 + ($129<<2)|0);
$131 = HEAP32[$130>>2]|0;
$132 = $131 << 16;
$133 = $131 >>> 16;
$134 = $132 | $133;
$135 = $134 ^ $112;
$136 = $$sroa$44$0$i >>> 24;
$137 = (38052 + ($136<<2)|0);
$138 = HEAP32[$137>>2]|0;
$139 = $138 << 24;
$140 = $138 >>> 8;
$141 = $139 | $140;
$142 = $115 ^ $141;
$143 = (((($76) + ($$0$i<<4)|0)) + 4|0);
$144 = HEAP32[$143>>2]|0;
$145 = $119 ^ $144;
$146 = $$sroa$82$0$i & 255;
$147 = (38052 + ($146<<2)|0);
$148 = HEAP32[$147>>2]|0;
$149 = $127 ^ $148;
$150 = $$sroa$82$0$i >>> 8;
$151 = $150 & 255;
$152 = (38052 + ($151<<2)|0);
$153 = HEAP32[$152>>2]|0;
$154 = $153 << 8;
$155 = $153 >>> 24;
$156 = $154 | $155;
$157 = $135 ^ $156;
$158 = $$sroa$82$0$i >>> 16;
$159 = $158 & 255;
$160 = (38052 + ($159<<2)|0);
$161 = HEAP32[$160>>2]|0;
$162 = $161 << 16;
$163 = $161 >>> 16;
$164 = $162 | $163;
$165 = $142 ^ $164;
$166 = $$sroa$82$0$i >>> 24;
$167 = (38052 + ($166<<2)|0);
$168 = HEAP32[$167>>2]|0;
$169 = $168 << 24;
$170 = $168 >>> 8;
$171 = $169 | $170;
$172 = $145 ^ $171;
$173 = (((($76) + ($$0$i<<4)|0)) + 8|0);
$174 = HEAP32[$173>>2]|0;
$175 = $149 ^ $174;
$176 = $88 & 255;
$177 = (38052 + ($176<<2)|0);
$178 = HEAP32[$177>>2]|0;
$179 = $157 ^ $178;
$180 = $88 >>> 8;
$181 = $180 & 255;
$182 = (38052 + ($181<<2)|0);
$183 = HEAP32[$182>>2]|0;
$184 = $183 << 8;
$185 = $183 >>> 24;
$186 = $184 | $185;
$187 = $165 ^ $186;
$188 = $88 >>> 16;
$189 = $188 & 255;
$190 = (38052 + ($189<<2)|0);
$191 = HEAP32[$190>>2]|0;
$192 = $191 << 16;
$193 = $191 >>> 16;
$194 = $192 | $193;
$195 = $172 ^ $194;
$196 = $88 >>> 24;
$197 = (38052 + ($196<<2)|0);
$198 = HEAP32[$197>>2]|0;
$199 = $198 << 24;
$200 = $198 >>> 8;
$201 = $199 | $200;
$202 = $175 ^ $201;
$203 = (((($76) + ($$0$i<<4)|0)) + 12|0);
$204 = HEAP32[$203>>2]|0;
$205 = $179 ^ $204;
$206 = (($$0$in$i) + -2)|0;
$207 = $187 & 255;
$208 = (38052 + ($207<<2)|0);
$209 = HEAP32[$208>>2]|0;
$210 = $187 >>> 8;
$211 = $210 & 255;
$212 = (38052 + ($211<<2)|0);
$213 = HEAP32[$212>>2]|0;
$214 = $213 << 8;
$215 = $213 >>> 24;
$216 = $214 | $215;
$217 = $187 >>> 16;
$218 = $217 & 255;
$219 = (38052 + ($218<<2)|0);
$220 = HEAP32[$219>>2]|0;
$221 = $220 << 16;
$222 = $220 >>> 16;
$223 = $221 | $222;
$224 = $187 >>> 24;
$225 = (38052 + ($224<<2)|0);
$226 = HEAP32[$225>>2]|0;
$227 = $226 << 24;
$228 = $226 >>> 8;
$229 = $227 | $228;
$230 = (($76) + ($206<<4)|0);
$231 = HEAP32[$230>>2]|0;
$232 = $231 ^ $209;
$233 = $195 & 255;
$234 = (38052 + ($233<<2)|0);
$235 = HEAP32[$234>>2]|0;
$236 = $235 ^ $216;
$237 = $195 >>> 8;
$238 = $237 & 255;
$239 = (38052 + ($238<<2)|0);
$240 = HEAP32[$239>>2]|0;
$241 = $240 << 8;
$242 = $240 >>> 24;
$243 = $241 | $242;
$244 = $243 ^ $223;
$245 = $195 >>> 16;
$246 = $245 & 255;
$247 = (38052 + ($246<<2)|0);
$248 = HEAP32[$247>>2]|0;
$249 = $248 << 16;
$250 = $248 >>> 16;
$251 = $249 | $250;
$252 = $251 ^ $229;
$253 = $195 >>> 24;
$254 = (38052 + ($253<<2)|0);
$255 = HEAP32[$254>>2]|0;
$256 = $255 << 24;
$257 = $255 >>> 8;
$258 = $256 | $257;
$259 = $232 ^ $258;
$260 = (((($76) + ($206<<4)|0)) + 4|0);
$261 = HEAP32[$260>>2]|0;
$262 = $236 ^ $261;
$263 = $202 & 255;
$264 = (38052 + ($263<<2)|0);
$265 = HEAP32[$264>>2]|0;
$266 = $244 ^ $265;
$267 = $202 >>> 8;
$268 = $267 & 255;
$269 = (38052 + ($268<<2)|0);
$270 = HEAP32[$269>>2]|0;
$271 = $270 << 8;
$272 = $270 >>> 24;
$273 = $271 | $272;
$274 = $252 ^ $273;
$275 = $202 >>> 16;
$276 = $275 & 255;
$277 = (38052 + ($276<<2)|0);
$278 = HEAP32[$277>>2]|0;
$279 = $278 << 16;
$280 = $278 >>> 16;
$281 = $279 | $280;
$282 = $259 ^ $281;
$283 = $202 >>> 24;
$284 = (38052 + ($283<<2)|0);
$285 = HEAP32[$284>>2]|0;
$286 = $285 << 24;
$287 = $285 >>> 8;
$288 = $286 | $287;
$289 = $262 ^ $288;
$290 = (((($76) + ($206<<4)|0)) + 8|0);
$291 = HEAP32[$290>>2]|0;
$292 = $266 ^ $291;
$293 = $205 & 255;
$294 = (38052 + ($293<<2)|0);
$295 = HEAP32[$294>>2]|0;
$296 = $274 ^ $295;
$297 = $205 >>> 8;
$298 = $297 & 255;
$299 = (38052 + ($298<<2)|0);
$300 = HEAP32[$299>>2]|0;
$301 = $300 << 8;
$302 = $300 >>> 24;
$303 = $301 | $302;
$304 = $282 ^ $303;
$305 = $205 >>> 16;
$306 = $305 & 255;
$307 = (38052 + ($306<<2)|0);
$308 = HEAP32[$307>>2]|0;
$309 = $308 << 16;
$310 = $308 >>> 16;
$311 = $309 | $310;
$312 = $289 ^ $311;
$313 = $205 >>> 24;
$314 = (38052 + ($313<<2)|0);
$315 = HEAP32[$314>>2]|0;
$316 = $315 << 24;
$317 = $315 >>> 8;
$318 = $316 | $317;
$319 = $292 ^ $318;
$320 = (((($76) + ($206<<4)|0)) + 12|0);
$321 = HEAP32[$320>>2]|0;
$$0$in$i = $206;$$sink = $296;$$sink15 = $321;$$sroa$045$0$i = $304;$$sroa$44$0$i = $312;$$sroa$82$0$i = $319;
}
$322 = ((($0)) + 256|0);
$323 = HEAP32[$322>>2]|0;
$324 = $323 ^ $92;
$325 = $$sroa$44$0$i & 255;
$326 = (38052 + ($325<<2)|0);
$327 = HEAP32[$326>>2]|0;
$328 = $327 ^ $99;
$329 = $$sroa$44$0$i >>> 8;
$330 = $329 & 255;
$331 = (38052 + ($330<<2)|0);
$332 = HEAP32[$331>>2]|0;
$333 = $332 << 8;
$334 = $332 >>> 24;
$335 = $333 | $334;
$336 = $335 ^ $106;
$337 = $$sroa$44$0$i >>> 16;
$338 = $337 & 255;
$339 = (38052 + ($338<<2)|0);
$340 = HEAP32[$339>>2]|0;
$341 = $340 << 16;
$342 = $340 >>> 16;
$343 = $341 | $342;
$344 = $343 ^ $112;
$345 = $$sroa$44$0$i >>> 24;
$346 = (38052 + ($345<<2)|0);
$347 = HEAP32[$346>>2]|0;
$348 = $347 << 24;
$349 = $347 >>> 8;
$350 = $348 | $349;
$351 = $324 ^ $350;
$352 = ((($0)) + 260|0);
$353 = HEAP32[$352>>2]|0;
$354 = $328 ^ $353;
$355 = $$sroa$82$0$i & 255;
$356 = (38052 + ($355<<2)|0);
$357 = HEAP32[$356>>2]|0;
$358 = $336 ^ $357;
$359 = $$sroa$82$0$i >>> 8;
$360 = $359 & 255;
$361 = (38052 + ($360<<2)|0);
$362 = HEAP32[$361>>2]|0;
$363 = $362 << 8;
$364 = $362 >>> 24;
$365 = $363 | $364;
$366 = $344 ^ $365;
$367 = $$sroa$82$0$i >>> 16;
$368 = $367 & 255;
$369 = (38052 + ($368<<2)|0);
$370 = HEAP32[$369>>2]|0;
$371 = $370 << 16;
$372 = $370 >>> 16;
$373 = $371 | $372;
$374 = $351 ^ $373;
$375 = $$sroa$82$0$i >>> 24;
$376 = (38052 + ($375<<2)|0);
$377 = HEAP32[$376>>2]|0;
$378 = $377 << 24;
$379 = $377 >>> 8;
$380 = $378 | $379;
$381 = $354 ^ $380;
$382 = ((($0)) + 264|0);
$383 = HEAP32[$382>>2]|0;
$384 = $358 ^ $383;
$385 = $88 & 255;
$386 = (38052 + ($385<<2)|0);
$387 = HEAP32[$386>>2]|0;
$388 = $366 ^ $387;
$389 = $88 >>> 8;
$390 = $389 & 255;
$391 = (38052 + ($390<<2)|0);
$392 = HEAP32[$391>>2]|0;
$393 = $392 << 8;
$394 = $392 >>> 24;
$395 = $393 | $394;
$396 = $374 ^ $395;
$397 = $88 >>> 16;
$398 = $397 & 255;
$399 = (38052 + ($398<<2)|0);
$400 = HEAP32[$399>>2]|0;
$401 = $400 << 16;
$402 = $400 >>> 16;
$403 = $401 | $402;
$404 = $381 ^ $403;
$405 = $88 >>> 24;
$406 = (38052 + ($405<<2)|0);
$407 = HEAP32[$406>>2]|0;
$408 = $407 << 24;
$409 = $407 >>> 8;
$410 = $408 | $409;
$411 = $384 ^ $410;
$412 = ((($0)) + 268|0);
$413 = HEAP32[$412>>2]|0;
$414 = $388 ^ $413;
$415 = $396 & 255;
$416 = (39076 + ($415)|0);
$417 = HEAP8[$416>>0]|0;
$418 = $417&255;
$419 = $396 >>> 8;
$420 = $419 & 255;
$421 = (39076 + ($420)|0);
$422 = HEAP8[$421>>0]|0;
$423 = $422&255;
$424 = $423 << 8;
$425 = $396 >>> 16;
$426 = $425 & 255;
$427 = (39076 + ($426)|0);
$428 = HEAP8[$427>>0]|0;
$429 = $428&255;
$430 = $429 << 16;
$431 = $396 >>> 24;
$432 = (39076 + ($431)|0);
$433 = HEAP8[$432>>0]|0;
$434 = $433&255;
$435 = $434 << 24;
$436 = HEAP32[$76>>2]|0;
$437 = $436 ^ $418;
$438 = $404 & 255;
$439 = (39076 + ($438)|0);
$440 = HEAP8[$439>>0]|0;
$441 = $440&255;
$442 = $424 | $441;
$443 = $404 >>> 8;
$444 = $443 & 255;
$445 = (39076 + ($444)|0);
$446 = HEAP8[$445>>0]|0;
$447 = $446&255;
$448 = $447 << 8;
$449 = $448 | $430;
$450 = $404 >>> 16;
$451 = $450 & 255;
$452 = (39076 + ($451)|0);
$453 = HEAP8[$452>>0]|0;
$454 = $453&255;
$455 = $454 << 16;
$456 = $455 | $435;
$457 = $404 >>> 24;
$458 = (39076 + ($457)|0);
$459 = HEAP8[$458>>0]|0;
$460 = $459&255;
$461 = $460 << 24;
$462 = $461 ^ $436;
$463 = ((($76)) + 4|0);
$464 = HEAP32[$463>>2]|0;
$465 = $464 ^ $442;
$466 = $411 & 255;
$467 = (39076 + ($466)|0);
$468 = HEAP8[$467>>0]|0;
$469 = $468&255;
$470 = $449 | $469;
$471 = $411 >>> 8;
$472 = $471 & 255;
$473 = (39076 + ($472)|0);
$474 = HEAP8[$473>>0]|0;
$475 = $474&255;
$476 = $475 << 8;
$477 = $456 | $476;
$478 = $411 >>> 16;
$479 = $478 & 255;
$480 = (39076 + ($479)|0);
$481 = HEAP8[$480>>0]|0;
$482 = $481&255;
$483 = $482 << 16;
$484 = $483 ^ $436;
$485 = $411 >>> 24;
$486 = (39076 + ($485)|0);
$487 = HEAP8[$486>>0]|0;
$488 = $487&255;
$489 = $488 << 24;
$490 = $489 ^ $464;
$491 = ((($0)) + 248|0);
$492 = HEAP32[$491>>2]|0;
$493 = $492 ^ $470;
$494 = $414 & 255;
$495 = (39076 + ($494)|0);
$496 = HEAP8[$495>>0]|0;
$497 = $496&255;
$498 = $477 | $497;
$499 = $414 >>> 8;
$500 = $499 & 255;
$501 = (39076 + ($500)|0);
$502 = HEAP8[$501>>0]|0;
$503 = $502&255;
$504 = $503 << 8;
$505 = $504 ^ $436;
$506 = $414 >>> 16;
$507 = $506 & 255;
$508 = (39076 + ($507)|0);
$509 = HEAP8[$508>>0]|0;
$510 = $509&255;
$511 = $510 << 16;
$512 = $511 ^ $464;
$513 = $414 >>> 24;
$514 = (39076 + ($513)|0);
$515 = HEAP8[$514>>0]|0;
$516 = $515&255;
$517 = $516 << 24;
$518 = $517 ^ $493;
$519 = ((($0)) + 252|0);
$520 = HEAP32[$519>>2]|0;
$521 = $520 ^ $498;
$522 = $462 >>> 24;
$523 = $522&255;
$524 = ((($1)) + 3|0);
HEAP8[$524>>0] = $523;
$525 = $484 >>> 16;
$526 = $525&255;
$527 = ((($1)) + 2|0);
HEAP8[$527>>0] = $526;
$528 = $505 >>> 8;
$529 = $528&255;
$530 = ((($1)) + 1|0);
HEAP8[$530>>0] = $529;
$531 = $437&255;
HEAP8[$1>>0] = $531;
$532 = ((($1)) + 4|0);
$533 = $490 >>> 24;
$534 = $533&255;
$535 = ((($1)) + 7|0);
HEAP8[$535>>0] = $534;
$536 = $512 >>> 16;
$537 = $536&255;
$538 = ((($1)) + 6|0);
HEAP8[$538>>0] = $537;
$539 = $465 >>> 8;
$540 = $539&255;
$541 = ((($1)) + 5|0);
HEAP8[$541>>0] = $540;
$542 = $465&255;
HEAP8[$532>>0] = $542;
$543 = ((($1)) + 8|0);
$544 = $518 >>> 24;
$545 = $544&255;
$546 = ((($1)) + 11|0);
HEAP8[$546>>0] = $545;
$547 = $493 >>> 16;
$548 = $547&255;
$549 = ((($1)) + 10|0);
HEAP8[$549>>0] = $548;
$550 = $493 >>> 8;
$551 = $550&255;
$552 = ((($1)) + 9|0);
HEAP8[$552>>0] = $551;
$553 = $493&255;
HEAP8[$543>>0] = $553;
$554 = ((($1)) + 12|0);
$555 = $521 >>> 24;
$556 = $555&255;
$557 = ((($1)) + 15|0);
HEAP8[$557>>0] = $556;
$558 = $521 >>> 16;
$559 = $558&255;
$560 = ((($1)) + 14|0);
HEAP8[$560>>0] = $559;
$561 = $521 >>> 8;
$562 = $561&255;
$563 = ((($1)) + 13|0);
HEAP8[$563>>0] = $562;
$564 = $521&255;
HEAP8[$554>>0] = $564;
return 64;
}
function _prefetch_enc() {
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP8[5216]|0;
$1 = HEAP8[(5248)>>0]|0;
$2 = HEAP8[(5280)>>0]|0;
$3 = HEAP8[(5312)>>0]|0;
$4 = HEAP8[(5344)>>0]|0;
$5 = HEAP8[(5376)>>0]|0;
$6 = HEAP8[(5408)>>0]|0;
$7 = HEAP8[(5440)>>0]|0;
$8 = HEAP8[(5472)>>0]|0;
$9 = HEAP8[(5504)>>0]|0;
$10 = HEAP8[(5536)>>0]|0;
$11 = HEAP8[(5568)>>0]|0;
$12 = HEAP8[(5600)>>0]|0;
$13 = HEAP8[(5632)>>0]|0;
$14 = HEAP8[(5664)>>0]|0;
$15 = HEAP8[(5696)>>0]|0;
$16 = HEAP8[(5728)>>0]|0;
$17 = HEAP8[(5760)>>0]|0;
$18 = HEAP8[(5792)>>0]|0;
$19 = HEAP8[(5824)>>0]|0;
$20 = HEAP8[(5856)>>0]|0;
$21 = HEAP8[(5888)>>0]|0;
$22 = HEAP8[(5920)>>0]|0;
$23 = HEAP8[(5952)>>0]|0;
$24 = HEAP8[(5984)>>0]|0;
$25 = HEAP8[(6016)>>0]|0;
$26 = HEAP8[(6048)>>0]|0;
$27 = HEAP8[(6080)>>0]|0;
$28 = HEAP8[(6112)>>0]|0;
$29 = HEAP8[(6144)>>0]|0;
$30 = HEAP8[(6176)>>0]|0;
$31 = HEAP8[(6208)>>0]|0;
$32 = HEAP8[(6239)>>0]|0;
return;
}
function _prefetch_dec() {
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP8[38052]|0;
$1 = HEAP8[(38084)>>0]|0;
$2 = HEAP8[(38116)>>0]|0;
$3 = HEAP8[(38148)>>0]|0;
$4 = HEAP8[(38180)>>0]|0;
$5 = HEAP8[(38212)>>0]|0;
$6 = HEAP8[(38244)>>0]|0;
$7 = HEAP8[(38276)>>0]|0;
$8 = HEAP8[(38308)>>0]|0;
$9 = HEAP8[(38340)>>0]|0;
$10 = HEAP8[(38372)>>0]|0;
$11 = HEAP8[(38404)>>0]|0;
$12 = HEAP8[(38436)>>0]|0;
$13 = HEAP8[(38468)>>0]|0;
$14 = HEAP8[(38500)>>0]|0;
$15 = HEAP8[(38532)>>0]|0;
$16 = HEAP8[(38564)>>0]|0;
$17 = HEAP8[(38596)>>0]|0;
$18 = HEAP8[(38628)>>0]|0;
$19 = HEAP8[(38660)>>0]|0;
$20 = HEAP8[(38692)>>0]|0;
$21 = HEAP8[(38724)>>0]|0;
$22 = HEAP8[(38756)>>0]|0;
$23 = HEAP8[(38788)>>0]|0;
$24 = HEAP8[(38820)>>0]|0;
$25 = HEAP8[(38852)>>0]|0;
$26 = HEAP8[(38884)>>0]|0;
$27 = HEAP8[(38916)>>0]|0;
$28 = HEAP8[(38948)>>0]|0;
$29 = HEAP8[(38980)>>0]|0;
$30 = HEAP8[(39012)>>0]|0;
$31 = HEAP8[(39044)>>0]|0;
$32 = HEAP8[(39076)>>0]|0;
$33 = HEAP8[(39108)>>0]|0;
$34 = HEAP8[(39140)>>0]|0;
$35 = HEAP8[(39172)>>0]|0;
$36 = HEAP8[(39204)>>0]|0;
$37 = HEAP8[(39236)>>0]|0;
$38 = HEAP8[(39268)>>0]|0;
$39 = HEAP8[(39300)>>0]|0;
$40 = HEAP8[(39331)>>0]|0;
return;
}
function __gcry_aes_cfb_enc($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$02831 = 0, $$02930 = 0, $$032 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($0)) + 496|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0|0);
if (!($7)) {
FUNCTION_TABLE_v[$6 & 127]();
}
$8 = ((($0)) + 488|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($4|0)==(0);
if ($10) {
return;
}
$11 = $1;
$12 = ((($1)) + 4|0);
$13 = ((($1)) + 8|0);
$14 = ((($1)) + 12|0);
$15 = ((($1)) + 1|0);
$16 = ((($1)) + 2|0);
$17 = ((($1)) + 3|0);
$18 = ((($1)) + 4|0);
$19 = ((($1)) + 5|0);
$20 = ((($1)) + 6|0);
$21 = ((($1)) + 7|0);
$22 = ((($1)) + 8|0);
$23 = ((($1)) + 9|0);
$24 = ((($1)) + 10|0);
$25 = ((($1)) + 11|0);
$26 = ((($1)) + 12|0);
$27 = ((($1)) + 13|0);
$28 = ((($1)) + 14|0);
$29 = ((($1)) + 15|0);
$$02831 = $3;$$02930 = $2;$$032 = $4;
while(1) {
$30 = (FUNCTION_TABLE_iiii[$9 & 127]($0,$1,$1)|0);
$31 = $$02831;
$32 = $$02930;
$33 = $32 | $11;
$34 = $33 | $31;
$35 = $34 & 3;
$36 = ($35|0)==(0);
if ($36) {
$37 = ((($$02831)) + 4|0);
$38 = HEAP32[$$02831>>2]|0;
$39 = HEAP32[$1>>2]|0;
$40 = $39 ^ $38;
HEAP32[$1>>2] = $40;
$41 = ((($$02930)) + 4|0);
HEAP32[$$02930>>2] = $40;
$42 = ((($$02831)) + 8|0);
$43 = HEAP32[$37>>2]|0;
$44 = HEAP32[$12>>2]|0;
$45 = $44 ^ $43;
HEAP32[$12>>2] = $45;
$46 = ((($$02930)) + 8|0);
HEAP32[$41>>2] = $45;
$47 = ((($$02831)) + 12|0);
$48 = HEAP32[$42>>2]|0;
$49 = HEAP32[$13>>2]|0;
$50 = $49 ^ $48;
HEAP32[$13>>2] = $50;
$51 = ((($$02930)) + 12|0);
HEAP32[$46>>2] = $50;
$52 = HEAP32[$47>>2]|0;
$53 = HEAP32[$14>>2]|0;
$54 = $53 ^ $52;
HEAP32[$14>>2] = $54;
HEAP32[$51>>2] = $54;
} else {
$55 = ((($$02831)) + 1|0);
$56 = HEAP8[$$02831>>0]|0;
$57 = HEAP8[$1>>0]|0;
$58 = $57 ^ $56;
HEAP8[$1>>0] = $58;
$59 = ((($$02930)) + 1|0);
HEAP8[$$02930>>0] = $58;
$60 = ((($$02831)) + 2|0);
$61 = HEAP8[$55>>0]|0;
$62 = HEAP8[$15>>0]|0;
$63 = $62 ^ $61;
HEAP8[$15>>0] = $63;
$64 = ((($$02930)) + 2|0);
HEAP8[$59>>0] = $63;
$65 = ((($$02831)) + 3|0);
$66 = HEAP8[$60>>0]|0;
$67 = HEAP8[$16>>0]|0;
$68 = $67 ^ $66;
HEAP8[$16>>0] = $68;
$69 = ((($$02930)) + 3|0);
HEAP8[$64>>0] = $68;
$70 = ((($$02831)) + 4|0);
$71 = HEAP8[$65>>0]|0;
$72 = HEAP8[$17>>0]|0;
$73 = $72 ^ $71;
HEAP8[$17>>0] = $73;
$74 = ((($$02930)) + 4|0);
HEAP8[$69>>0] = $73;
$75 = ((($$02831)) + 5|0);
$76 = HEAP8[$70>>0]|0;
$77 = HEAP8[$18>>0]|0;
$78 = $77 ^ $76;
HEAP8[$18>>0] = $78;
$79 = ((($$02930)) + 5|0);
HEAP8[$74>>0] = $78;
$80 = ((($$02831)) + 6|0);
$81 = HEAP8[$75>>0]|0;
$82 = HEAP8[$19>>0]|0;
$83 = $82 ^ $81;
HEAP8[$19>>0] = $83;
$84 = ((($$02930)) + 6|0);
HEAP8[$79>>0] = $83;
$85 = ((($$02831)) + 7|0);
$86 = HEAP8[$80>>0]|0;
$87 = HEAP8[$20>>0]|0;
$88 = $87 ^ $86;
HEAP8[$20>>0] = $88;
$89 = ((($$02930)) + 7|0);
HEAP8[$84>>0] = $88;
$90 = ((($$02831)) + 8|0);
$91 = HEAP8[$85>>0]|0;
$92 = HEAP8[$21>>0]|0;
$93 = $92 ^ $91;
HEAP8[$21>>0] = $93;
$94 = ((($$02930)) + 8|0);
HEAP8[$89>>0] = $93;
$95 = ((($$02831)) + 9|0);
$96 = HEAP8[$90>>0]|0;
$97 = HEAP8[$22>>0]|0;
$98 = $97 ^ $96;
HEAP8[$22>>0] = $98;
$99 = ((($$02930)) + 9|0);
HEAP8[$94>>0] = $98;
$100 = ((($$02831)) + 10|0);
$101 = HEAP8[$95>>0]|0;
$102 = HEAP8[$23>>0]|0;
$103 = $102 ^ $101;
HEAP8[$23>>0] = $103;
$104 = ((($$02930)) + 10|0);
HEAP8[$99>>0] = $103;
$105 = ((($$02831)) + 11|0);
$106 = HEAP8[$100>>0]|0;
$107 = HEAP8[$24>>0]|0;
$108 = $107 ^ $106;
HEAP8[$24>>0] = $108;
$109 = ((($$02930)) + 11|0);
HEAP8[$104>>0] = $108;
$110 = ((($$02831)) + 12|0);
$111 = HEAP8[$105>>0]|0;
$112 = HEAP8[$25>>0]|0;
$113 = $112 ^ $111;
HEAP8[$25>>0] = $113;
$114 = ((($$02930)) + 12|0);
HEAP8[$109>>0] = $113;
$115 = ((($$02831)) + 13|0);
$116 = HEAP8[$110>>0]|0;
$117 = HEAP8[$26>>0]|0;
$118 = $117 ^ $116;
HEAP8[$26>>0] = $118;
$119 = ((($$02930)) + 13|0);
HEAP8[$114>>0] = $118;
$120 = ((($$02831)) + 14|0);
$121 = HEAP8[$115>>0]|0;
$122 = HEAP8[$27>>0]|0;
$123 = $122 ^ $121;
HEAP8[$27>>0] = $123;
$124 = ((($$02930)) + 14|0);
HEAP8[$119>>0] = $123;
$125 = ((($$02831)) + 15|0);
$126 = HEAP8[$120>>0]|0;
$127 = HEAP8[$28>>0]|0;
$128 = $127 ^ $126;
HEAP8[$28>>0] = $128;
$129 = ((($$02930)) + 15|0);
HEAP8[$124>>0] = $128;
$130 = HEAP8[$125>>0]|0;
$131 = HEAP8[$29>>0]|0;
$132 = $131 ^ $130;
HEAP8[$29>>0] = $132;
HEAP8[$129>>0] = $132;
}
$133 = ((($$02930)) + 16|0);
$134 = ((($$02831)) + 16|0);
$135 = (($$032) + -1)|0;
$136 = ($135|0)==(0);
if ($136) {
break;
} else {
$$02831 = $134;$$02930 = $133;$$032 = $135;
}
}
$137 = ($30|0)==(0);
if ($137) {
return;
}
$138 = (($30) + 16)|0;
___gcry_burn_stack($138);
return;
}
function __gcry_aes_cbc_enc($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$036$lcssa = 0, $$037$lcssa = 0, $$03744$us = 0, $$03744$us$phi = 0, $$03843 = 0, $$03843$us = 0, $$03942$us = 0, $$045 = 0, $$045$us = 0, $$pn = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0;
var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0;
var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0;
var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0;
var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0;
var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0;
var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0;
var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0;
var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0;
var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0;
var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0;
var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0;
var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0;
var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0;
var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0;
var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0;
var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0;
var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $scevgep = 0, label = 0, sp = 0;
sp = STACKTOP;
$6 = ((($0)) + 496|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0|0);
if (!($8)) {
FUNCTION_TABLE_v[$7 & 127]();
}
$9 = ((($0)) + 488|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($4|0)==(0);
if ($11) {
return;
}
$12 = ($5|0)==(0);
if ($12) {
$13 = $4 << 4;
$14 = (($13) + -16)|0;
$$03744$us = $1;$$03843$us = $3;$$03942$us = $2;$$045$us = $4;
while(1) {
$15 = $$03942$us;
$16 = $$03843$us;
$17 = $16 | $15;
$18 = $$03744$us;
$19 = $17 | $18;
$20 = $19 & 3;
$21 = ($20|0)==(0);
if ($21) {
$115 = ((($$03843$us)) + 4|0);
$116 = HEAP32[$$03843$us>>2]|0;
$117 = ((($$03744$us)) + 4|0);
$118 = HEAP32[$$03744$us>>2]|0;
$119 = $118 ^ $116;
$120 = ((($$03942$us)) + 4|0);
HEAP32[$$03942$us>>2] = $119;
$121 = ((($$03843$us)) + 8|0);
$122 = HEAP32[$115>>2]|0;
$123 = ((($$03744$us)) + 8|0);
$124 = HEAP32[$117>>2]|0;
$125 = $124 ^ $122;
$126 = ((($$03942$us)) + 8|0);
HEAP32[$120>>2] = $125;
$127 = ((($$03843$us)) + 12|0);
$128 = HEAP32[$121>>2]|0;
$129 = ((($$03744$us)) + 12|0);
$130 = HEAP32[$123>>2]|0;
$131 = $130 ^ $128;
$132 = ((($$03942$us)) + 12|0);
HEAP32[$126>>2] = $131;
$133 = HEAP32[$127>>2]|0;
$134 = HEAP32[$129>>2]|0;
$135 = $134 ^ $133;
HEAP32[$132>>2] = $135;
} else {
$22 = ((($$03843$us)) + 1|0);
$23 = HEAP8[$$03843$us>>0]|0;
$24 = ((($$03744$us)) + 1|0);
$25 = HEAP8[$$03744$us>>0]|0;
$26 = $25 ^ $23;
$27 = ((($$03942$us)) + 1|0);
HEAP8[$$03942$us>>0] = $26;
$28 = ((($$03843$us)) + 2|0);
$29 = HEAP8[$22>>0]|0;
$30 = ((($$03744$us)) + 2|0);
$31 = HEAP8[$24>>0]|0;
$32 = $31 ^ $29;
$33 = ((($$03942$us)) + 2|0);
HEAP8[$27>>0] = $32;
$34 = ((($$03843$us)) + 3|0);
$35 = HEAP8[$28>>0]|0;
$36 = ((($$03744$us)) + 3|0);
$37 = HEAP8[$30>>0]|0;
$38 = $37 ^ $35;
$39 = ((($$03942$us)) + 3|0);
HEAP8[$33>>0] = $38;
$40 = ((($$03843$us)) + 4|0);
$41 = HEAP8[$34>>0]|0;
$42 = ((($$03744$us)) + 4|0);
$43 = HEAP8[$36>>0]|0;
$44 = $43 ^ $41;
$45 = ((($$03942$us)) + 4|0);
HEAP8[$39>>0] = $44;
$46 = ((($$03843$us)) + 5|0);
$47 = HEAP8[$40>>0]|0;
$48 = ((($$03744$us)) + 5|0);
$49 = HEAP8[$42>>0]|0;
$50 = $49 ^ $47;
$51 = ((($$03942$us)) + 5|0);
HEAP8[$45>>0] = $50;
$52 = ((($$03843$us)) + 6|0);
$53 = HEAP8[$46>>0]|0;
$54 = ((($$03744$us)) + 6|0);
$55 = HEAP8[$48>>0]|0;
$56 = $55 ^ $53;
$57 = ((($$03942$us)) + 6|0);
HEAP8[$51>>0] = $56;
$58 = ((($$03843$us)) + 7|0);
$59 = HEAP8[$52>>0]|0;
$60 = ((($$03744$us)) + 7|0);
$61 = HEAP8[$54>>0]|0;
$62 = $61 ^ $59;
$63 = ((($$03942$us)) + 7|0);
HEAP8[$57>>0] = $62;
$64 = ((($$03843$us)) + 8|0);
$65 = HEAP8[$58>>0]|0;
$66 = ((($$03744$us)) + 8|0);
$67 = HEAP8[$60>>0]|0;
$68 = $67 ^ $65;
$69 = ((($$03942$us)) + 8|0);
HEAP8[$63>>0] = $68;
$70 = ((($$03843$us)) + 9|0);
$71 = HEAP8[$64>>0]|0;
$72 = ((($$03744$us)) + 9|0);
$73 = HEAP8[$66>>0]|0;
$74 = $73 ^ $71;
$75 = ((($$03942$us)) + 9|0);
HEAP8[$69>>0] = $74;
$76 = ((($$03843$us)) + 10|0);
$77 = HEAP8[$70>>0]|0;
$78 = ((($$03744$us)) + 10|0);
$79 = HEAP8[$72>>0]|0;
$80 = $79 ^ $77;
$81 = ((($$03942$us)) + 10|0);
HEAP8[$75>>0] = $80;
$82 = ((($$03843$us)) + 11|0);
$83 = HEAP8[$76>>0]|0;
$84 = ((($$03744$us)) + 11|0);
$85 = HEAP8[$78>>0]|0;
$86 = $85 ^ $83;
$87 = ((($$03942$us)) + 11|0);
HEAP8[$81>>0] = $86;
$88 = ((($$03843$us)) + 12|0);
$89 = HEAP8[$82>>0]|0;
$90 = ((($$03744$us)) + 12|0);
$91 = HEAP8[$84>>0]|0;
$92 = $91 ^ $89;
$93 = ((($$03942$us)) + 12|0);
HEAP8[$87>>0] = $92;
$94 = ((($$03843$us)) + 13|0);
$95 = HEAP8[$88>>0]|0;
$96 = ((($$03744$us)) + 13|0);
$97 = HEAP8[$90>>0]|0;
$98 = $97 ^ $95;
$99 = ((($$03942$us)) + 13|0);
HEAP8[$93>>0] = $98;
$100 = ((($$03843$us)) + 14|0);
$101 = HEAP8[$94>>0]|0;
$102 = ((($$03744$us)) + 14|0);
$103 = HEAP8[$96>>0]|0;
$104 = $103 ^ $101;
$105 = ((($$03942$us)) + 14|0);
HEAP8[$99>>0] = $104;
$106 = ((($$03843$us)) + 15|0);
$107 = HEAP8[$100>>0]|0;
$108 = ((($$03744$us)) + 15|0);
$109 = HEAP8[$102>>0]|0;
$110 = $109 ^ $107;
$111 = ((($$03942$us)) + 15|0);
HEAP8[$105>>0] = $110;
$112 = HEAP8[$106>>0]|0;
$113 = HEAP8[$108>>0]|0;
$114 = $113 ^ $112;
HEAP8[$111>>0] = $114;
}
$136 = (FUNCTION_TABLE_iiii[$10 & 127]($0,$$03942$us,$$03942$us)|0);
$137 = ((($$03843$us)) + 16|0);
$138 = ((($$03942$us)) + 16|0);
$139 = (($$045$us) + -1)|0;
$140 = ($139|0)==(0);
if ($140) {
break;
} else {
$$03744$us$phi = $$03942$us;$$03843$us = $137;$$03942$us = $138;$$045$us = $139;$$03744$us = $$03744$us$phi;
}
}
$scevgep = (($2) + ($14)|0);
$$036$lcssa = $136;$$037$lcssa = $scevgep;
} else {
$141 = $2;
$142 = $3;
$143 = $142 | $141;
$144 = $1;
$145 = $143 | $144;
$146 = $145 & 3;
$147 = ($146|0)==(0);
if ($147) {
$241 = ((($3)) + 4|0);
$242 = HEAP32[$3>>2]|0;
$243 = ((($1)) + 4|0);
$244 = HEAP32[$1>>2]|0;
$245 = $244 ^ $242;
$246 = ((($2)) + 4|0);
HEAP32[$2>>2] = $245;
$247 = ((($3)) + 8|0);
$248 = HEAP32[$241>>2]|0;
$249 = ((($1)) + 8|0);
$250 = HEAP32[$243>>2]|0;
$251 = $250 ^ $248;
$252 = ((($2)) + 8|0);
HEAP32[$246>>2] = $251;
$253 = ((($3)) + 12|0);
$254 = HEAP32[$247>>2]|0;
$255 = ((($1)) + 12|0);
$256 = HEAP32[$249>>2]|0;
$257 = $256 ^ $254;
$258 = ((($2)) + 12|0);
HEAP32[$252>>2] = $257;
$259 = HEAP32[$253>>2]|0;
$260 = HEAP32[$255>>2]|0;
$261 = $260 ^ $259;
HEAP32[$258>>2] = $261;
} else {
$148 = ((($3)) + 1|0);
$149 = HEAP8[$3>>0]|0;
$150 = ((($1)) + 1|0);
$151 = HEAP8[$1>>0]|0;
$152 = $151 ^ $149;
$153 = ((($2)) + 1|0);
HEAP8[$2>>0] = $152;
$154 = ((($3)) + 2|0);
$155 = HEAP8[$148>>0]|0;
$156 = ((($1)) + 2|0);
$157 = HEAP8[$150>>0]|0;
$158 = $157 ^ $155;
$159 = ((($2)) + 2|0);
HEAP8[$153>>0] = $158;
$160 = ((($3)) + 3|0);
$161 = HEAP8[$154>>0]|0;
$162 = ((($1)) + 3|0);
$163 = HEAP8[$156>>0]|0;
$164 = $163 ^ $161;
$165 = ((($2)) + 3|0);
HEAP8[$159>>0] = $164;
$166 = ((($3)) + 4|0);
$167 = HEAP8[$160>>0]|0;
$168 = ((($1)) + 4|0);
$169 = HEAP8[$162>>0]|0;
$170 = $169 ^ $167;
$171 = ((($2)) + 4|0);
HEAP8[$165>>0] = $170;
$172 = ((($3)) + 5|0);
$173 = HEAP8[$166>>0]|0;
$174 = ((($1)) + 5|0);
$175 = HEAP8[$168>>0]|0;
$176 = $175 ^ $173;
$177 = ((($2)) + 5|0);
HEAP8[$171>>0] = $176;
$178 = ((($3)) + 6|0);
$179 = HEAP8[$172>>0]|0;
$180 = ((($1)) + 6|0);
$181 = HEAP8[$174>>0]|0;
$182 = $181 ^ $179;
$183 = ((($2)) + 6|0);
HEAP8[$177>>0] = $182;
$184 = ((($3)) + 7|0);
$185 = HEAP8[$178>>0]|0;
$186 = ((($1)) + 7|0);
$187 = HEAP8[$180>>0]|0;
$188 = $187 ^ $185;
$189 = ((($2)) + 7|0);
HEAP8[$183>>0] = $188;
$190 = ((($3)) + 8|0);
$191 = HEAP8[$184>>0]|0;
$192 = ((($1)) + 8|0);
$193 = HEAP8[$186>>0]|0;
$194 = $193 ^ $191;
$195 = ((($2)) + 8|0);
HEAP8[$189>>0] = $194;
$196 = ((($3)) + 9|0);
$197 = HEAP8[$190>>0]|0;
$198 = ((($1)) + 9|0);
$199 = HEAP8[$192>>0]|0;
$200 = $199 ^ $197;
$201 = ((($2)) + 9|0);
HEAP8[$195>>0] = $200;
$202 = ((($3)) + 10|0);
$203 = HEAP8[$196>>0]|0;
$204 = ((($1)) + 10|0);
$205 = HEAP8[$198>>0]|0;
$206 = $205 ^ $203;
$207 = ((($2)) + 10|0);
HEAP8[$201>>0] = $206;
$208 = ((($3)) + 11|0);
$209 = HEAP8[$202>>0]|0;
$210 = ((($1)) + 11|0);
$211 = HEAP8[$204>>0]|0;
$212 = $211 ^ $209;
$213 = ((($2)) + 11|0);
HEAP8[$207>>0] = $212;
$214 = ((($3)) + 12|0);
$215 = HEAP8[$208>>0]|0;
$216 = ((($1)) + 12|0);
$217 = HEAP8[$210>>0]|0;
$218 = $217 ^ $215;
$219 = ((($2)) + 12|0);
HEAP8[$213>>0] = $218;
$220 = ((($3)) + 13|0);
$221 = HEAP8[$214>>0]|0;
$222 = ((($1)) + 13|0);
$223 = HEAP8[$216>>0]|0;
$224 = $223 ^ $221;
$225 = ((($2)) + 13|0);
HEAP8[$219>>0] = $224;
$226 = ((($3)) + 14|0);
$227 = HEAP8[$220>>0]|0;
$228 = ((($1)) + 14|0);
$229 = HEAP8[$222>>0]|0;
$230 = $229 ^ $227;
$231 = ((($2)) + 14|0);
HEAP8[$225>>0] = $230;
$232 = ((($3)) + 15|0);
$233 = HEAP8[$226>>0]|0;
$234 = ((($1)) + 15|0);
$235 = HEAP8[$228>>0]|0;
$236 = $235 ^ $233;
$237 = ((($2)) + 15|0);
HEAP8[$231>>0] = $236;
$238 = HEAP8[$232>>0]|0;
$239 = HEAP8[$234>>0]|0;
$240 = $239 ^ $238;
HEAP8[$237>>0] = $240;
}
$262 = (FUNCTION_TABLE_iiii[$10 & 127]($0,$2,$2)|0);
$263 = (($4) + -1)|0;
$264 = ($263|0)==(0);
if ($264) {
$$036$lcssa = $262;$$037$lcssa = $2;
} else {
$265 = ((($2)) + 4|0);
$266 = ((($2)) + 8|0);
$267 = ((($2)) + 12|0);
$268 = ((($2)) + 1|0);
$269 = ((($2)) + 2|0);
$270 = ((($2)) + 3|0);
$271 = ((($2)) + 4|0);
$272 = ((($2)) + 5|0);
$273 = ((($2)) + 6|0);
$274 = ((($2)) + 7|0);
$275 = ((($2)) + 8|0);
$276 = ((($2)) + 9|0);
$277 = ((($2)) + 10|0);
$278 = ((($2)) + 11|0);
$279 = ((($2)) + 12|0);
$280 = ((($2)) + 13|0);
$281 = ((($2)) + 14|0);
$282 = ((($2)) + 15|0);
$$045 = $263;$$pn = $3;
while(1) {
$$03843 = ((($$pn)) + 16|0);
$283 = $$03843;
$284 = $283 | $141;
$285 = $284 & 3;
$286 = ($285|0)==(0);
if ($286) {
$287 = ((($$pn)) + 20|0);
$288 = HEAP32[$$03843>>2]|0;
$289 = HEAP32[$2>>2]|0;
$290 = $289 ^ $288;
HEAP32[$2>>2] = $290;
$291 = ((($$pn)) + 24|0);
$292 = HEAP32[$287>>2]|0;
$293 = HEAP32[$265>>2]|0;
$294 = $293 ^ $292;
HEAP32[$265>>2] = $294;
$295 = ((($$pn)) + 28|0);
$296 = HEAP32[$291>>2]|0;
$297 = HEAP32[$266>>2]|0;
$298 = $297 ^ $296;
HEAP32[$266>>2] = $298;
$299 = HEAP32[$295>>2]|0;
$300 = HEAP32[$267>>2]|0;
$301 = $300 ^ $299;
HEAP32[$267>>2] = $301;
} else {
$302 = ((($$pn)) + 17|0);
$303 = HEAP8[$$03843>>0]|0;
$304 = HEAP8[$2>>0]|0;
$305 = $304 ^ $303;
HEAP8[$2>>0] = $305;
$306 = ((($$pn)) + 18|0);
$307 = HEAP8[$302>>0]|0;
$308 = HEAP8[$268>>0]|0;
$309 = $308 ^ $307;
HEAP8[$268>>0] = $309;
$310 = ((($$pn)) + 19|0);
$311 = HEAP8[$306>>0]|0;
$312 = HEAP8[$269>>0]|0;
$313 = $312 ^ $311;
HEAP8[$269>>0] = $313;
$314 = ((($$pn)) + 20|0);
$315 = HEAP8[$310>>0]|0;
$316 = HEAP8[$270>>0]|0;
$317 = $316 ^ $315;
HEAP8[$270>>0] = $317;
$318 = ((($$pn)) + 21|0);
$319 = HEAP8[$314>>0]|0;
$320 = HEAP8[$271>>0]|0;
$321 = $320 ^ $319;
HEAP8[$271>>0] = $321;
$322 = ((($$pn)) + 22|0);
$323 = HEAP8[$318>>0]|0;
$324 = HEAP8[$272>>0]|0;
$325 = $324 ^ $323;
HEAP8[$272>>0] = $325;
$326 = ((($$pn)) + 23|0);
$327 = HEAP8[$322>>0]|0;
$328 = HEAP8[$273>>0]|0;
$329 = $328 ^ $327;
HEAP8[$273>>0] = $329;
$330 = ((($$pn)) + 24|0);
$331 = HEAP8[$326>>0]|0;
$332 = HEAP8[$274>>0]|0;
$333 = $332 ^ $331;
HEAP8[$274>>0] = $333;
$334 = ((($$pn)) + 25|0);
$335 = HEAP8[$330>>0]|0;
$336 = HEAP8[$275>>0]|0;
$337 = $336 ^ $335;
HEAP8[$275>>0] = $337;
$338 = ((($$pn)) + 26|0);
$339 = HEAP8[$334>>0]|0;
$340 = HEAP8[$276>>0]|0;
$341 = $340 ^ $339;
HEAP8[$276>>0] = $341;
$342 = ((($$pn)) + 27|0);
$343 = HEAP8[$338>>0]|0;
$344 = HEAP8[$277>>0]|0;
$345 = $344 ^ $343;
HEAP8[$277>>0] = $345;
$346 = ((($$pn)) + 28|0);
$347 = HEAP8[$342>>0]|0;
$348 = HEAP8[$278>>0]|0;
$349 = $348 ^ $347;
HEAP8[$278>>0] = $349;
$350 = ((($$pn)) + 29|0);
$351 = HEAP8[$346>>0]|0;
$352 = HEAP8[$279>>0]|0;
$353 = $352 ^ $351;
HEAP8[$279>>0] = $353;
$354 = ((($$pn)) + 30|0);
$355 = HEAP8[$350>>0]|0;
$356 = HEAP8[$280>>0]|0;
$357 = $356 ^ $355;
HEAP8[$280>>0] = $357;
$358 = ((($$pn)) + 31|0);
$359 = HEAP8[$354>>0]|0;
$360 = HEAP8[$281>>0]|0;
$361 = $360 ^ $359;
HEAP8[$281>>0] = $361;
$362 = HEAP8[$358>>0]|0;
$363 = HEAP8[$282>>0]|0;
$364 = $363 ^ $362;
HEAP8[$282>>0] = $364;
}
$365 = (FUNCTION_TABLE_iiii[$10 & 127]($0,$2,$2)|0);
$366 = (($$045) + -1)|0;
$367 = ($366|0)==(0);
if ($367) {
$$036$lcssa = $365;$$037$lcssa = $2;
break;
} else {
$$045 = $366;$$pn = $$03843;
}
}
}
}
$368 = ($$037$lcssa|0)==($1|0);
do {
if (!($368)) {
$369 = $1;
$370 = $$037$lcssa;
$371 = $370 | $369;
$372 = $371 & 3;
$373 = ($372|0)==(0);
if ($373) {
$374 = ((($$037$lcssa)) + 4|0);
$375 = HEAP32[$$037$lcssa>>2]|0;
$376 = ((($1)) + 4|0);
HEAP32[$1>>2] = $375;
$377 = ((($$037$lcssa)) + 8|0);
$378 = HEAP32[$374>>2]|0;
$379 = ((($1)) + 8|0);
HEAP32[$376>>2] = $378;
$380 = ((($$037$lcssa)) + 12|0);
$381 = HEAP32[$377>>2]|0;
$382 = ((($1)) + 12|0);
HEAP32[$379>>2] = $381;
$383 = HEAP32[$380>>2]|0;
HEAP32[$382>>2] = $383;
break;
} else {
$384 = ((($$037$lcssa)) + 1|0);
$385 = HEAP8[$$037$lcssa>>0]|0;
$386 = ((($1)) + 1|0);
HEAP8[$1>>0] = $385;
$387 = ((($$037$lcssa)) + 2|0);
$388 = HEAP8[$384>>0]|0;
$389 = ((($1)) + 2|0);
HEAP8[$386>>0] = $388;
$390 = ((($$037$lcssa)) + 3|0);
$391 = HEAP8[$387>>0]|0;
$392 = ((($1)) + 3|0);
HEAP8[$389>>0] = $391;
$393 = ((($$037$lcssa)) + 4|0);
$394 = HEAP8[$390>>0]|0;
$395 = ((($1)) + 4|0);
HEAP8[$392>>0] = $394;
$396 = ((($$037$lcssa)) + 5|0);
$397 = HEAP8[$393>>0]|0;
$398 = ((($1)) + 5|0);
HEAP8[$395>>0] = $397;
$399 = ((($$037$lcssa)) + 6|0);
$400 = HEAP8[$396>>0]|0;
$401 = ((($1)) + 6|0);
HEAP8[$398>>0] = $400;
$402 = ((($$037$lcssa)) + 7|0);
$403 = HEAP8[$399>>0]|0;
$404 = ((($1)) + 7|0);
HEAP8[$401>>0] = $403;
$405 = ((($$037$lcssa)) + 8|0);
$406 = HEAP8[$402>>0]|0;
$407 = ((($1)) + 8|0);
HEAP8[$404>>0] = $406;
$408 = ((($$037$lcssa)) + 9|0);
$409 = HEAP8[$405>>0]|0;
$410 = ((($1)) + 9|0);
HEAP8[$407>>0] = $409;
$411 = ((($$037$lcssa)) + 10|0);
$412 = HEAP8[$408>>0]|0;
$413 = ((($1)) + 10|0);
HEAP8[$410>>0] = $412;
$414 = ((($$037$lcssa)) + 11|0);
$415 = HEAP8[$411>>0]|0;
$416 = ((($1)) + 11|0);
HEAP8[$413>>0] = $415;
$417 = ((($$037$lcssa)) + 12|0);
$418 = HEAP8[$414>>0]|0;
$419 = ((($1)) + 12|0);
HEAP8[$416>>0] = $418;
$420 = ((($$037$lcssa)) + 13|0);
$421 = HEAP8[$417>>0]|0;
$422 = ((($1)) + 13|0);
HEAP8[$419>>0] = $421;
$423 = ((($$037$lcssa)) + 14|0);
$424 = HEAP8[$420>>0]|0;
$425 = ((($1)) + 14|0);
HEAP8[$422>>0] = $424;
$426 = ((($$037$lcssa)) + 15|0);
$427 = HEAP8[$423>>0]|0;
$428 = ((($1)) + 15|0);
HEAP8[$425>>0] = $427;
$429 = HEAP8[$426>>0]|0;
HEAP8[$428>>0] = $429;
break;
}
}
} while(0);
$430 = ($$036$lcssa|0)==(0);
if ($430) {
return;
}
$431 = (($$036$lcssa) + 16)|0;
___gcry_burn_stack($431);
return;
}
function __gcry_aes_ocb_crypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$073153 = 0, $$074152 = 0, $$076151 = 0, $$078 = 0, $$079$lcssa = 0, $$1150 = 0, $$175149 = 0, $$177148 = 0, $$180$lcssa = 0, $$2 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0;
var $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0;
var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0;
var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0;
var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0;
var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0;
var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0;
var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0;
var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0;
var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0;
var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0;
var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0;
var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0;
var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0;
var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0;
var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0;
var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0;
var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0;
var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0;
var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0;
var $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0;
var $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0;
var $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0;
var $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0;
var $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0;
var $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0;
var $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0;
var $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0;
var $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0;
var $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0;
var $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0;
var $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0;
var $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0;
var $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0;
var $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0;
var $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0;
var $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0;
var $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0;
var $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0;
var $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0;
var $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0;
var $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0;
var $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0;
var $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$5 = sp + 16|0;
$6 = sp;
$7 = ((($0)) + 496|0);
$8 = ($4|0)==(0);
if ($8) {
_check_decryption_preparation($7);
$12 = ((($7)) + 500|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0|0);
if (!($14)) {
FUNCTION_TABLE_v[$13 & 127]();
}
$511 = ((($7)) + 492|0);
$512 = HEAP32[$511>>2]|0;
$513 = ($3|0)==(0);
if ($513) {
$$180$lcssa = 0;
} else {
$514 = ((($0)) + 464|0);
$515 = ((($0)) + 64|0);
$516 = $515;
$517 = ((($515)) + 4|0);
$518 = ((($0)) + 72|0);
$519 = ((($0)) + 76|0);
$520 = ((($0)) + 160|0);
$521 = ((($6)) + 4|0);
$522 = ((($6)) + 8|0);
$523 = ((($6)) + 12|0);
$524 = $516 & 3;
$525 = ($524|0)==(0);
$526 = ((($0)) + 80|0);
$527 = $526;
$528 = $527 & 3;
$529 = ($528|0)==(0);
$530 = ((($526)) + 4|0);
$531 = ((($0)) + 88|0);
$532 = ((($0)) + 92|0);
$533 = ((($515)) + 1|0);
$534 = ((($515)) + 2|0);
$535 = ((($515)) + 3|0);
$536 = ((($515)) + 4|0);
$537 = ((($515)) + 5|0);
$538 = ((($515)) + 6|0);
$539 = ((($515)) + 7|0);
$540 = ((($0)) + 72|0);
$541 = ((($0)) + 73|0);
$542 = ((($0)) + 74|0);
$543 = ((($0)) + 75|0);
$544 = ((($0)) + 76|0);
$545 = ((($0)) + 77|0);
$546 = ((($0)) + 78|0);
$547 = ((($0)) + 79|0);
$548 = ((($6)) + 1|0);
$549 = ((($6)) + 2|0);
$550 = ((($6)) + 3|0);
$551 = ((($6)) + 4|0);
$552 = ((($551)) + 1|0);
$553 = ((($551)) + 2|0);
$554 = ((($551)) + 3|0);
$555 = ((($6)) + 8|0);
$556 = ((($555)) + 1|0);
$557 = ((($555)) + 2|0);
$558 = ((($555)) + 3|0);
$559 = ((($6)) + 12|0);
$560 = ((($559)) + 1|0);
$561 = ((($559)) + 2|0);
$562 = ((($559)) + 3|0);
$563 = ((($515)) + 1|0);
$564 = ((($6)) + 1|0);
$565 = ((($515)) + 2|0);
$566 = ((($6)) + 2|0);
$567 = ((($515)) + 3|0);
$568 = ((($6)) + 3|0);
$569 = ((($515)) + 4|0);
$570 = ((($6)) + 4|0);
$571 = ((($515)) + 5|0);
$572 = ((($570)) + 1|0);
$573 = ((($515)) + 6|0);
$574 = ((($570)) + 2|0);
$575 = ((($515)) + 7|0);
$576 = ((($570)) + 3|0);
$577 = ((($0)) + 72|0);
$578 = ((($6)) + 8|0);
$579 = ((($0)) + 73|0);
$580 = ((($578)) + 1|0);
$581 = ((($0)) + 74|0);
$582 = ((($578)) + 2|0);
$583 = ((($0)) + 75|0);
$584 = ((($578)) + 3|0);
$585 = ((($0)) + 76|0);
$586 = ((($6)) + 12|0);
$587 = ((($0)) + 77|0);
$588 = ((($586)) + 1|0);
$589 = ((($0)) + 78|0);
$590 = ((($586)) + 2|0);
$591 = ((($0)) + 79|0);
$592 = ((($586)) + 3|0);
$593 = ((($6)) + 1|0);
$594 = ((($526)) + 1|0);
$595 = ((($6)) + 2|0);
$596 = ((($526)) + 2|0);
$597 = ((($6)) + 3|0);
$598 = ((($526)) + 3|0);
$599 = ((($6)) + 4|0);
$600 = ((($526)) + 4|0);
$601 = ((($599)) + 1|0);
$602 = ((($526)) + 5|0);
$603 = ((($599)) + 2|0);
$604 = ((($526)) + 6|0);
$605 = ((($599)) + 3|0);
$606 = ((($526)) + 7|0);
$607 = ((($6)) + 8|0);
$608 = ((($0)) + 88|0);
$609 = ((($607)) + 1|0);
$610 = ((($0)) + 89|0);
$611 = ((($607)) + 2|0);
$612 = ((($0)) + 90|0);
$613 = ((($607)) + 3|0);
$614 = ((($0)) + 91|0);
$615 = ((($6)) + 12|0);
$616 = ((($0)) + 92|0);
$617 = ((($615)) + 1|0);
$618 = ((($0)) + 93|0);
$619 = ((($615)) + 2|0);
$620 = ((($0)) + 94|0);
$621 = ((($615)) + 3|0);
$622 = ((($0)) + 95|0);
$623 = ((($6)) + 1|0);
$624 = ((($6)) + 2|0);
$625 = ((($6)) + 3|0);
$626 = ((($6)) + 4|0);
$627 = ((($626)) + 1|0);
$628 = ((($626)) + 2|0);
$629 = ((($626)) + 3|0);
$630 = ((($6)) + 8|0);
$631 = ((($630)) + 1|0);
$632 = ((($630)) + 2|0);
$633 = ((($630)) + 3|0);
$634 = ((($6)) + 12|0);
$635 = ((($634)) + 1|0);
$636 = ((($634)) + 2|0);
$637 = ((($634)) + 3|0);
$$1150 = $3;$$175149 = $1;$$177148 = $2;
while(1) {
$638 = $514;
$639 = $638;
$640 = HEAP32[$639>>2]|0;
$641 = (($638) + 4)|0;
$642 = $641;
$643 = HEAP32[$642>>2]|0;
$644 = (_i64Add(($640|0),($643|0),1,0)|0);
$645 = tempRet0;
$646 = $514;
$647 = $646;
HEAP32[$647>>2] = $644;
$648 = (($646) + 4)|0;
$649 = $648;
HEAP32[$649>>2] = $645;
$650 = ($644|0)==(0);
$651 = (0)==(0);
$652 = $650 & $651;
if ($652) {
label = 34;
} else {
$653 = (_llvm_cttz_i32(($644|0))|0);
$654 = ($653>>>0)<(16);
if ($654) {
$655 = (($520) + ($653<<4)|0);
$$0 = $655;
} else {
label = 34;
}
}
if ((label|0) == 34) {
label = 0;
$656 = (__gcry_cipher_ocb_get_l($0,$6,$644,$645)|0);
$$0 = $656;
}
$657 = $$0;
$658 = $657 | $516;
$659 = $658 & 3;
$660 = ($659|0)==(0);
if ($660) {
$661 = ((($$0)) + 4|0);
$662 = HEAP32[$$0>>2]|0;
$663 = HEAP32[$515>>2]|0;
$664 = $663 ^ $662;
HEAP32[$515>>2] = $664;
$665 = ((($$0)) + 8|0);
$666 = HEAP32[$661>>2]|0;
$667 = HEAP32[$517>>2]|0;
$668 = $667 ^ $666;
HEAP32[$517>>2] = $668;
$669 = ((($$0)) + 12|0);
$670 = HEAP32[$665>>2]|0;
$671 = HEAP32[$518>>2]|0;
$672 = $671 ^ $670;
HEAP32[$518>>2] = $672;
$673 = HEAP32[$669>>2]|0;
$674 = HEAP32[$519>>2]|0;
$675 = $674 ^ $673;
HEAP32[$519>>2] = $675;
} else {
$676 = ((($$0)) + 1|0);
$677 = HEAP8[$$0>>0]|0;
$678 = HEAP8[$515>>0]|0;
$679 = $678 ^ $677;
HEAP8[$515>>0] = $679;
$680 = ((($$0)) + 2|0);
$681 = HEAP8[$676>>0]|0;
$682 = HEAP8[$533>>0]|0;
$683 = $682 ^ $681;
HEAP8[$533>>0] = $683;
$684 = ((($$0)) + 3|0);
$685 = HEAP8[$680>>0]|0;
$686 = HEAP8[$534>>0]|0;
$687 = $686 ^ $685;
HEAP8[$534>>0] = $687;
$688 = ((($$0)) + 4|0);
$689 = HEAP8[$684>>0]|0;
$690 = HEAP8[$535>>0]|0;
$691 = $690 ^ $689;
HEAP8[$535>>0] = $691;
$692 = ((($$0)) + 5|0);
$693 = HEAP8[$688>>0]|0;
$694 = HEAP8[$536>>0]|0;
$695 = $694 ^ $693;
HEAP8[$536>>0] = $695;
$696 = ((($$0)) + 6|0);
$697 = HEAP8[$692>>0]|0;
$698 = HEAP8[$537>>0]|0;
$699 = $698 ^ $697;
HEAP8[$537>>0] = $699;
$700 = ((($$0)) + 7|0);
$701 = HEAP8[$696>>0]|0;
$702 = HEAP8[$538>>0]|0;
$703 = $702 ^ $701;
HEAP8[$538>>0] = $703;
$704 = ((($$0)) + 8|0);
$705 = HEAP8[$700>>0]|0;
$706 = HEAP8[$539>>0]|0;
$707 = $706 ^ $705;
HEAP8[$539>>0] = $707;
$708 = ((($$0)) + 9|0);
$709 = HEAP8[$704>>0]|0;
$710 = HEAP8[$540>>0]|0;
$711 = $710 ^ $709;
HEAP8[$540>>0] = $711;
$712 = ((($$0)) + 10|0);
$713 = HEAP8[$708>>0]|0;
$714 = HEAP8[$541>>0]|0;
$715 = $714 ^ $713;
HEAP8[$541>>0] = $715;
$716 = ((($$0)) + 11|0);
$717 = HEAP8[$712>>0]|0;
$718 = HEAP8[$542>>0]|0;
$719 = $718 ^ $717;
HEAP8[$542>>0] = $719;
$720 = ((($$0)) + 12|0);
$721 = HEAP8[$716>>0]|0;
$722 = HEAP8[$543>>0]|0;
$723 = $722 ^ $721;
HEAP8[$543>>0] = $723;
$724 = ((($$0)) + 13|0);
$725 = HEAP8[$720>>0]|0;
$726 = HEAP8[$544>>0]|0;
$727 = $726 ^ $725;
HEAP8[$544>>0] = $727;
$728 = ((($$0)) + 14|0);
$729 = HEAP8[$724>>0]|0;
$730 = HEAP8[$545>>0]|0;
$731 = $730 ^ $729;
HEAP8[$545>>0] = $731;
$732 = ((($$0)) + 15|0);
$733 = HEAP8[$728>>0]|0;
$734 = HEAP8[$546>>0]|0;
$735 = $734 ^ $733;
HEAP8[$546>>0] = $735;
$736 = HEAP8[$732>>0]|0;
$737 = HEAP8[$547>>0]|0;
$738 = $737 ^ $736;
HEAP8[$547>>0] = $738;
}
$739 = $$177148;
$740 = $739 & 3;
$741 = ($740|0)==(0);
if ($741) {
$742 = ((($$177148)) + 4|0);
$743 = HEAP32[$$177148>>2]|0;
HEAP32[$6>>2] = $743;
$744 = ((($$177148)) + 8|0);
$745 = HEAP32[$742>>2]|0;
HEAP32[$521>>2] = $745;
$746 = ((($$177148)) + 12|0);
$747 = HEAP32[$744>>2]|0;
HEAP32[$522>>2] = $747;
$748 = HEAP32[$746>>2]|0;
HEAP32[$523>>2] = $748;
} else {
$749 = ((($$177148)) + 1|0);
$750 = HEAP8[$$177148>>0]|0;
HEAP8[$6>>0] = $750;
$751 = ((($$177148)) + 2|0);
$752 = HEAP8[$749>>0]|0;
HEAP8[$548>>0] = $752;
$753 = ((($$177148)) + 3|0);
$754 = HEAP8[$751>>0]|0;
HEAP8[$549>>0] = $754;
$755 = ((($$177148)) + 4|0);
$756 = HEAP8[$753>>0]|0;
HEAP8[$550>>0] = $756;
$757 = ((($$177148)) + 5|0);
$758 = HEAP8[$755>>0]|0;
HEAP8[$551>>0] = $758;
$759 = ((($$177148)) + 6|0);
$760 = HEAP8[$757>>0]|0;
HEAP8[$552>>0] = $760;
$761 = ((($$177148)) + 7|0);
$762 = HEAP8[$759>>0]|0;
HEAP8[$553>>0] = $762;
$763 = ((($$177148)) + 8|0);
$764 = HEAP8[$761>>0]|0;
HEAP8[$554>>0] = $764;
$765 = ((($$177148)) + 9|0);
$766 = HEAP8[$763>>0]|0;
HEAP8[$555>>0] = $766;
$767 = ((($$177148)) + 10|0);
$768 = HEAP8[$765>>0]|0;
HEAP8[$556>>0] = $768;
$769 = ((($$177148)) + 11|0);
$770 = HEAP8[$767>>0]|0;
HEAP8[$557>>0] = $770;
$771 = ((($$177148)) + 12|0);
$772 = HEAP8[$769>>0]|0;
HEAP8[$558>>0] = $772;
$773 = ((($$177148)) + 13|0);
$774 = HEAP8[$771>>0]|0;
HEAP8[$559>>0] = $774;
$775 = ((($$177148)) + 14|0);
$776 = HEAP8[$773>>0]|0;
HEAP8[$560>>0] = $776;
$777 = ((($$177148)) + 15|0);
$778 = HEAP8[$775>>0]|0;
HEAP8[$561>>0] = $778;
$779 = HEAP8[$777>>0]|0;
HEAP8[$562>>0] = $779;
}
if ($525) {
$780 = HEAP32[$515>>2]|0;
$781 = HEAP32[$6>>2]|0;
$782 = $781 ^ $780;
HEAP32[$6>>2] = $782;
$783 = HEAP32[$517>>2]|0;
$784 = HEAP32[$521>>2]|0;
$785 = $784 ^ $783;
HEAP32[$521>>2] = $785;
$786 = HEAP32[$518>>2]|0;
$787 = HEAP32[$522>>2]|0;
$788 = $787 ^ $786;
HEAP32[$522>>2] = $788;
$789 = HEAP32[$519>>2]|0;
$790 = HEAP32[$523>>2]|0;
$791 = $790 ^ $789;
HEAP32[$523>>2] = $791;
$792 = (FUNCTION_TABLE_iiii[$512 & 127]($7,$6,$6)|0);
$793 = HEAP32[$515>>2]|0;
$794 = HEAP32[$6>>2]|0;
$795 = $794 ^ $793;
HEAP32[$6>>2] = $795;
$796 = HEAP32[$517>>2]|0;
$797 = HEAP32[$521>>2]|0;
$798 = $797 ^ $796;
HEAP32[$521>>2] = $798;
$799 = HEAP32[$518>>2]|0;
$800 = HEAP32[$522>>2]|0;
$801 = $800 ^ $799;
HEAP32[$522>>2] = $801;
$802 = HEAP32[$519>>2]|0;
$803 = HEAP32[$523>>2]|0;
$804 = $803 ^ $802;
HEAP32[$523>>2] = $804;
$1010 = $792;
} else {
$805 = HEAP8[$515>>0]|0;
$806 = HEAP8[$6>>0]|0;
$807 = $806 ^ $805;
HEAP8[$6>>0] = $807;
$808 = HEAP8[$563>>0]|0;
$809 = HEAP8[$564>>0]|0;
$810 = $809 ^ $808;
HEAP8[$564>>0] = $810;
$811 = HEAP8[$565>>0]|0;
$812 = HEAP8[$566>>0]|0;
$813 = $812 ^ $811;
HEAP8[$566>>0] = $813;
$814 = HEAP8[$567>>0]|0;
$815 = HEAP8[$568>>0]|0;
$816 = $815 ^ $814;
HEAP8[$568>>0] = $816;
$817 = HEAP8[$569>>0]|0;
$818 = HEAP8[$570>>0]|0;
$819 = $818 ^ $817;
HEAP8[$570>>0] = $819;
$820 = HEAP8[$571>>0]|0;
$821 = HEAP8[$572>>0]|0;
$822 = $821 ^ $820;
HEAP8[$572>>0] = $822;
$823 = HEAP8[$573>>0]|0;
$824 = HEAP8[$574>>0]|0;
$825 = $824 ^ $823;
HEAP8[$574>>0] = $825;
$826 = HEAP8[$575>>0]|0;
$827 = HEAP8[$576>>0]|0;
$828 = $827 ^ $826;
HEAP8[$576>>0] = $828;
$829 = HEAP8[$577>>0]|0;
$830 = HEAP8[$578>>0]|0;
$831 = $830 ^ $829;
HEAP8[$578>>0] = $831;
$832 = HEAP8[$579>>0]|0;
$833 = HEAP8[$580>>0]|0;
$834 = $833 ^ $832;
HEAP8[$580>>0] = $834;
$835 = HEAP8[$581>>0]|0;
$836 = HEAP8[$582>>0]|0;
$837 = $836 ^ $835;
HEAP8[$582>>0] = $837;
$838 = HEAP8[$583>>0]|0;
$839 = HEAP8[$584>>0]|0;
$840 = $839 ^ $838;
HEAP8[$584>>0] = $840;
$841 = HEAP8[$585>>0]|0;
$842 = HEAP8[$586>>0]|0;
$843 = $842 ^ $841;
HEAP8[$586>>0] = $843;
$844 = HEAP8[$587>>0]|0;
$845 = HEAP8[$588>>0]|0;
$846 = $845 ^ $844;
HEAP8[$588>>0] = $846;
$847 = HEAP8[$589>>0]|0;
$848 = HEAP8[$590>>0]|0;
$849 = $848 ^ $847;
HEAP8[$590>>0] = $849;
$850 = HEAP8[$591>>0]|0;
$851 = HEAP8[$592>>0]|0;
$852 = $851 ^ $850;
HEAP8[$592>>0] = $852;
$853 = (FUNCTION_TABLE_iiii[$512 & 127]($7,$6,$6)|0);
$854 = HEAP8[$515>>0]|0;
$855 = HEAP8[$6>>0]|0;
$856 = $855 ^ $854;
HEAP8[$6>>0] = $856;
$857 = HEAP8[$563>>0]|0;
$858 = HEAP8[$564>>0]|0;
$859 = $858 ^ $857;
HEAP8[$564>>0] = $859;
$860 = HEAP8[$565>>0]|0;
$861 = HEAP8[$566>>0]|0;
$862 = $861 ^ $860;
HEAP8[$566>>0] = $862;
$863 = HEAP8[$567>>0]|0;
$864 = HEAP8[$568>>0]|0;
$865 = $864 ^ $863;
HEAP8[$568>>0] = $865;
$866 = HEAP8[$569>>0]|0;
$867 = HEAP8[$570>>0]|0;
$868 = $867 ^ $866;
HEAP8[$570>>0] = $868;
$869 = HEAP8[$571>>0]|0;
$870 = HEAP8[$572>>0]|0;
$871 = $870 ^ $869;
HEAP8[$572>>0] = $871;
$872 = HEAP8[$573>>0]|0;
$873 = HEAP8[$574>>0]|0;
$874 = $873 ^ $872;
HEAP8[$574>>0] = $874;
$875 = HEAP8[$575>>0]|0;
$876 = HEAP8[$576>>0]|0;
$877 = $876 ^ $875;
HEAP8[$576>>0] = $877;
$878 = HEAP8[$577>>0]|0;
$879 = HEAP8[$578>>0]|0;
$880 = $879 ^ $878;
HEAP8[$578>>0] = $880;
$881 = HEAP8[$579>>0]|0;
$882 = HEAP8[$580>>0]|0;
$883 = $882 ^ $881;
HEAP8[$580>>0] = $883;
$884 = HEAP8[$581>>0]|0;
$885 = HEAP8[$582>>0]|0;
$886 = $885 ^ $884;
HEAP8[$582>>0] = $886;
$887 = HEAP8[$583>>0]|0;
$888 = HEAP8[$584>>0]|0;
$889 = $888 ^ $887;
HEAP8[$584>>0] = $889;
$890 = HEAP8[$585>>0]|0;
$891 = HEAP8[$586>>0]|0;
$892 = $891 ^ $890;
HEAP8[$586>>0] = $892;
$893 = HEAP8[$587>>0]|0;
$894 = HEAP8[$588>>0]|0;
$895 = $894 ^ $893;
HEAP8[$588>>0] = $895;
$896 = HEAP8[$589>>0]|0;
$897 = HEAP8[$590>>0]|0;
$898 = $897 ^ $896;
HEAP8[$590>>0] = $898;
$899 = HEAP8[$591>>0]|0;
$900 = HEAP8[$592>>0]|0;
$901 = $900 ^ $899;
HEAP8[$592>>0] = $901;
$1010 = $853;
}
if ($529) {
$902 = HEAP32[$6>>2]|0;
$903 = HEAP32[$526>>2]|0;
$904 = $903 ^ $902;
HEAP32[$526>>2] = $904;
$905 = HEAP32[$521>>2]|0;
$906 = HEAP32[$530>>2]|0;
$907 = $906 ^ $905;
HEAP32[$530>>2] = $907;
$908 = HEAP32[$522>>2]|0;
$909 = HEAP32[$531>>2]|0;
$910 = $909 ^ $908;
HEAP32[$531>>2] = $910;
$911 = HEAP32[$523>>2]|0;
$912 = HEAP32[$532>>2]|0;
$913 = $912 ^ $911;
HEAP32[$532>>2] = $913;
} else {
$914 = HEAP8[$6>>0]|0;
$915 = HEAP8[$526>>0]|0;
$916 = $915 ^ $914;
HEAP8[$526>>0] = $916;
$917 = HEAP8[$593>>0]|0;
$918 = HEAP8[$594>>0]|0;
$919 = $918 ^ $917;
HEAP8[$594>>0] = $919;
$920 = HEAP8[$595>>0]|0;
$921 = HEAP8[$596>>0]|0;
$922 = $921 ^ $920;
HEAP8[$596>>0] = $922;
$923 = HEAP8[$597>>0]|0;
$924 = HEAP8[$598>>0]|0;
$925 = $924 ^ $923;
HEAP8[$598>>0] = $925;
$926 = HEAP8[$599>>0]|0;
$927 = HEAP8[$600>>0]|0;
$928 = $927 ^ $926;
HEAP8[$600>>0] = $928;
$929 = HEAP8[$601>>0]|0;
$930 = HEAP8[$602>>0]|0;
$931 = $930 ^ $929;
HEAP8[$602>>0] = $931;
$932 = HEAP8[$603>>0]|0;
$933 = HEAP8[$604>>0]|0;
$934 = $933 ^ $932;
HEAP8[$604>>0] = $934;
$935 = HEAP8[$605>>0]|0;
$936 = HEAP8[$606>>0]|0;
$937 = $936 ^ $935;
HEAP8[$606>>0] = $937;
$938 = HEAP8[$607>>0]|0;
$939 = HEAP8[$608>>0]|0;
$940 = $939 ^ $938;
HEAP8[$608>>0] = $940;
$941 = HEAP8[$609>>0]|0;
$942 = HEAP8[$610>>0]|0;
$943 = $942 ^ $941;
HEAP8[$610>>0] = $943;
$944 = HEAP8[$611>>0]|0;
$945 = HEAP8[$612>>0]|0;
$946 = $945 ^ $944;
HEAP8[$612>>0] = $946;
$947 = HEAP8[$613>>0]|0;
$948 = HEAP8[$614>>0]|0;
$949 = $948 ^ $947;
HEAP8[$614>>0] = $949;
$950 = HEAP8[$615>>0]|0;
$951 = HEAP8[$616>>0]|0;
$952 = $951 ^ $950;
HEAP8[$616>>0] = $952;
$953 = HEAP8[$617>>0]|0;
$954 = HEAP8[$618>>0]|0;
$955 = $954 ^ $953;
HEAP8[$618>>0] = $955;
$956 = HEAP8[$619>>0]|0;
$957 = HEAP8[$620>>0]|0;
$958 = $957 ^ $956;
HEAP8[$620>>0] = $958;
$959 = HEAP8[$621>>0]|0;
$960 = HEAP8[$622>>0]|0;
$961 = $960 ^ $959;
HEAP8[$622>>0] = $961;
}
$962 = $$175149;
$963 = $962 & 3;
$964 = ($963|0)==(0);
if ($964) {
$965 = HEAP32[$6>>2]|0;
$966 = ((($$175149)) + 4|0);
HEAP32[$$175149>>2] = $965;
$967 = HEAP32[$521>>2]|0;
$968 = ((($$175149)) + 8|0);
HEAP32[$966>>2] = $967;
$969 = HEAP32[$522>>2]|0;
$970 = ((($$175149)) + 12|0);
HEAP32[$968>>2] = $969;
$971 = HEAP32[$523>>2]|0;
HEAP32[$970>>2] = $971;
} else {
$972 = HEAP8[$6>>0]|0;
$973 = ((($$175149)) + 1|0);
HEAP8[$$175149>>0] = $972;
$974 = HEAP8[$623>>0]|0;
$975 = ((($$175149)) + 2|0);
HEAP8[$973>>0] = $974;
$976 = HEAP8[$624>>0]|0;
$977 = ((($$175149)) + 3|0);
HEAP8[$975>>0] = $976;
$978 = HEAP8[$625>>0]|0;
$979 = ((($$175149)) + 4|0);
HEAP8[$977>>0] = $978;
$980 = HEAP8[$626>>0]|0;
$981 = ((($$175149)) + 5|0);
HEAP8[$979>>0] = $980;
$982 = HEAP8[$627>>0]|0;
$983 = ((($$175149)) + 6|0);
HEAP8[$981>>0] = $982;
$984 = HEAP8[$628>>0]|0;
$985 = ((($$175149)) + 7|0);
HEAP8[$983>>0] = $984;
$986 = HEAP8[$629>>0]|0;
$987 = ((($$175149)) + 8|0);
HEAP8[$985>>0] = $986;
$988 = HEAP8[$630>>0]|0;
$989 = ((($$175149)) + 9|0);
HEAP8[$987>>0] = $988;
$990 = HEAP8[$631>>0]|0;
$991 = ((($$175149)) + 10|0);
HEAP8[$989>>0] = $990;
$992 = HEAP8[$632>>0]|0;
$993 = ((($$175149)) + 11|0);
HEAP8[$991>>0] = $992;
$994 = HEAP8[$633>>0]|0;
$995 = ((($$175149)) + 12|0);
HEAP8[$993>>0] = $994;
$996 = HEAP8[$634>>0]|0;
$997 = ((($$175149)) + 13|0);
HEAP8[$995>>0] = $996;
$998 = HEAP8[$635>>0]|0;
$999 = ((($$175149)) + 14|0);
HEAP8[$997>>0] = $998;
$1000 = HEAP8[$636>>0]|0;
$1001 = ((($$175149)) + 15|0);
HEAP8[$999>>0] = $1000;
$1002 = HEAP8[$637>>0]|0;
HEAP8[$1001>>0] = $1002;
}
$1003 = ((($$177148)) + 16|0);
$1004 = ((($$175149)) + 16|0);
$1005 = (($$1150) + -1)|0;
$1006 = ($1005|0)==(0);
if ($1006) {
$$180$lcssa = $1010;
break;
} else {
$$1150 = $1005;$$175149 = $1004;$$177148 = $1003;
}
}
}
$$2 = $$180$lcssa;
} else {
$9 = ((($7)) + 496|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0|0);
if (!($11)) {
FUNCTION_TABLE_v[$10 & 127]();
}
$15 = ((($7)) + 488|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($3|0)==(0);
if ($17) {
$$079$lcssa = 0;
} else {
$18 = ((($0)) + 464|0);
$19 = ((($0)) + 64|0);
$20 = $19;
$21 = ((($19)) + 4|0);
$22 = ((($0)) + 72|0);
$23 = ((($0)) + 76|0);
$24 = ((($0)) + 160|0);
$25 = ((($5)) + 4|0);
$26 = ((($5)) + 8|0);
$27 = ((($5)) + 12|0);
$28 = ((($0)) + 80|0);
$29 = $28;
$30 = $29 & 3;
$31 = ($30|0)==(0);
$32 = ((($28)) + 4|0);
$33 = ((($0)) + 88|0);
$34 = ((($0)) + 92|0);
$35 = $20 & 3;
$36 = ($35|0)==(0);
$37 = ((($19)) + 1|0);
$38 = ((($19)) + 2|0);
$39 = ((($19)) + 3|0);
$40 = ((($19)) + 4|0);
$41 = ((($19)) + 5|0);
$42 = ((($19)) + 6|0);
$43 = ((($19)) + 7|0);
$44 = ((($0)) + 72|0);
$45 = ((($0)) + 73|0);
$46 = ((($0)) + 74|0);
$47 = ((($0)) + 75|0);
$48 = ((($0)) + 76|0);
$49 = ((($0)) + 77|0);
$50 = ((($0)) + 78|0);
$51 = ((($0)) + 79|0);
$52 = ((($5)) + 1|0);
$53 = ((($5)) + 2|0);
$54 = ((($5)) + 3|0);
$55 = ((($5)) + 4|0);
$56 = ((($55)) + 1|0);
$57 = ((($55)) + 2|0);
$58 = ((($55)) + 3|0);
$59 = ((($5)) + 8|0);
$60 = ((($59)) + 1|0);
$61 = ((($59)) + 2|0);
$62 = ((($59)) + 3|0);
$63 = ((($5)) + 12|0);
$64 = ((($63)) + 1|0);
$65 = ((($63)) + 2|0);
$66 = ((($63)) + 3|0);
$67 = ((($5)) + 1|0);
$68 = ((($28)) + 1|0);
$69 = ((($5)) + 2|0);
$70 = ((($28)) + 2|0);
$71 = ((($5)) + 3|0);
$72 = ((($28)) + 3|0);
$73 = ((($5)) + 4|0);
$74 = ((($28)) + 4|0);
$75 = ((($73)) + 1|0);
$76 = ((($28)) + 5|0);
$77 = ((($73)) + 2|0);
$78 = ((($28)) + 6|0);
$79 = ((($73)) + 3|0);
$80 = ((($28)) + 7|0);
$81 = ((($5)) + 8|0);
$82 = ((($0)) + 88|0);
$83 = ((($81)) + 1|0);
$84 = ((($0)) + 89|0);
$85 = ((($81)) + 2|0);
$86 = ((($0)) + 90|0);
$87 = ((($81)) + 3|0);
$88 = ((($0)) + 91|0);
$89 = ((($5)) + 12|0);
$90 = ((($0)) + 92|0);
$91 = ((($89)) + 1|0);
$92 = ((($0)) + 93|0);
$93 = ((($89)) + 2|0);
$94 = ((($0)) + 94|0);
$95 = ((($89)) + 3|0);
$96 = ((($0)) + 95|0);
$97 = ((($19)) + 1|0);
$98 = ((($5)) + 1|0);
$99 = ((($19)) + 2|0);
$100 = ((($5)) + 2|0);
$101 = ((($19)) + 3|0);
$102 = ((($5)) + 3|0);
$103 = ((($19)) + 4|0);
$104 = ((($5)) + 4|0);
$105 = ((($19)) + 5|0);
$106 = ((($104)) + 1|0);
$107 = ((($19)) + 6|0);
$108 = ((($104)) + 2|0);
$109 = ((($19)) + 7|0);
$110 = ((($104)) + 3|0);
$111 = ((($0)) + 72|0);
$112 = ((($5)) + 8|0);
$113 = ((($0)) + 73|0);
$114 = ((($112)) + 1|0);
$115 = ((($0)) + 74|0);
$116 = ((($112)) + 2|0);
$117 = ((($0)) + 75|0);
$118 = ((($112)) + 3|0);
$119 = ((($0)) + 76|0);
$120 = ((($5)) + 12|0);
$121 = ((($0)) + 77|0);
$122 = ((($120)) + 1|0);
$123 = ((($0)) + 78|0);
$124 = ((($120)) + 2|0);
$125 = ((($0)) + 79|0);
$126 = ((($120)) + 3|0);
$127 = ((($5)) + 1|0);
$128 = ((($5)) + 2|0);
$129 = ((($5)) + 3|0);
$130 = ((($5)) + 4|0);
$131 = ((($130)) + 1|0);
$132 = ((($130)) + 2|0);
$133 = ((($130)) + 3|0);
$134 = ((($5)) + 8|0);
$135 = ((($134)) + 1|0);
$136 = ((($134)) + 2|0);
$137 = ((($134)) + 3|0);
$138 = ((($5)) + 12|0);
$139 = ((($138)) + 1|0);
$140 = ((($138)) + 2|0);
$141 = ((($138)) + 3|0);
$$073153 = $3;$$074152 = $1;$$076151 = $2;
while(1) {
$142 = $18;
$143 = $142;
$144 = HEAP32[$143>>2]|0;
$145 = (($142) + 4)|0;
$146 = $145;
$147 = HEAP32[$146>>2]|0;
$148 = (_i64Add(($144|0),($147|0),1,0)|0);
$149 = tempRet0;
$150 = $18;
$151 = $150;
HEAP32[$151>>2] = $148;
$152 = (($150) + 4)|0;
$153 = $152;
HEAP32[$153>>2] = $149;
$154 = ($148|0)==(0);
$155 = (0)==(0);
$156 = $154 & $155;
if ($156) {
label = 11;
} else {
$157 = (_llvm_cttz_i32(($148|0))|0);
$158 = ($157>>>0)<(16);
if ($158) {
$159 = (($24) + ($157<<4)|0);
$$078 = $159;
} else {
label = 11;
}
}
if ((label|0) == 11) {
label = 0;
$160 = (__gcry_cipher_ocb_get_l($0,$5,$148,$149)|0);
$$078 = $160;
}
$161 = $$078;
$162 = $161 | $20;
$163 = $162 & 3;
$164 = ($163|0)==(0);
if ($164) {
$165 = ((($$078)) + 4|0);
$166 = HEAP32[$$078>>2]|0;
$167 = HEAP32[$19>>2]|0;
$168 = $167 ^ $166;
HEAP32[$19>>2] = $168;
$169 = ((($$078)) + 8|0);
$170 = HEAP32[$165>>2]|0;
$171 = HEAP32[$21>>2]|0;
$172 = $171 ^ $170;
HEAP32[$21>>2] = $172;
$173 = ((($$078)) + 12|0);
$174 = HEAP32[$169>>2]|0;
$175 = HEAP32[$22>>2]|0;
$176 = $175 ^ $174;
HEAP32[$22>>2] = $176;
$177 = HEAP32[$173>>2]|0;
$178 = HEAP32[$23>>2]|0;
$179 = $178 ^ $177;
HEAP32[$23>>2] = $179;
} else {
$180 = ((($$078)) + 1|0);
$181 = HEAP8[$$078>>0]|0;
$182 = HEAP8[$19>>0]|0;
$183 = $182 ^ $181;
HEAP8[$19>>0] = $183;
$184 = ((($$078)) + 2|0);
$185 = HEAP8[$180>>0]|0;
$186 = HEAP8[$37>>0]|0;
$187 = $186 ^ $185;
HEAP8[$37>>0] = $187;
$188 = ((($$078)) + 3|0);
$189 = HEAP8[$184>>0]|0;
$190 = HEAP8[$38>>0]|0;
$191 = $190 ^ $189;
HEAP8[$38>>0] = $191;
$192 = ((($$078)) + 4|0);
$193 = HEAP8[$188>>0]|0;
$194 = HEAP8[$39>>0]|0;
$195 = $194 ^ $193;
HEAP8[$39>>0] = $195;
$196 = ((($$078)) + 5|0);
$197 = HEAP8[$192>>0]|0;
$198 = HEAP8[$40>>0]|0;
$199 = $198 ^ $197;
HEAP8[$40>>0] = $199;
$200 = ((($$078)) + 6|0);
$201 = HEAP8[$196>>0]|0;
$202 = HEAP8[$41>>0]|0;
$203 = $202 ^ $201;
HEAP8[$41>>0] = $203;
$204 = ((($$078)) + 7|0);
$205 = HEAP8[$200>>0]|0;
$206 = HEAP8[$42>>0]|0;
$207 = $206 ^ $205;
HEAP8[$42>>0] = $207;
$208 = ((($$078)) + 8|0);
$209 = HEAP8[$204>>0]|0;
$210 = HEAP8[$43>>0]|0;
$211 = $210 ^ $209;
HEAP8[$43>>0] = $211;
$212 = ((($$078)) + 9|0);
$213 = HEAP8[$208>>0]|0;
$214 = HEAP8[$44>>0]|0;
$215 = $214 ^ $213;
HEAP8[$44>>0] = $215;
$216 = ((($$078)) + 10|0);
$217 = HEAP8[$212>>0]|0;
$218 = HEAP8[$45>>0]|0;
$219 = $218 ^ $217;
HEAP8[$45>>0] = $219;
$220 = ((($$078)) + 11|0);
$221 = HEAP8[$216>>0]|0;
$222 = HEAP8[$46>>0]|0;
$223 = $222 ^ $221;
HEAP8[$46>>0] = $223;
$224 = ((($$078)) + 12|0);
$225 = HEAP8[$220>>0]|0;
$226 = HEAP8[$47>>0]|0;
$227 = $226 ^ $225;
HEAP8[$47>>0] = $227;
$228 = ((($$078)) + 13|0);
$229 = HEAP8[$224>>0]|0;
$230 = HEAP8[$48>>0]|0;
$231 = $230 ^ $229;
HEAP8[$48>>0] = $231;
$232 = ((($$078)) + 14|0);
$233 = HEAP8[$228>>0]|0;
$234 = HEAP8[$49>>0]|0;
$235 = $234 ^ $233;
HEAP8[$49>>0] = $235;
$236 = ((($$078)) + 15|0);
$237 = HEAP8[$232>>0]|0;
$238 = HEAP8[$50>>0]|0;
$239 = $238 ^ $237;
HEAP8[$50>>0] = $239;
$240 = HEAP8[$236>>0]|0;
$241 = HEAP8[$51>>0]|0;
$242 = $241 ^ $240;
HEAP8[$51>>0] = $242;
}
$243 = $$076151;
$244 = $243 & 3;
$245 = ($244|0)==(0);
if ($245) {
$246 = ((($$076151)) + 4|0);
$247 = HEAP32[$$076151>>2]|0;
HEAP32[$5>>2] = $247;
$248 = ((($$076151)) + 8|0);
$249 = HEAP32[$246>>2]|0;
HEAP32[$25>>2] = $249;
$250 = ((($$076151)) + 12|0);
$251 = HEAP32[$248>>2]|0;
HEAP32[$26>>2] = $251;
$252 = HEAP32[$250>>2]|0;
HEAP32[$27>>2] = $252;
} else {
$253 = ((($$076151)) + 1|0);
$254 = HEAP8[$$076151>>0]|0;
HEAP8[$5>>0] = $254;
$255 = ((($$076151)) + 2|0);
$256 = HEAP8[$253>>0]|0;
HEAP8[$52>>0] = $256;
$257 = ((($$076151)) + 3|0);
$258 = HEAP8[$255>>0]|0;
HEAP8[$53>>0] = $258;
$259 = ((($$076151)) + 4|0);
$260 = HEAP8[$257>>0]|0;
HEAP8[$54>>0] = $260;
$261 = ((($$076151)) + 5|0);
$262 = HEAP8[$259>>0]|0;
HEAP8[$55>>0] = $262;
$263 = ((($$076151)) + 6|0);
$264 = HEAP8[$261>>0]|0;
HEAP8[$56>>0] = $264;
$265 = ((($$076151)) + 7|0);
$266 = HEAP8[$263>>0]|0;
HEAP8[$57>>0] = $266;
$267 = ((($$076151)) + 8|0);
$268 = HEAP8[$265>>0]|0;
HEAP8[$58>>0] = $268;
$269 = ((($$076151)) + 9|0);
$270 = HEAP8[$267>>0]|0;
HEAP8[$59>>0] = $270;
$271 = ((($$076151)) + 10|0);
$272 = HEAP8[$269>>0]|0;
HEAP8[$60>>0] = $272;
$273 = ((($$076151)) + 11|0);
$274 = HEAP8[$271>>0]|0;
HEAP8[$61>>0] = $274;
$275 = ((($$076151)) + 12|0);
$276 = HEAP8[$273>>0]|0;
HEAP8[$62>>0] = $276;
$277 = ((($$076151)) + 13|0);
$278 = HEAP8[$275>>0]|0;
HEAP8[$63>>0] = $278;
$279 = ((($$076151)) + 14|0);
$280 = HEAP8[$277>>0]|0;
HEAP8[$64>>0] = $280;
$281 = ((($$076151)) + 15|0);
$282 = HEAP8[$279>>0]|0;
HEAP8[$65>>0] = $282;
$283 = HEAP8[$281>>0]|0;
HEAP8[$66>>0] = $283;
}
if ($31) {
$284 = HEAP32[$5>>2]|0;
$285 = HEAP32[$28>>2]|0;
$286 = $285 ^ $284;
HEAP32[$28>>2] = $286;
$287 = HEAP32[$25>>2]|0;
$288 = HEAP32[$32>>2]|0;
$289 = $288 ^ $287;
HEAP32[$32>>2] = $289;
$290 = HEAP32[$26>>2]|0;
$291 = HEAP32[$33>>2]|0;
$292 = $291 ^ $290;
HEAP32[$33>>2] = $292;
$293 = HEAP32[$27>>2]|0;
$294 = HEAP32[$34>>2]|0;
$295 = $294 ^ $293;
HEAP32[$34>>2] = $295;
} else {
$296 = HEAP8[$5>>0]|0;
$297 = HEAP8[$28>>0]|0;
$298 = $297 ^ $296;
HEAP8[$28>>0] = $298;
$299 = HEAP8[$67>>0]|0;
$300 = HEAP8[$68>>0]|0;
$301 = $300 ^ $299;
HEAP8[$68>>0] = $301;
$302 = HEAP8[$69>>0]|0;
$303 = HEAP8[$70>>0]|0;
$304 = $303 ^ $302;
HEAP8[$70>>0] = $304;
$305 = HEAP8[$71>>0]|0;
$306 = HEAP8[$72>>0]|0;
$307 = $306 ^ $305;
HEAP8[$72>>0] = $307;
$308 = HEAP8[$73>>0]|0;
$309 = HEAP8[$74>>0]|0;
$310 = $309 ^ $308;
HEAP8[$74>>0] = $310;
$311 = HEAP8[$75>>0]|0;
$312 = HEAP8[$76>>0]|0;
$313 = $312 ^ $311;
HEAP8[$76>>0] = $313;
$314 = HEAP8[$77>>0]|0;
$315 = HEAP8[$78>>0]|0;
$316 = $315 ^ $314;
HEAP8[$78>>0] = $316;
$317 = HEAP8[$79>>0]|0;
$318 = HEAP8[$80>>0]|0;
$319 = $318 ^ $317;
HEAP8[$80>>0] = $319;
$320 = HEAP8[$81>>0]|0;
$321 = HEAP8[$82>>0]|0;
$322 = $321 ^ $320;
HEAP8[$82>>0] = $322;
$323 = HEAP8[$83>>0]|0;
$324 = HEAP8[$84>>0]|0;
$325 = $324 ^ $323;
HEAP8[$84>>0] = $325;
$326 = HEAP8[$85>>0]|0;
$327 = HEAP8[$86>>0]|0;
$328 = $327 ^ $326;
HEAP8[$86>>0] = $328;
$329 = HEAP8[$87>>0]|0;
$330 = HEAP8[$88>>0]|0;
$331 = $330 ^ $329;
HEAP8[$88>>0] = $331;
$332 = HEAP8[$89>>0]|0;
$333 = HEAP8[$90>>0]|0;
$334 = $333 ^ $332;
HEAP8[$90>>0] = $334;
$335 = HEAP8[$91>>0]|0;
$336 = HEAP8[$92>>0]|0;
$337 = $336 ^ $335;
HEAP8[$92>>0] = $337;
$338 = HEAP8[$93>>0]|0;
$339 = HEAP8[$94>>0]|0;
$340 = $339 ^ $338;
HEAP8[$94>>0] = $340;
$341 = HEAP8[$95>>0]|0;
$342 = HEAP8[$96>>0]|0;
$343 = $342 ^ $341;
HEAP8[$96>>0] = $343;
}
if ($36) {
$344 = HEAP32[$19>>2]|0;
$345 = HEAP32[$5>>2]|0;
$346 = $345 ^ $344;
HEAP32[$5>>2] = $346;
$347 = HEAP32[$21>>2]|0;
$348 = HEAP32[$25>>2]|0;
$349 = $348 ^ $347;
HEAP32[$25>>2] = $349;
$350 = HEAP32[$22>>2]|0;
$351 = HEAP32[$26>>2]|0;
$352 = $351 ^ $350;
HEAP32[$26>>2] = $352;
$353 = HEAP32[$23>>2]|0;
$354 = HEAP32[$27>>2]|0;
$355 = $354 ^ $353;
HEAP32[$27>>2] = $355;
$356 = (FUNCTION_TABLE_iiii[$16 & 127]($7,$5,$5)|0);
$357 = HEAP32[$19>>2]|0;
$358 = HEAP32[$5>>2]|0;
$359 = $358 ^ $357;
HEAP32[$5>>2] = $359;
$360 = HEAP32[$21>>2]|0;
$361 = HEAP32[$25>>2]|0;
$362 = $361 ^ $360;
HEAP32[$25>>2] = $362;
$363 = HEAP32[$22>>2]|0;
$364 = HEAP32[$26>>2]|0;
$365 = $364 ^ $363;
HEAP32[$26>>2] = $365;
$366 = HEAP32[$23>>2]|0;
$367 = HEAP32[$27>>2]|0;
$368 = $367 ^ $366;
HEAP32[$27>>2] = $368;
$1009 = $356;
} else {
$369 = HEAP8[$19>>0]|0;
$370 = HEAP8[$5>>0]|0;
$371 = $370 ^ $369;
HEAP8[$5>>0] = $371;
$372 = HEAP8[$97>>0]|0;
$373 = HEAP8[$98>>0]|0;
$374 = $373 ^ $372;
HEAP8[$98>>0] = $374;
$375 = HEAP8[$99>>0]|0;
$376 = HEAP8[$100>>0]|0;
$377 = $376 ^ $375;
HEAP8[$100>>0] = $377;
$378 = HEAP8[$101>>0]|0;
$379 = HEAP8[$102>>0]|0;
$380 = $379 ^ $378;
HEAP8[$102>>0] = $380;
$381 = HEAP8[$103>>0]|0;
$382 = HEAP8[$104>>0]|0;
$383 = $382 ^ $381;
HEAP8[$104>>0] = $383;
$384 = HEAP8[$105>>0]|0;
$385 = HEAP8[$106>>0]|0;
$386 = $385 ^ $384;
HEAP8[$106>>0] = $386;
$387 = HEAP8[$107>>0]|0;
$388 = HEAP8[$108>>0]|0;
$389 = $388 ^ $387;
HEAP8[$108>>0] = $389;
$390 = HEAP8[$109>>0]|0;
$391 = HEAP8[$110>>0]|0;
$392 = $391 ^ $390;
HEAP8[$110>>0] = $392;
$393 = HEAP8[$111>>0]|0;
$394 = HEAP8[$112>>0]|0;
$395 = $394 ^ $393;
HEAP8[$112>>0] = $395;
$396 = HEAP8[$113>>0]|0;
$397 = HEAP8[$114>>0]|0;
$398 = $397 ^ $396;
HEAP8[$114>>0] = $398;
$399 = HEAP8[$115>>0]|0;
$400 = HEAP8[$116>>0]|0;
$401 = $400 ^ $399;
HEAP8[$116>>0] = $401;
$402 = HEAP8[$117>>0]|0;
$403 = HEAP8[$118>>0]|0;
$404 = $403 ^ $402;
HEAP8[$118>>0] = $404;
$405 = HEAP8[$119>>0]|0;
$406 = HEAP8[$120>>0]|0;
$407 = $406 ^ $405;
HEAP8[$120>>0] = $407;
$408 = HEAP8[$121>>0]|0;
$409 = HEAP8[$122>>0]|0;
$410 = $409 ^ $408;
HEAP8[$122>>0] = $410;
$411 = HEAP8[$123>>0]|0;
$412 = HEAP8[$124>>0]|0;
$413 = $412 ^ $411;
HEAP8[$124>>0] = $413;
$414 = HEAP8[$125>>0]|0;
$415 = HEAP8[$126>>0]|0;
$416 = $415 ^ $414;
HEAP8[$126>>0] = $416;
$417 = (FUNCTION_TABLE_iiii[$16 & 127]($7,$5,$5)|0);
$418 = HEAP8[$19>>0]|0;
$419 = HEAP8[$5>>0]|0;
$420 = $419 ^ $418;
HEAP8[$5>>0] = $420;
$421 = HEAP8[$97>>0]|0;
$422 = HEAP8[$98>>0]|0;
$423 = $422 ^ $421;
HEAP8[$98>>0] = $423;
$424 = HEAP8[$99>>0]|0;
$425 = HEAP8[$100>>0]|0;
$426 = $425 ^ $424;
HEAP8[$100>>0] = $426;
$427 = HEAP8[$101>>0]|0;
$428 = HEAP8[$102>>0]|0;
$429 = $428 ^ $427;
HEAP8[$102>>0] = $429;
$430 = HEAP8[$103>>0]|0;
$431 = HEAP8[$104>>0]|0;
$432 = $431 ^ $430;
HEAP8[$104>>0] = $432;
$433 = HEAP8[$105>>0]|0;
$434 = HEAP8[$106>>0]|0;
$435 = $434 ^ $433;
HEAP8[$106>>0] = $435;
$436 = HEAP8[$107>>0]|0;
$437 = HEAP8[$108>>0]|0;
$438 = $437 ^ $436;
HEAP8[$108>>0] = $438;
$439 = HEAP8[$109>>0]|0;
$440 = HEAP8[$110>>0]|0;
$441 = $440 ^ $439;
HEAP8[$110>>0] = $441;
$442 = HEAP8[$111>>0]|0;
$443 = HEAP8[$112>>0]|0;
$444 = $443 ^ $442;
HEAP8[$112>>0] = $444;
$445 = HEAP8[$113>>0]|0;
$446 = HEAP8[$114>>0]|0;
$447 = $446 ^ $445;
HEAP8[$114>>0] = $447;
$448 = HEAP8[$115>>0]|0;
$449 = HEAP8[$116>>0]|0;
$450 = $449 ^ $448;
HEAP8[$116>>0] = $450;
$451 = HEAP8[$117>>0]|0;
$452 = HEAP8[$118>>0]|0;
$453 = $452 ^ $451;
HEAP8[$118>>0] = $453;
$454 = HEAP8[$119>>0]|0;
$455 = HEAP8[$120>>0]|0;
$456 = $455 ^ $454;
HEAP8[$120>>0] = $456;
$457 = HEAP8[$121>>0]|0;
$458 = HEAP8[$122>>0]|0;
$459 = $458 ^ $457;
HEAP8[$122>>0] = $459;
$460 = HEAP8[$123>>0]|0;
$461 = HEAP8[$124>>0]|0;
$462 = $461 ^ $460;
HEAP8[$124>>0] = $462;
$463 = HEAP8[$125>>0]|0;
$464 = HEAP8[$126>>0]|0;
$465 = $464 ^ $463;
HEAP8[$126>>0] = $465;
$1009 = $417;
}
$466 = $$074152;
$467 = $466 & 3;
$468 = ($467|0)==(0);
if ($468) {
$469 = HEAP32[$5>>2]|0;
$470 = ((($$074152)) + 4|0);
HEAP32[$$074152>>2] = $469;
$471 = HEAP32[$25>>2]|0;
$472 = ((($$074152)) + 8|0);
HEAP32[$470>>2] = $471;
$473 = HEAP32[$26>>2]|0;
$474 = ((($$074152)) + 12|0);
HEAP32[$472>>2] = $473;
$475 = HEAP32[$27>>2]|0;
HEAP32[$474>>2] = $475;
} else {
$476 = HEAP8[$5>>0]|0;
$477 = ((($$074152)) + 1|0);
HEAP8[$$074152>>0] = $476;
$478 = HEAP8[$127>>0]|0;
$479 = ((($$074152)) + 2|0);
HEAP8[$477>>0] = $478;
$480 = HEAP8[$128>>0]|0;
$481 = ((($$074152)) + 3|0);
HEAP8[$479>>0] = $480;
$482 = HEAP8[$129>>0]|0;
$483 = ((($$074152)) + 4|0);
HEAP8[$481>>0] = $482;
$484 = HEAP8[$130>>0]|0;
$485 = ((($$074152)) + 5|0);
HEAP8[$483>>0] = $484;
$486 = HEAP8[$131>>0]|0;
$487 = ((($$074152)) + 6|0);
HEAP8[$485>>0] = $486;
$488 = HEAP8[$132>>0]|0;
$489 = ((($$074152)) + 7|0);
HEAP8[$487>>0] = $488;
$490 = HEAP8[$133>>0]|0;
$491 = ((($$074152)) + 8|0);
HEAP8[$489>>0] = $490;
$492 = HEAP8[$134>>0]|0;
$493 = ((($$074152)) + 9|0);
HEAP8[$491>>0] = $492;
$494 = HEAP8[$135>>0]|0;
$495 = ((($$074152)) + 10|0);
HEAP8[$493>>0] = $494;
$496 = HEAP8[$136>>0]|0;
$497 = ((($$074152)) + 11|0);
HEAP8[$495>>0] = $496;
$498 = HEAP8[$137>>0]|0;
$499 = ((($$074152)) + 12|0);
HEAP8[$497>>0] = $498;
$500 = HEAP8[$138>>0]|0;
$501 = ((($$074152)) + 13|0);
HEAP8[$499>>0] = $500;
$502 = HEAP8[$139>>0]|0;
$503 = ((($$074152)) + 14|0);
HEAP8[$501>>0] = $502;
$504 = HEAP8[$140>>0]|0;
$505 = ((($$074152)) + 15|0);
HEAP8[$503>>0] = $504;
$506 = HEAP8[$141>>0]|0;
HEAP8[$505>>0] = $506;
}
$507 = ((($$076151)) + 16|0);
$508 = ((($$074152)) + 16|0);
$509 = (($$073153) + -1)|0;
$510 = ($509|0)==(0);
if ($510) {
$$079$lcssa = $1009;
break;
} else {
$$073153 = $509;$$074152 = $508;$$076151 = $507;
}
}
}
$$2 = $$079$lcssa;
}
$1007 = ($$2|0)==(0);
if ($1007) {
STACKTOP = sp;return;
}
$1008 = (($$2) + 16)|0;
___gcry_burn_stack($1008);
STACKTOP = sp;return;
}
function __gcry_aes_ocb_auth($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$06590 = 0, $$071 = 0, $$091 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0;
var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0;
var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0;
var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
var $369 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = ((($0)) + 496|0);
$5 = ((($4)) + 496|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0|0);
if (!($7)) {
FUNCTION_TABLE_v[$6 & 127]();
}
$8 = ((($4)) + 488|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($2|0)==(0);
if ($10) {
$11 = $3;
$12 = $11;
HEAP32[$12>>2] = 0;
$13 = (($11) + 4)|0;
$14 = $13;
HEAP32[$14>>2] = 0;
$15 = ((($3)) + 8|0);
$16 = $15;
$17 = $16;
HEAP32[$17>>2] = 0;
$18 = (($16) + 4)|0;
$19 = $18;
HEAP32[$19>>2] = 0;
STACKTOP = sp;return;
}
$20 = ((($0)) + 472|0);
$21 = ((($0)) + 432|0);
$22 = $21;
$23 = ((($0)) + 436|0);
$24 = ((($0)) + 440|0);
$25 = ((($0)) + 444|0);
$26 = ((($0)) + 160|0);
$27 = ((($3)) + 4|0);
$28 = ((($3)) + 8|0);
$29 = ((($3)) + 12|0);
$30 = ((($0)) + 448|0);
$31 = $30;
$32 = $31 & 3;
$33 = ($32|0)==(0);
$34 = ((($0)) + 452|0);
$35 = ((($0)) + 456|0);
$36 = ((($0)) + 460|0);
$37 = ((($21)) + 1|0);
$38 = ((($21)) + 2|0);
$39 = ((($21)) + 3|0);
$40 = ((($0)) + 436|0);
$41 = ((($40)) + 1|0);
$42 = ((($40)) + 2|0);
$43 = ((($40)) + 3|0);
$44 = ((($0)) + 440|0);
$45 = ((($44)) + 1|0);
$46 = ((($44)) + 2|0);
$47 = ((($44)) + 3|0);
$48 = ((($0)) + 444|0);
$49 = ((($48)) + 1|0);
$50 = ((($48)) + 2|0);
$51 = ((($48)) + 3|0);
$52 = ((($21)) + 1|0);
$53 = ((($3)) + 1|0);
$54 = ((($21)) + 2|0);
$55 = ((($3)) + 2|0);
$56 = ((($21)) + 3|0);
$57 = ((($3)) + 3|0);
$58 = ((($0)) + 436|0);
$59 = ((($3)) + 4|0);
$60 = ((($58)) + 1|0);
$61 = ((($59)) + 1|0);
$62 = ((($58)) + 2|0);
$63 = ((($59)) + 2|0);
$64 = ((($58)) + 3|0);
$65 = ((($59)) + 3|0);
$66 = ((($0)) + 440|0);
$67 = ((($3)) + 8|0);
$68 = ((($66)) + 1|0);
$69 = ((($67)) + 1|0);
$70 = ((($66)) + 2|0);
$71 = ((($67)) + 2|0);
$72 = ((($66)) + 3|0);
$73 = ((($67)) + 3|0);
$74 = ((($0)) + 444|0);
$75 = ((($3)) + 12|0);
$76 = ((($74)) + 1|0);
$77 = ((($75)) + 1|0);
$78 = ((($74)) + 2|0);
$79 = ((($75)) + 2|0);
$80 = ((($74)) + 3|0);
$81 = ((($75)) + 3|0);
$82 = ((($3)) + 1|0);
$83 = ((($30)) + 1|0);
$84 = ((($3)) + 2|0);
$85 = ((($30)) + 2|0);
$86 = ((($3)) + 3|0);
$87 = ((($30)) + 3|0);
$88 = ((($3)) + 4|0);
$89 = ((($0)) + 452|0);
$90 = ((($88)) + 1|0);
$91 = ((($89)) + 1|0);
$92 = ((($88)) + 2|0);
$93 = ((($89)) + 2|0);
$94 = ((($88)) + 3|0);
$95 = ((($89)) + 3|0);
$96 = ((($3)) + 8|0);
$97 = ((($0)) + 456|0);
$98 = ((($96)) + 1|0);
$99 = ((($97)) + 1|0);
$100 = ((($96)) + 2|0);
$101 = ((($97)) + 2|0);
$102 = ((($96)) + 3|0);
$103 = ((($97)) + 3|0);
$104 = ((($3)) + 12|0);
$105 = ((($0)) + 460|0);
$106 = ((($104)) + 1|0);
$107 = ((($105)) + 1|0);
$108 = ((($104)) + 2|0);
$109 = ((($105)) + 2|0);
$110 = ((($104)) + 3|0);
$111 = ((($105)) + 3|0);
$$06590 = $1;$$091 = $2;
while(1) {
$112 = $20;
$113 = $112;
$114 = HEAP32[$113>>2]|0;
$115 = (($112) + 4)|0;
$116 = $115;
$117 = HEAP32[$116>>2]|0;
$118 = (_i64Add(($114|0),($117|0),1,0)|0);
$119 = tempRet0;
$120 = $20;
$121 = $120;
HEAP32[$121>>2] = $118;
$122 = (($120) + 4)|0;
$123 = $122;
HEAP32[$123>>2] = $119;
$124 = ($118|0)==(0);
$125 = (0)==(0);
$126 = $124 & $125;
if ($126) {
label = 9;
} else {
$127 = (_llvm_cttz_i32(($118|0))|0);
$128 = ($127>>>0)<(16);
if ($128) {
$129 = (($26) + ($127<<4)|0);
$$071 = $129;
} else {
label = 9;
}
}
if ((label|0) == 9) {
label = 0;
$130 = (__gcry_cipher_ocb_get_l($0,$3,$118,$119)|0);
$$071 = $130;
}
$131 = $$071;
$132 = $131 | $22;
$133 = $132 & 3;
$134 = ($133|0)==(0);
if ($134) {
$135 = ((($$071)) + 4|0);
$136 = HEAP32[$$071>>2]|0;
$137 = HEAP32[$21>>2]|0;
$138 = $137 ^ $136;
HEAP32[$21>>2] = $138;
$139 = ((($$071)) + 8|0);
$140 = HEAP32[$135>>2]|0;
$141 = HEAP32[$23>>2]|0;
$142 = $141 ^ $140;
HEAP32[$23>>2] = $142;
$143 = ((($$071)) + 12|0);
$144 = HEAP32[$139>>2]|0;
$145 = HEAP32[$24>>2]|0;
$146 = $145 ^ $144;
HEAP32[$24>>2] = $146;
$147 = HEAP32[$143>>2]|0;
$148 = HEAP32[$25>>2]|0;
$149 = $148 ^ $147;
HEAP32[$25>>2] = $149;
} else {
$150 = ((($$071)) + 1|0);
$151 = HEAP8[$$071>>0]|0;
$152 = HEAP8[$21>>0]|0;
$153 = $152 ^ $151;
HEAP8[$21>>0] = $153;
$154 = ((($$071)) + 2|0);
$155 = HEAP8[$150>>0]|0;
$156 = HEAP8[$37>>0]|0;
$157 = $156 ^ $155;
HEAP8[$37>>0] = $157;
$158 = ((($$071)) + 3|0);
$159 = HEAP8[$154>>0]|0;
$160 = HEAP8[$38>>0]|0;
$161 = $160 ^ $159;
HEAP8[$38>>0] = $161;
$162 = ((($$071)) + 4|0);
$163 = HEAP8[$158>>0]|0;
$164 = HEAP8[$39>>0]|0;
$165 = $164 ^ $163;
HEAP8[$39>>0] = $165;
$166 = ((($$071)) + 5|0);
$167 = HEAP8[$162>>0]|0;
$168 = HEAP8[$40>>0]|0;
$169 = $168 ^ $167;
HEAP8[$40>>0] = $169;
$170 = ((($$071)) + 6|0);
$171 = HEAP8[$166>>0]|0;
$172 = HEAP8[$41>>0]|0;
$173 = $172 ^ $171;
HEAP8[$41>>0] = $173;
$174 = ((($$071)) + 7|0);
$175 = HEAP8[$170>>0]|0;
$176 = HEAP8[$42>>0]|0;
$177 = $176 ^ $175;
HEAP8[$42>>0] = $177;
$178 = ((($$071)) + 8|0);
$179 = HEAP8[$174>>0]|0;
$180 = HEAP8[$43>>0]|0;
$181 = $180 ^ $179;
HEAP8[$43>>0] = $181;
$182 = ((($$071)) + 9|0);
$183 = HEAP8[$178>>0]|0;
$184 = HEAP8[$44>>0]|0;
$185 = $184 ^ $183;
HEAP8[$44>>0] = $185;
$186 = ((($$071)) + 10|0);
$187 = HEAP8[$182>>0]|0;
$188 = HEAP8[$45>>0]|0;
$189 = $188 ^ $187;
HEAP8[$45>>0] = $189;
$190 = ((($$071)) + 11|0);
$191 = HEAP8[$186>>0]|0;
$192 = HEAP8[$46>>0]|0;
$193 = $192 ^ $191;
HEAP8[$46>>0] = $193;
$194 = ((($$071)) + 12|0);
$195 = HEAP8[$190>>0]|0;
$196 = HEAP8[$47>>0]|0;
$197 = $196 ^ $195;
HEAP8[$47>>0] = $197;
$198 = ((($$071)) + 13|0);
$199 = HEAP8[$194>>0]|0;
$200 = HEAP8[$48>>0]|0;
$201 = $200 ^ $199;
HEAP8[$48>>0] = $201;
$202 = ((($$071)) + 14|0);
$203 = HEAP8[$198>>0]|0;
$204 = HEAP8[$49>>0]|0;
$205 = $204 ^ $203;
HEAP8[$49>>0] = $205;
$206 = ((($$071)) + 15|0);
$207 = HEAP8[$202>>0]|0;
$208 = HEAP8[$50>>0]|0;
$209 = $208 ^ $207;
HEAP8[$50>>0] = $209;
$210 = HEAP8[$206>>0]|0;
$211 = HEAP8[$51>>0]|0;
$212 = $211 ^ $210;
HEAP8[$51>>0] = $212;
}
$213 = $$06590;
$214 = $213 | $22;
$215 = $214 & 3;
$216 = ($215|0)==(0);
if ($216) {
$217 = HEAP32[$21>>2]|0;
$218 = ((($$06590)) + 4|0);
$219 = HEAP32[$$06590>>2]|0;
$220 = $219 ^ $217;
HEAP32[$3>>2] = $220;
$221 = HEAP32[$23>>2]|0;
$222 = ((($$06590)) + 8|0);
$223 = HEAP32[$218>>2]|0;
$224 = $223 ^ $221;
HEAP32[$27>>2] = $224;
$225 = HEAP32[$24>>2]|0;
$226 = ((($$06590)) + 12|0);
$227 = HEAP32[$222>>2]|0;
$228 = $227 ^ $225;
HEAP32[$28>>2] = $228;
$229 = HEAP32[$25>>2]|0;
$230 = HEAP32[$226>>2]|0;
$231 = $230 ^ $229;
HEAP32[$29>>2] = $231;
} else {
$232 = HEAP8[$21>>0]|0;
$233 = ((($$06590)) + 1|0);
$234 = HEAP8[$$06590>>0]|0;
$235 = $234 ^ $232;
HEAP8[$3>>0] = $235;
$236 = HEAP8[$52>>0]|0;
$237 = ((($$06590)) + 2|0);
$238 = HEAP8[$233>>0]|0;
$239 = $238 ^ $236;
HEAP8[$53>>0] = $239;
$240 = HEAP8[$54>>0]|0;
$241 = ((($$06590)) + 3|0);
$242 = HEAP8[$237>>0]|0;
$243 = $242 ^ $240;
HEAP8[$55>>0] = $243;
$244 = HEAP8[$56>>0]|0;
$245 = ((($$06590)) + 4|0);
$246 = HEAP8[$241>>0]|0;
$247 = $246 ^ $244;
HEAP8[$57>>0] = $247;
$248 = HEAP8[$58>>0]|0;
$249 = ((($$06590)) + 5|0);
$250 = HEAP8[$245>>0]|0;
$251 = $250 ^ $248;
HEAP8[$59>>0] = $251;
$252 = HEAP8[$60>>0]|0;
$253 = ((($$06590)) + 6|0);
$254 = HEAP8[$249>>0]|0;
$255 = $254 ^ $252;
HEAP8[$61>>0] = $255;
$256 = HEAP8[$62>>0]|0;
$257 = ((($$06590)) + 7|0);
$258 = HEAP8[$253>>0]|0;
$259 = $258 ^ $256;
HEAP8[$63>>0] = $259;
$260 = HEAP8[$64>>0]|0;
$261 = ((($$06590)) + 8|0);
$262 = HEAP8[$257>>0]|0;
$263 = $262 ^ $260;
HEAP8[$65>>0] = $263;
$264 = HEAP8[$66>>0]|0;
$265 = ((($$06590)) + 9|0);
$266 = HEAP8[$261>>0]|0;
$267 = $266 ^ $264;
HEAP8[$67>>0] = $267;
$268 = HEAP8[$68>>0]|0;
$269 = ((($$06590)) + 10|0);
$270 = HEAP8[$265>>0]|0;
$271 = $270 ^ $268;
HEAP8[$69>>0] = $271;
$272 = HEAP8[$70>>0]|0;
$273 = ((($$06590)) + 11|0);
$274 = HEAP8[$269>>0]|0;
$275 = $274 ^ $272;
HEAP8[$71>>0] = $275;
$276 = HEAP8[$72>>0]|0;
$277 = ((($$06590)) + 12|0);
$278 = HEAP8[$273>>0]|0;
$279 = $278 ^ $276;
HEAP8[$73>>0] = $279;
$280 = HEAP8[$74>>0]|0;
$281 = ((($$06590)) + 13|0);
$282 = HEAP8[$277>>0]|0;
$283 = $282 ^ $280;
HEAP8[$75>>0] = $283;
$284 = HEAP8[$76>>0]|0;
$285 = ((($$06590)) + 14|0);
$286 = HEAP8[$281>>0]|0;
$287 = $286 ^ $284;
HEAP8[$77>>0] = $287;
$288 = HEAP8[$78>>0]|0;
$289 = ((($$06590)) + 15|0);
$290 = HEAP8[$285>>0]|0;
$291 = $290 ^ $288;
HEAP8[$79>>0] = $291;
$292 = HEAP8[$80>>0]|0;
$293 = HEAP8[$289>>0]|0;
$294 = $293 ^ $292;
HEAP8[$81>>0] = $294;
}
$295 = (FUNCTION_TABLE_iiii[$9 & 127]($4,$3,$3)|0);
if ($33) {
$296 = HEAP32[$3>>2]|0;
$297 = HEAP32[$30>>2]|0;
$298 = $297 ^ $296;
HEAP32[$30>>2] = $298;
$299 = HEAP32[$27>>2]|0;
$300 = HEAP32[$34>>2]|0;
$301 = $300 ^ $299;
HEAP32[$34>>2] = $301;
$302 = HEAP32[$28>>2]|0;
$303 = HEAP32[$35>>2]|0;
$304 = $303 ^ $302;
HEAP32[$35>>2] = $304;
$305 = HEAP32[$29>>2]|0;
$306 = HEAP32[$36>>2]|0;
$307 = $306 ^ $305;
HEAP32[$36>>2] = $307;
} else {
$308 = HEAP8[$3>>0]|0;
$309 = HEAP8[$30>>0]|0;
$310 = $309 ^ $308;
HEAP8[$30>>0] = $310;
$311 = HEAP8[$82>>0]|0;
$312 = HEAP8[$83>>0]|0;
$313 = $312 ^ $311;
HEAP8[$83>>0] = $313;
$314 = HEAP8[$84>>0]|0;
$315 = HEAP8[$85>>0]|0;
$316 = $315 ^ $314;
HEAP8[$85>>0] = $316;
$317 = HEAP8[$86>>0]|0;
$318 = HEAP8[$87>>0]|0;
$319 = $318 ^ $317;
HEAP8[$87>>0] = $319;
$320 = HEAP8[$88>>0]|0;
$321 = HEAP8[$89>>0]|0;
$322 = $321 ^ $320;
HEAP8[$89>>0] = $322;
$323 = HEAP8[$90>>0]|0;
$324 = HEAP8[$91>>0]|0;
$325 = $324 ^ $323;
HEAP8[$91>>0] = $325;
$326 = HEAP8[$92>>0]|0;
$327 = HEAP8[$93>>0]|0;
$328 = $327 ^ $326;
HEAP8[$93>>0] = $328;
$329 = HEAP8[$94>>0]|0;
$330 = HEAP8[$95>>0]|0;
$331 = $330 ^ $329;
HEAP8[$95>>0] = $331;
$332 = HEAP8[$96>>0]|0;
$333 = HEAP8[$97>>0]|0;
$334 = $333 ^ $332;
HEAP8[$97>>0] = $334;
$335 = HEAP8[$98>>0]|0;
$336 = HEAP8[$99>>0]|0;
$337 = $336 ^ $335;
HEAP8[$99>>0] = $337;
$338 = HEAP8[$100>>0]|0;
$339 = HEAP8[$101>>0]|0;
$340 = $339 ^ $338;
HEAP8[$101>>0] = $340;
$341 = HEAP8[$102>>0]|0;
$342 = HEAP8[$103>>0]|0;
$343 = $342 ^ $341;
HEAP8[$103>>0] = $343;
$344 = HEAP8[$104>>0]|0;
$345 = HEAP8[$105>>0]|0;
$346 = $345 ^ $344;
HEAP8[$105>>0] = $346;
$347 = HEAP8[$106>>0]|0;
$348 = HEAP8[$107>>0]|0;
$349 = $348 ^ $347;
HEAP8[$107>>0] = $349;
$350 = HEAP8[$108>>0]|0;
$351 = HEAP8[$109>>0]|0;
$352 = $351 ^ $350;
HEAP8[$109>>0] = $352;
$353 = HEAP8[$110>>0]|0;
$354 = HEAP8[$111>>0]|0;
$355 = $354 ^ $353;
HEAP8[$111>>0] = $355;
}
$356 = ((($$06590)) + 16|0);
$357 = (($$091) + -1)|0;
$358 = ($357|0)==(0);
if ($358) {
break;
} else {
$$06590 = $356;$$091 = $357;
}
}
$359 = $3;
$360 = $359;
HEAP32[$360>>2] = 0;
$361 = (($359) + 4)|0;
$362 = $361;
HEAP32[$362>>2] = 0;
$363 = ((($3)) + 8|0);
$364 = $363;
$365 = $364;
HEAP32[$365>>2] = 0;
$366 = (($364) + 4)|0;
$367 = $366;
HEAP32[$367>>2] = 0;
$368 = ($295|0)==(0);
if ($368) {
STACKTOP = sp;return;
}
$369 = (($295) + 16)|0;
___gcry_burn_stack($369);
STACKTOP = sp;return;
}
function _rmd160_init($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 160|0);
HEAP32[$2>>2] = 1732584193;
$3 = ((($0)) + 164|0);
HEAP32[$3>>2] = -271733879;
$4 = ((($0)) + 168|0);
HEAP32[$4>>2] = -1732584194;
$5 = ((($0)) + 172|0);
HEAP32[$5>>2] = 271733878;
$6 = ((($0)) + 176|0);
HEAP32[$6>>2] = -1009589776;
$7 = ((($0)) + 128|0);
$8 = ((($0)) + 148|0);
;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;HEAP32[$7+16>>2]=0|0;
HEAP32[$8>>2] = 64;
$9 = ((($0)) + 152|0);
HEAP32[$9>>2] = 76;
return;
}
function _rmd160_final($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $spec$select = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
__gcry_md_block_write($0,0,0);
$1 = ((($0)) + 128|0);
$2 = $1;
$3 = $2;
$4 = HEAP32[$3>>2]|0;
$5 = (($2) + 4)|0;
$6 = $5;
$7 = HEAP32[$6>>2]|0;
$8 = $4 << 6;
$9 = (_bitshift64Lshr(($4|0),($7|0),26)|0);
$10 = tempRet0;
$11 = $9 & 536870848;
$12 = $4 >>> 26;
$13 = $11 | $12;
$14 = ((($0)) + 144|0);
$15 = HEAP32[$14>>2]|0;
$16 = (($8) + ($15))|0;
$17 = ($16>>>0)<($8>>>0);
$18 = $17&1;
$spec$select = (($13) + ($18))|0;
$19 = $16 << 3;
$20 = $spec$select << 3;
$21 = $16 >>> 29;
$22 = $20 | $21;
$23 = ($15|0)<(56);
$24 = (($15) + 1)|0;
HEAP32[$14>>2] = $24;
$25 = (($0) + ($15)|0);
HEAP8[$25>>0] = -128;
$26 = HEAP32[$14>>2]|0;
if ($23) {
$27 = ($26|0)<(56);
if ($27) {
$29 = $26;
while(1) {
$28 = (($29) + 1)|0;
HEAP32[$14>>2] = $28;
$30 = (($0) + ($29)|0);
HEAP8[$30>>0] = 0;
$31 = HEAP32[$14>>2]|0;
$32 = ($31|0)<(56);
if ($32) {
$29 = $31;
} else {
break;
}
}
}
} else {
$33 = ($26|0)<(64);
if ($33) {
$35 = $26;
while(1) {
$34 = (($35) + 1)|0;
HEAP32[$14>>2] = $34;
$36 = (($0) + ($35)|0);
HEAP8[$36>>0] = 0;
$37 = HEAP32[$14>>2]|0;
$38 = ($37|0)<(64);
if ($38) {
$35 = $37;
} else {
break;
}
}
}
__gcry_md_block_write($0,0,0);
dest=$0; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
}
$39 = ((($0)) + 56|0);
$40 = $16 >>> 21;
$41 = $40&255;
$42 = ((($0)) + 59|0);
HEAP8[$42>>0] = $41;
$43 = $16 >>> 13;
$44 = $43&255;
$45 = ((($0)) + 58|0);
HEAP8[$45>>0] = $44;
$46 = $16 >>> 5;
$47 = $46&255;
$48 = ((($0)) + 57|0);
HEAP8[$48>>0] = $47;
$49 = $19&255;
HEAP8[$39>>0] = $49;
$50 = ((($0)) + 60|0);
$51 = $spec$select >>> 21;
$52 = $51&255;
$53 = ((($0)) + 63|0);
HEAP8[$53>>0] = $52;
$54 = $spec$select >>> 13;
$55 = $54&255;
$56 = ((($0)) + 62|0);
HEAP8[$56>>0] = $55;
$57 = $spec$select >>> 5;
$58 = $57&255;
$59 = ((($0)) + 61|0);
HEAP8[$59>>0] = $58;
$60 = $22&255;
HEAP8[$50>>0] = $60;
(_transform($0,$0,1)|0);
___gcry_burn_stack(124);
$61 = ((($0)) + 160|0);
$62 = HEAP32[$61>>2]|0;
$63 = $62 >>> 24;
$64 = $63&255;
$65 = ((($0)) + 3|0);
HEAP8[$65>>0] = $64;
$66 = $62 >>> 16;
$67 = $66&255;
$68 = ((($0)) + 2|0);
HEAP8[$68>>0] = $67;
$69 = $62 >>> 8;
$70 = $69&255;
$71 = ((($0)) + 1|0);
HEAP8[$71>>0] = $70;
$72 = $62&255;
HEAP8[$0>>0] = $72;
$73 = ((($0)) + 4|0);
$74 = ((($0)) + 164|0);
$75 = HEAP32[$74>>2]|0;
$76 = $75 >>> 24;
$77 = $76&255;
$78 = ((($0)) + 7|0);
HEAP8[$78>>0] = $77;
$79 = $75 >>> 16;
$80 = $79&255;
$81 = ((($0)) + 6|0);
HEAP8[$81>>0] = $80;
$82 = $75 >>> 8;
$83 = $82&255;
$84 = ((($0)) + 5|0);
HEAP8[$84>>0] = $83;
$85 = $75&255;
HEAP8[$73>>0] = $85;
$86 = ((($0)) + 8|0);
$87 = ((($0)) + 168|0);
$88 = HEAP32[$87>>2]|0;
$89 = $88 >>> 24;
$90 = $89&255;
$91 = ((($0)) + 11|0);
HEAP8[$91>>0] = $90;
$92 = $88 >>> 16;
$93 = $92&255;
$94 = ((($0)) + 10|0);
HEAP8[$94>>0] = $93;
$95 = $88 >>> 8;
$96 = $95&255;
$97 = ((($0)) + 9|0);
HEAP8[$97>>0] = $96;
$98 = $88&255;
HEAP8[$86>>0] = $98;
$99 = ((($0)) + 12|0);
$100 = ((($0)) + 172|0);
$101 = HEAP32[$100>>2]|0;
$102 = $101 >>> 24;
$103 = $102&255;
$104 = ((($0)) + 15|0);
HEAP8[$104>>0] = $103;
$105 = $101 >>> 16;
$106 = $105&255;
$107 = ((($0)) + 14|0);
HEAP8[$107>>0] = $106;
$108 = $101 >>> 8;
$109 = $108&255;
$110 = ((($0)) + 13|0);
HEAP8[$110>>0] = $109;
$111 = $101&255;
HEAP8[$99>>0] = $111;
$112 = ((($0)) + 16|0);
$113 = ((($0)) + 176|0);
$114 = HEAP32[$113>>2]|0;
$115 = $114 >>> 24;
$116 = $115&255;
$117 = ((($0)) + 19|0);
HEAP8[$117>>0] = $116;
$118 = $114 >>> 16;
$119 = $118&255;
$120 = ((($0)) + 18|0);
HEAP8[$120>>0] = $119;
$121 = $114 >>> 8;
$122 = $121&255;
$123 = ((($0)) + 17|0);
HEAP8[$123>>0] = $122;
$124 = $114&255;
HEAP8[$112>>0] = $124;
return;
}
function _rmd160_read($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return ($0|0);
}
function _transform($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$05 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0;
var $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0;
var $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0;
var $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0;
var $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0;
var $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0;
var $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0;
var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0;
var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0;
var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0;
var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0;
var $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0;
var $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0;
var $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0;
var $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0;
var $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0;
var $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0;
var $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0;
var $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0;
var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0;
var $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0;
var $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0;
var $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0;
var $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0;
var $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0;
var $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0;
var $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0;
var $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0;
var $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0;
var $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0;
var $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0;
var $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0;
var $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0;
var $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0;
var $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0;
var $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0;
var $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0;
var $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0;
var $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0;
var $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0;
var $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0;
var $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0;
var $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0;
var $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0;
var $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0;
var $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0;
var $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0;
var $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0;
var $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0;
var $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0;
var $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0;
var $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0;
var $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0;
var $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0;
var $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0;
var $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0;
var $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0;
var $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0;
var $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0;
var $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0;
var $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0;
var $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0;
var $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0;
var $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0;
var $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0;
var $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0;
var $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0;
var $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0;
var $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0;
var $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0;
var $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0;
var $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0;
var $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0;
var $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0;
var $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0;
var $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0;
var $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0, $2384 = 0;
var $2385 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0;
var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0;
var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0;
var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0;
var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0;
var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0;
var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0;
var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0;
var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0;
var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0;
var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0;
var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0;
var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0;
var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0;
var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0;
var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0;
var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0;
var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0;
var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0;
var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0;
var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0;
var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0;
var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0;
var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0;
var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0;
var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0;
var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0;
var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0;
var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0;
var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0;
var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0;
var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0;
var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0;
var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0;
var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0;
var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0;
var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0;
var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0;
var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0;
var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0;
var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0;
var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0;
var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 160|0);
$4 = ((($0)) + 164|0);
$5 = ((($0)) + 168|0);
$6 = ((($0)) + 172|0);
$7 = ((($0)) + 176|0);
$$0 = $1;$$05 = $2;
while(1) {
$8 = ((($$0)) + 3|0);
$9 = HEAP8[$8>>0]|0;
$10 = $9&255;
$11 = $10 << 24;
$12 = ((($$0)) + 2|0);
$13 = HEAP8[$12>>0]|0;
$14 = $13&255;
$15 = $14 << 16;
$16 = $15 | $11;
$17 = ((($$0)) + 1|0);
$18 = HEAP8[$17>>0]|0;
$19 = $18&255;
$20 = $19 << 8;
$21 = $16 | $20;
$22 = HEAP8[$$0>>0]|0;
$23 = $22&255;
$24 = $21 | $23;
$25 = ((($$0)) + 4|0);
$26 = ((($$0)) + 7|0);
$27 = HEAP8[$26>>0]|0;
$28 = $27&255;
$29 = $28 << 24;
$30 = ((($$0)) + 6|0);
$31 = HEAP8[$30>>0]|0;
$32 = $31&255;
$33 = $32 << 16;
$34 = $33 | $29;
$35 = ((($$0)) + 5|0);
$36 = HEAP8[$35>>0]|0;
$37 = $36&255;
$38 = $37 << 8;
$39 = $34 | $38;
$40 = HEAP8[$25>>0]|0;
$41 = $40&255;
$42 = $39 | $41;
$43 = ((($$0)) + 8|0);
$44 = ((($$0)) + 11|0);
$45 = HEAP8[$44>>0]|0;
$46 = $45&255;
$47 = $46 << 24;
$48 = ((($$0)) + 10|0);
$49 = HEAP8[$48>>0]|0;
$50 = $49&255;
$51 = $50 << 16;
$52 = $51 | $47;
$53 = ((($$0)) + 9|0);
$54 = HEAP8[$53>>0]|0;
$55 = $54&255;
$56 = $55 << 8;
$57 = $52 | $56;
$58 = HEAP8[$43>>0]|0;
$59 = $58&255;
$60 = $57 | $59;
$61 = ((($$0)) + 12|0);
$62 = ((($$0)) + 15|0);
$63 = HEAP8[$62>>0]|0;
$64 = $63&255;
$65 = $64 << 24;
$66 = ((($$0)) + 14|0);
$67 = HEAP8[$66>>0]|0;
$68 = $67&255;
$69 = $68 << 16;
$70 = $69 | $65;
$71 = ((($$0)) + 13|0);
$72 = HEAP8[$71>>0]|0;
$73 = $72&255;
$74 = $73 << 8;
$75 = $70 | $74;
$76 = HEAP8[$61>>0]|0;
$77 = $76&255;
$78 = $75 | $77;
$79 = ((($$0)) + 16|0);
$80 = ((($$0)) + 19|0);
$81 = HEAP8[$80>>0]|0;
$82 = $81&255;
$83 = $82 << 24;
$84 = ((($$0)) + 18|0);
$85 = HEAP8[$84>>0]|0;
$86 = $85&255;
$87 = $86 << 16;
$88 = $87 | $83;
$89 = ((($$0)) + 17|0);
$90 = HEAP8[$89>>0]|0;
$91 = $90&255;
$92 = $91 << 8;
$93 = $88 | $92;
$94 = HEAP8[$79>>0]|0;
$95 = $94&255;
$96 = $93 | $95;
$97 = ((($$0)) + 20|0);
$98 = ((($$0)) + 23|0);
$99 = HEAP8[$98>>0]|0;
$100 = $99&255;
$101 = $100 << 24;
$102 = ((($$0)) + 22|0);
$103 = HEAP8[$102>>0]|0;
$104 = $103&255;
$105 = $104 << 16;
$106 = $105 | $101;
$107 = ((($$0)) + 21|0);
$108 = HEAP8[$107>>0]|0;
$109 = $108&255;
$110 = $109 << 8;
$111 = $106 | $110;
$112 = HEAP8[$97>>0]|0;
$113 = $112&255;
$114 = $111 | $113;
$115 = ((($$0)) + 24|0);
$116 = ((($$0)) + 27|0);
$117 = HEAP8[$116>>0]|0;
$118 = $117&255;
$119 = $118 << 24;
$120 = ((($$0)) + 26|0);
$121 = HEAP8[$120>>0]|0;
$122 = $121&255;
$123 = $122 << 16;
$124 = $123 | $119;
$125 = ((($$0)) + 25|0);
$126 = HEAP8[$125>>0]|0;
$127 = $126&255;
$128 = $127 << 8;
$129 = $124 | $128;
$130 = HEAP8[$115>>0]|0;
$131 = $130&255;
$132 = $129 | $131;
$133 = ((($$0)) + 28|0);
$134 = ((($$0)) + 31|0);
$135 = HEAP8[$134>>0]|0;
$136 = $135&255;
$137 = $136 << 24;
$138 = ((($$0)) + 30|0);
$139 = HEAP8[$138>>0]|0;
$140 = $139&255;
$141 = $140 << 16;
$142 = $141 | $137;
$143 = ((($$0)) + 29|0);
$144 = HEAP8[$143>>0]|0;
$145 = $144&255;
$146 = $145 << 8;
$147 = $142 | $146;
$148 = HEAP8[$133>>0]|0;
$149 = $148&255;
$150 = $147 | $149;
$151 = ((($$0)) + 32|0);
$152 = ((($$0)) + 35|0);
$153 = HEAP8[$152>>0]|0;
$154 = $153&255;
$155 = $154 << 24;
$156 = ((($$0)) + 34|0);
$157 = HEAP8[$156>>0]|0;
$158 = $157&255;
$159 = $158 << 16;
$160 = $159 | $155;
$161 = ((($$0)) + 33|0);
$162 = HEAP8[$161>>0]|0;
$163 = $162&255;
$164 = $163 << 8;
$165 = $160 | $164;
$166 = HEAP8[$151>>0]|0;
$167 = $166&255;
$168 = $165 | $167;
$169 = ((($$0)) + 36|0);
$170 = ((($$0)) + 39|0);
$171 = HEAP8[$170>>0]|0;
$172 = $171&255;
$173 = $172 << 24;
$174 = ((($$0)) + 38|0);
$175 = HEAP8[$174>>0]|0;
$176 = $175&255;
$177 = $176 << 16;
$178 = $177 | $173;
$179 = ((($$0)) + 37|0);
$180 = HEAP8[$179>>0]|0;
$181 = $180&255;
$182 = $181 << 8;
$183 = $178 | $182;
$184 = HEAP8[$169>>0]|0;
$185 = $184&255;
$186 = $183 | $185;
$187 = ((($$0)) + 40|0);
$188 = ((($$0)) + 43|0);
$189 = HEAP8[$188>>0]|0;
$190 = $189&255;
$191 = $190 << 24;
$192 = ((($$0)) + 42|0);
$193 = HEAP8[$192>>0]|0;
$194 = $193&255;
$195 = $194 << 16;
$196 = $195 | $191;
$197 = ((($$0)) + 41|0);
$198 = HEAP8[$197>>0]|0;
$199 = $198&255;
$200 = $199 << 8;
$201 = $196 | $200;
$202 = HEAP8[$187>>0]|0;
$203 = $202&255;
$204 = $201 | $203;
$205 = ((($$0)) + 44|0);
$206 = ((($$0)) + 47|0);
$207 = HEAP8[$206>>0]|0;
$208 = $207&255;
$209 = $208 << 24;
$210 = ((($$0)) + 46|0);
$211 = HEAP8[$210>>0]|0;
$212 = $211&255;
$213 = $212 << 16;
$214 = $213 | $209;
$215 = ((($$0)) + 45|0);
$216 = HEAP8[$215>>0]|0;
$217 = $216&255;
$218 = $217 << 8;
$219 = $214 | $218;
$220 = HEAP8[$205>>0]|0;
$221 = $220&255;
$222 = $219 | $221;
$223 = ((($$0)) + 48|0);
$224 = ((($$0)) + 51|0);
$225 = HEAP8[$224>>0]|0;
$226 = $225&255;
$227 = $226 << 24;
$228 = ((($$0)) + 50|0);
$229 = HEAP8[$228>>0]|0;
$230 = $229&255;
$231 = $230 << 16;
$232 = $231 | $227;
$233 = ((($$0)) + 49|0);
$234 = HEAP8[$233>>0]|0;
$235 = $234&255;
$236 = $235 << 8;
$237 = $232 | $236;
$238 = HEAP8[$223>>0]|0;
$239 = $238&255;
$240 = $237 | $239;
$241 = ((($$0)) + 52|0);
$242 = ((($$0)) + 55|0);
$243 = HEAP8[$242>>0]|0;
$244 = $243&255;
$245 = $244 << 24;
$246 = ((($$0)) + 54|0);
$247 = HEAP8[$246>>0]|0;
$248 = $247&255;
$249 = $248 << 16;
$250 = $249 | $245;
$251 = ((($$0)) + 53|0);
$252 = HEAP8[$251>>0]|0;
$253 = $252&255;
$254 = $253 << 8;
$255 = $250 | $254;
$256 = HEAP8[$241>>0]|0;
$257 = $256&255;
$258 = $255 | $257;
$259 = ((($$0)) + 56|0);
$260 = ((($$0)) + 59|0);
$261 = HEAP8[$260>>0]|0;
$262 = $261&255;
$263 = $262 << 24;
$264 = ((($$0)) + 58|0);
$265 = HEAP8[$264>>0]|0;
$266 = $265&255;
$267 = $266 << 16;
$268 = $267 | $263;
$269 = ((($$0)) + 57|0);
$270 = HEAP8[$269>>0]|0;
$271 = $270&255;
$272 = $271 << 8;
$273 = $268 | $272;
$274 = HEAP8[$259>>0]|0;
$275 = $274&255;
$276 = $273 | $275;
$277 = ((($$0)) + 60|0);
$278 = ((($$0)) + 63|0);
$279 = HEAP8[$278>>0]|0;
$280 = $279&255;
$281 = $280 << 24;
$282 = ((($$0)) + 62|0);
$283 = HEAP8[$282>>0]|0;
$284 = $283&255;
$285 = $284 << 16;
$286 = $285 | $281;
$287 = ((($$0)) + 61|0);
$288 = HEAP8[$287>>0]|0;
$289 = $288&255;
$290 = $289 << 8;
$291 = $286 | $290;
$292 = HEAP8[$277>>0]|0;
$293 = $292&255;
$294 = $291 | $293;
$295 = HEAP32[$3>>2]|0;
$296 = HEAP32[$4>>2]|0;
$297 = HEAP32[$5>>2]|0;
$298 = HEAP32[$6>>2]|0;
$299 = HEAP32[$7>>2]|0;
$300 = $297 ^ $296;
$301 = $300 ^ $298;
$302 = (($295) + ($24))|0;
$303 = (($302) + ($301))|0;
$304 = $303 << 11;
$305 = $303 >>> 21;
$306 = $304 | $305;
$307 = (($306) + ($299))|0;
$308 = $297 << 10;
$309 = $297 >>> 22;
$310 = $308 | $309;
$311 = $298 ^ -1;
$312 = $297 | $311;
$313 = $312 ^ $296;
$314 = (($114) + 1352829926)|0;
$315 = (($314) + ($295))|0;
$316 = (($315) + ($313))|0;
$317 = $316 << 8;
$318 = $316 >>> 24;
$319 = $317 | $318;
$320 = (($319) + ($299))|0;
$321 = $310 ^ $296;
$322 = $321 ^ $307;
$323 = (($299) + ($42))|0;
$324 = (($323) + ($322))|0;
$325 = $324 << 14;
$326 = $324 >>> 18;
$327 = $325 | $326;
$328 = (($327) + ($298))|0;
$329 = $296 << 10;
$330 = $296 >>> 22;
$331 = $329 | $330;
$332 = $310 ^ -1;
$333 = $296 | $332;
$334 = $320 ^ $333;
$335 = (($276) + 1352829926)|0;
$336 = (($335) + ($299))|0;
$337 = (($336) + ($334))|0;
$338 = $337 << 9;
$339 = $337 >>> 23;
$340 = $338 | $339;
$341 = (($340) + ($298))|0;
$342 = $307 ^ $331;
$343 = $342 ^ $328;
$344 = (($298) + ($60))|0;
$345 = (($344) + ($343))|0;
$346 = $345 << 15;
$347 = $345 >>> 17;
$348 = $346 | $347;
$349 = (($348) + ($310))|0;
$350 = $307 << 10;
$351 = $307 >>> 22;
$352 = $350 | $351;
$353 = $331 ^ -1;
$354 = $320 | $353;
$355 = $341 ^ $354;
$356 = (($150) + 1352829926)|0;
$357 = (($356) + ($298))|0;
$358 = (($357) + ($355))|0;
$359 = $358 << 9;
$360 = $358 >>> 23;
$361 = $359 | $360;
$362 = (($361) + ($310))|0;
$363 = $320 << 10;
$364 = $320 >>> 22;
$365 = $363 | $364;
$366 = $328 ^ $352;
$367 = $366 ^ $349;
$368 = (($310) + ($78))|0;
$369 = (($368) + ($367))|0;
$370 = $369 << 12;
$371 = $369 >>> 20;
$372 = $370 | $371;
$373 = (($372) + ($331))|0;
$374 = $328 << 10;
$375 = $328 >>> 22;
$376 = $374 | $375;
$377 = $365 ^ -1;
$378 = $341 | $377;
$379 = $362 ^ $378;
$380 = (($24) + 1352829926)|0;
$381 = (($380) + ($310))|0;
$382 = (($381) + ($379))|0;
$383 = $382 << 11;
$384 = $382 >>> 21;
$385 = $383 | $384;
$386 = (($385) + ($331))|0;
$387 = $341 << 10;
$388 = $341 >>> 22;
$389 = $387 | $388;
$390 = $349 ^ $376;
$391 = $390 ^ $373;
$392 = (($331) + ($96))|0;
$393 = (($392) + ($391))|0;
$394 = $393 << 5;
$395 = $393 >>> 27;
$396 = $394 | $395;
$397 = (($396) + ($352))|0;
$398 = $349 << 10;
$399 = $349 >>> 22;
$400 = $398 | $399;
$401 = $389 ^ -1;
$402 = $362 | $401;
$403 = $386 ^ $402;
$404 = (($186) + 1352829926)|0;
$405 = (($404) + ($331))|0;
$406 = (($405) + ($403))|0;
$407 = $406 << 13;
$408 = $406 >>> 19;
$409 = $407 | $408;
$410 = (($409) + ($365))|0;
$411 = $362 << 10;
$412 = $362 >>> 22;
$413 = $411 | $412;
$414 = $373 ^ $400;
$415 = $414 ^ $397;
$416 = (($352) + ($114))|0;
$417 = (($416) + ($415))|0;
$418 = $417 << 8;
$419 = $417 >>> 24;
$420 = $418 | $419;
$421 = (($420) + ($376))|0;
$422 = $373 << 10;
$423 = $373 >>> 22;
$424 = $422 | $423;
$425 = $413 ^ -1;
$426 = $386 | $425;
$427 = $410 ^ $426;
$428 = (($60) + 1352829926)|0;
$429 = (($428) + ($365))|0;
$430 = (($429) + ($427))|0;
$431 = $430 << 15;
$432 = $430 >>> 17;
$433 = $431 | $432;
$434 = (($433) + ($389))|0;
$435 = $386 << 10;
$436 = $386 >>> 22;
$437 = $435 | $436;
$438 = $397 ^ $424;
$439 = $438 ^ $421;
$440 = (($376) + ($132))|0;
$441 = (($440) + ($439))|0;
$442 = $441 << 7;
$443 = $441 >>> 25;
$444 = $442 | $443;
$445 = (($444) + ($400))|0;
$446 = $397 << 10;
$447 = $397 >>> 22;
$448 = $446 | $447;
$449 = $437 ^ -1;
$450 = $410 | $449;
$451 = $434 ^ $450;
$452 = (($222) + 1352829926)|0;
$453 = (($452) + ($389))|0;
$454 = (($453) + ($451))|0;
$455 = $454 << 15;
$456 = $454 >>> 17;
$457 = $455 | $456;
$458 = (($457) + ($413))|0;
$459 = $410 << 10;
$460 = $410 >>> 22;
$461 = $459 | $460;
$462 = $421 ^ $448;
$463 = $462 ^ $445;
$464 = (($400) + ($150))|0;
$465 = (($464) + ($463))|0;
$466 = $465 << 9;
$467 = $465 >>> 23;
$468 = $466 | $467;
$469 = (($468) + ($424))|0;
$470 = $421 << 10;
$471 = $421 >>> 22;
$472 = $470 | $471;
$473 = $461 ^ -1;
$474 = $434 | $473;
$475 = $458 ^ $474;
$476 = (($96) + 1352829926)|0;
$477 = (($476) + ($413))|0;
$478 = (($477) + ($475))|0;
$479 = $478 << 5;
$480 = $478 >>> 27;
$481 = $479 | $480;
$482 = (($481) + ($437))|0;
$483 = $434 << 10;
$484 = $434 >>> 22;
$485 = $483 | $484;
$486 = $445 ^ $472;
$487 = $486 ^ $469;
$488 = (($424) + ($168))|0;
$489 = (($488) + ($487))|0;
$490 = $489 << 11;
$491 = $489 >>> 21;
$492 = $490 | $491;
$493 = (($492) + ($448))|0;
$494 = $445 << 10;
$495 = $445 >>> 22;
$496 = $494 | $495;
$497 = $485 ^ -1;
$498 = $458 | $497;
$499 = $482 ^ $498;
$500 = (($258) + 1352829926)|0;
$501 = (($500) + ($437))|0;
$502 = (($501) + ($499))|0;
$503 = $502 << 7;
$504 = $502 >>> 25;
$505 = $503 | $504;
$506 = (($505) + ($461))|0;
$507 = $458 << 10;
$508 = $458 >>> 22;
$509 = $507 | $508;
$510 = $469 ^ $496;
$511 = $510 ^ $493;
$512 = (($448) + ($186))|0;
$513 = (($512) + ($511))|0;
$514 = $513 << 13;
$515 = $513 >>> 19;
$516 = $514 | $515;
$517 = (($516) + ($472))|0;
$518 = $469 << 10;
$519 = $469 >>> 22;
$520 = $518 | $519;
$521 = $509 ^ -1;
$522 = $482 | $521;
$523 = $506 ^ $522;
$524 = (($132) + 1352829926)|0;
$525 = (($524) + ($461))|0;
$526 = (($525) + ($523))|0;
$527 = $526 << 7;
$528 = $526 >>> 25;
$529 = $527 | $528;
$530 = (($529) + ($485))|0;
$531 = $482 << 10;
$532 = $482 >>> 22;
$533 = $531 | $532;
$534 = $493 ^ $520;
$535 = $534 ^ $517;
$536 = (($472) + ($204))|0;
$537 = (($536) + ($535))|0;
$538 = $537 << 14;
$539 = $537 >>> 18;
$540 = $538 | $539;
$541 = (($540) + ($496))|0;
$542 = $493 << 10;
$543 = $493 >>> 22;
$544 = $542 | $543;
$545 = $533 ^ -1;
$546 = $506 | $545;
$547 = $530 ^ $546;
$548 = (($294) + 1352829926)|0;
$549 = (($548) + ($485))|0;
$550 = (($549) + ($547))|0;
$551 = $550 << 8;
$552 = $550 >>> 24;
$553 = $551 | $552;
$554 = (($553) + ($509))|0;
$555 = $506 << 10;
$556 = $506 >>> 22;
$557 = $555 | $556;
$558 = $517 ^ $544;
$559 = $558 ^ $541;
$560 = (($496) + ($222))|0;
$561 = (($560) + ($559))|0;
$562 = $561 << 15;
$563 = $561 >>> 17;
$564 = $562 | $563;
$565 = (($564) + ($520))|0;
$566 = $517 << 10;
$567 = $517 >>> 22;
$568 = $566 | $567;
$569 = $557 ^ -1;
$570 = $530 | $569;
$571 = $554 ^ $570;
$572 = (($168) + 1352829926)|0;
$573 = (($572) + ($509))|0;
$574 = (($573) + ($571))|0;
$575 = $574 << 11;
$576 = $574 >>> 21;
$577 = $575 | $576;
$578 = (($577) + ($533))|0;
$579 = $530 << 10;
$580 = $530 >>> 22;
$581 = $579 | $580;
$582 = $541 ^ $568;
$583 = $582 ^ $565;
$584 = (($520) + ($240))|0;
$585 = (($584) + ($583))|0;
$586 = $585 << 6;
$587 = $585 >>> 26;
$588 = $586 | $587;
$589 = (($588) + ($544))|0;
$590 = $541 << 10;
$591 = $541 >>> 22;
$592 = $590 | $591;
$593 = $581 ^ -1;
$594 = $554 | $593;
$595 = $578 ^ $594;
$596 = (($42) + 1352829926)|0;
$597 = (($596) + ($533))|0;
$598 = (($597) + ($595))|0;
$599 = $598 << 14;
$600 = $598 >>> 18;
$601 = $599 | $600;
$602 = (($601) + ($557))|0;
$603 = $554 << 10;
$604 = $554 >>> 22;
$605 = $603 | $604;
$606 = $565 ^ $592;
$607 = $606 ^ $589;
$608 = (($544) + ($258))|0;
$609 = (($608) + ($607))|0;
$610 = $609 << 7;
$611 = $609 >>> 25;
$612 = $610 | $611;
$613 = (($612) + ($568))|0;
$614 = $565 << 10;
$615 = $565 >>> 22;
$616 = $614 | $615;
$617 = $605 ^ -1;
$618 = $578 | $617;
$619 = $602 ^ $618;
$620 = (($204) + 1352829926)|0;
$621 = (($620) + ($557))|0;
$622 = (($621) + ($619))|0;
$623 = $622 << 14;
$624 = $622 >>> 18;
$625 = $623 | $624;
$626 = (($625) + ($581))|0;
$627 = $578 << 10;
$628 = $578 >>> 22;
$629 = $627 | $628;
$630 = $589 ^ $616;
$631 = $630 ^ $613;
$632 = (($568) + ($276))|0;
$633 = (($632) + ($631))|0;
$634 = $633 << 9;
$635 = $633 >>> 23;
$636 = $634 | $635;
$637 = (($636) + ($592))|0;
$638 = $589 << 10;
$639 = $589 >>> 22;
$640 = $638 | $639;
$641 = $629 ^ -1;
$642 = $602 | $641;
$643 = $626 ^ $642;
$644 = (($78) + 1352829926)|0;
$645 = (($644) + ($581))|0;
$646 = (($645) + ($643))|0;
$647 = $646 << 12;
$648 = $646 >>> 20;
$649 = $647 | $648;
$650 = (($649) + ($605))|0;
$651 = $602 << 10;
$652 = $602 >>> 22;
$653 = $651 | $652;
$654 = $613 ^ $640;
$655 = $654 ^ $637;
$656 = (($592) + ($294))|0;
$657 = (($656) + ($655))|0;
$658 = $657 << 8;
$659 = $657 >>> 24;
$660 = $658 | $659;
$661 = (($660) + ($616))|0;
$662 = $613 << 10;
$663 = $613 >>> 22;
$664 = $662 | $663;
$665 = $653 ^ -1;
$666 = $626 | $665;
$667 = $650 ^ $666;
$668 = (($240) + 1352829926)|0;
$669 = (($668) + ($605))|0;
$670 = (($669) + ($667))|0;
$671 = $670 << 6;
$672 = $670 >>> 26;
$673 = $671 | $672;
$674 = (($673) + ($629))|0;
$675 = $626 << 10;
$676 = $626 >>> 22;
$677 = $675 | $676;
$678 = $661 & $637;
$679 = $661 ^ -1;
$680 = $664 & $679;
$681 = $678 | $680;
$682 = (($150) + 1518500249)|0;
$683 = (($682) + ($616))|0;
$684 = (($683) + ($681))|0;
$685 = $684 << 7;
$686 = $684 >>> 25;
$687 = $685 | $686;
$688 = (($687) + ($640))|0;
$689 = $637 << 10;
$690 = $637 >>> 22;
$691 = $689 | $690;
$692 = $674 & $677;
$693 = $677 ^ -1;
$694 = $650 & $693;
$695 = $692 | $694;
$696 = (($132) + 1548603684)|0;
$697 = (($696) + ($629))|0;
$698 = (($697) + ($695))|0;
$699 = $698 << 9;
$700 = $698 >>> 23;
$701 = $699 | $700;
$702 = (($701) + ($653))|0;
$703 = $650 << 10;
$704 = $650 >>> 22;
$705 = $703 | $704;
$706 = $688 & $661;
$707 = $688 ^ -1;
$708 = $691 & $707;
$709 = $706 | $708;
$710 = (($96) + 1518500249)|0;
$711 = (($710) + ($640))|0;
$712 = (($711) + ($709))|0;
$713 = $712 << 6;
$714 = $712 >>> 26;
$715 = $713 | $714;
$716 = (($715) + ($664))|0;
$717 = $661 << 10;
$718 = $661 >>> 22;
$719 = $717 | $718;
$720 = $702 & $705;
$721 = $705 ^ -1;
$722 = $674 & $721;
$723 = $720 | $722;
$724 = (($222) + 1548603684)|0;
$725 = (($724) + ($653))|0;
$726 = (($725) + ($723))|0;
$727 = $726 << 13;
$728 = $726 >>> 19;
$729 = $727 | $728;
$730 = (($729) + ($677))|0;
$731 = $674 << 10;
$732 = $674 >>> 22;
$733 = $731 | $732;
$734 = $716 & $688;
$735 = $716 ^ -1;
$736 = $719 & $735;
$737 = $734 | $736;
$738 = (($258) + 1518500249)|0;
$739 = (($738) + ($664))|0;
$740 = (($739) + ($737))|0;
$741 = $740 << 8;
$742 = $740 >>> 24;
$743 = $741 | $742;
$744 = (($743) + ($691))|0;
$745 = $688 << 10;
$746 = $688 >>> 22;
$747 = $745 | $746;
$748 = $730 & $733;
$749 = $733 ^ -1;
$750 = $702 & $749;
$751 = $748 | $750;
$752 = (($78) + 1548603684)|0;
$753 = (($752) + ($677))|0;
$754 = (($753) + ($751))|0;
$755 = $754 << 15;
$756 = $754 >>> 17;
$757 = $755 | $756;
$758 = (($757) + ($705))|0;
$759 = $702 << 10;
$760 = $702 >>> 22;
$761 = $759 | $760;
$762 = $744 & $716;
$763 = $744 ^ -1;
$764 = $747 & $763;
$765 = $762 | $764;
$766 = (($42) + 1518500249)|0;
$767 = (($766) + ($691))|0;
$768 = (($767) + ($765))|0;
$769 = $768 << 13;
$770 = $768 >>> 19;
$771 = $769 | $770;
$772 = (($771) + ($719))|0;
$773 = $716 << 10;
$774 = $716 >>> 22;
$775 = $773 | $774;
$776 = $758 & $761;
$777 = $761 ^ -1;
$778 = $730 & $777;
$779 = $776 | $778;
$780 = (($150) + 1548603684)|0;
$781 = (($780) + ($705))|0;
$782 = (($781) + ($779))|0;
$783 = $782 << 7;
$784 = $782 >>> 25;
$785 = $783 | $784;
$786 = (($785) + ($733))|0;
$787 = $730 << 10;
$788 = $730 >>> 22;
$789 = $787 | $788;
$790 = $772 & $744;
$791 = $772 ^ -1;
$792 = $775 & $791;
$793 = $790 | $792;
$794 = (($204) + 1518500249)|0;
$795 = (($794) + ($719))|0;
$796 = (($795) + ($793))|0;
$797 = $796 << 11;
$798 = $796 >>> 21;
$799 = $797 | $798;
$800 = (($799) + ($747))|0;
$801 = $744 << 10;
$802 = $744 >>> 22;
$803 = $801 | $802;
$804 = $786 & $789;
$805 = $789 ^ -1;
$806 = $758 & $805;
$807 = $804 | $806;
$808 = (($24) + 1548603684)|0;
$809 = (($808) + ($733))|0;
$810 = (($809) + ($807))|0;
$811 = $810 << 12;
$812 = $810 >>> 20;
$813 = $811 | $812;
$814 = (($813) + ($761))|0;
$815 = $758 << 10;
$816 = $758 >>> 22;
$817 = $815 | $816;
$818 = $800 & $772;
$819 = $800 ^ -1;
$820 = $803 & $819;
$821 = $818 | $820;
$822 = (($132) + 1518500249)|0;
$823 = (($822) + ($747))|0;
$824 = (($823) + ($821))|0;
$825 = $824 << 9;
$826 = $824 >>> 23;
$827 = $825 | $826;
$828 = (($827) + ($775))|0;
$829 = $772 << 10;
$830 = $772 >>> 22;
$831 = $829 | $830;
$832 = $814 & $817;
$833 = $817 ^ -1;
$834 = $786 & $833;
$835 = $832 | $834;
$836 = (($258) + 1548603684)|0;
$837 = (($836) + ($761))|0;
$838 = (($837) + ($835))|0;
$839 = $838 << 8;
$840 = $838 >>> 24;
$841 = $839 | $840;
$842 = (($841) + ($789))|0;
$843 = $786 << 10;
$844 = $786 >>> 22;
$845 = $843 | $844;
$846 = $828 & $800;
$847 = $828 ^ -1;
$848 = $831 & $847;
$849 = $846 | $848;
$850 = (($294) + 1518500249)|0;
$851 = (($850) + ($775))|0;
$852 = (($851) + ($849))|0;
$853 = $852 << 7;
$854 = $852 >>> 25;
$855 = $853 | $854;
$856 = (($855) + ($803))|0;
$857 = $800 << 10;
$858 = $800 >>> 22;
$859 = $857 | $858;
$860 = $842 & $845;
$861 = $845 ^ -1;
$862 = $814 & $861;
$863 = $860 | $862;
$864 = (($114) + 1548603684)|0;
$865 = (($864) + ($789))|0;
$866 = (($865) + ($863))|0;
$867 = $866 << 9;
$868 = $866 >>> 23;
$869 = $867 | $868;
$870 = (($869) + ($817))|0;
$871 = $814 << 10;
$872 = $814 >>> 22;
$873 = $871 | $872;
$874 = $856 & $828;
$875 = $856 ^ -1;
$876 = $859 & $875;
$877 = $874 | $876;
$878 = (($78) + 1518500249)|0;
$879 = (($878) + ($803))|0;
$880 = (($879) + ($877))|0;
$881 = $880 << 15;
$882 = $880 >>> 17;
$883 = $881 | $882;
$884 = (($883) + ($831))|0;
$885 = $828 << 10;
$886 = $828 >>> 22;
$887 = $885 | $886;
$888 = $870 & $873;
$889 = $873 ^ -1;
$890 = $842 & $889;
$891 = $888 | $890;
$892 = (($204) + 1548603684)|0;
$893 = (($892) + ($817))|0;
$894 = (($893) + ($891))|0;
$895 = $894 << 11;
$896 = $894 >>> 21;
$897 = $895 | $896;
$898 = (($897) + ($845))|0;
$899 = $842 << 10;
$900 = $842 >>> 22;
$901 = $899 | $900;
$902 = $884 & $856;
$903 = $884 ^ -1;
$904 = $887 & $903;
$905 = $902 | $904;
$906 = (($240) + 1518500249)|0;
$907 = (($906) + ($831))|0;
$908 = (($907) + ($905))|0;
$909 = $908 << 7;
$910 = $908 >>> 25;
$911 = $909 | $910;
$912 = (($911) + ($859))|0;
$913 = $856 << 10;
$914 = $856 >>> 22;
$915 = $913 | $914;
$916 = $898 & $901;
$917 = $901 ^ -1;
$918 = $870 & $917;
$919 = $916 | $918;
$920 = (($276) + 1548603684)|0;
$921 = (($920) + ($845))|0;
$922 = (($921) + ($919))|0;
$923 = $922 << 7;
$924 = $922 >>> 25;
$925 = $923 | $924;
$926 = (($925) + ($873))|0;
$927 = $870 << 10;
$928 = $870 >>> 22;
$929 = $927 | $928;
$930 = $912 & $884;
$931 = $912 ^ -1;
$932 = $915 & $931;
$933 = $930 | $932;
$934 = (($24) + 1518500249)|0;
$935 = (($934) + ($859))|0;
$936 = (($935) + ($933))|0;
$937 = $936 << 12;
$938 = $936 >>> 20;
$939 = $937 | $938;
$940 = (($939) + ($887))|0;
$941 = $884 << 10;
$942 = $884 >>> 22;
$943 = $941 | $942;
$944 = $926 & $929;
$945 = $929 ^ -1;
$946 = $898 & $945;
$947 = $944 | $946;
$948 = (($294) + 1548603684)|0;
$949 = (($948) + ($873))|0;
$950 = (($949) + ($947))|0;
$951 = $950 << 7;
$952 = $950 >>> 25;
$953 = $951 | $952;
$954 = (($953) + ($901))|0;
$955 = $898 << 10;
$956 = $898 >>> 22;
$957 = $955 | $956;
$958 = $940 & $912;
$959 = $940 ^ -1;
$960 = $943 & $959;
$961 = $958 | $960;
$962 = (($186) + 1518500249)|0;
$963 = (($962) + ($887))|0;
$964 = (($963) + ($961))|0;
$965 = $964 << 15;
$966 = $964 >>> 17;
$967 = $965 | $966;
$968 = (($967) + ($915))|0;
$969 = $912 << 10;
$970 = $912 >>> 22;
$971 = $969 | $970;
$972 = $954 & $957;
$973 = $957 ^ -1;
$974 = $926 & $973;
$975 = $972 | $974;
$976 = (($168) + 1548603684)|0;
$977 = (($976) + ($901))|0;
$978 = (($977) + ($975))|0;
$979 = $978 << 12;
$980 = $978 >>> 20;
$981 = $979 | $980;
$982 = (($981) + ($929))|0;
$983 = $926 << 10;
$984 = $926 >>> 22;
$985 = $983 | $984;
$986 = $968 & $940;
$987 = $968 ^ -1;
$988 = $971 & $987;
$989 = $986 | $988;
$990 = (($114) + 1518500249)|0;
$991 = (($990) + ($915))|0;
$992 = (($991) + ($989))|0;
$993 = $992 << 9;
$994 = $992 >>> 23;
$995 = $993 | $994;
$996 = (($995) + ($943))|0;
$997 = $940 << 10;
$998 = $940 >>> 22;
$999 = $997 | $998;
$1000 = $982 & $985;
$1001 = $985 ^ -1;
$1002 = $954 & $1001;
$1003 = $1000 | $1002;
$1004 = (($240) + 1548603684)|0;
$1005 = (($1004) + ($929))|0;
$1006 = (($1005) + ($1003))|0;
$1007 = $1006 << 7;
$1008 = $1006 >>> 25;
$1009 = $1007 | $1008;
$1010 = (($1009) + ($957))|0;
$1011 = $954 << 10;
$1012 = $954 >>> 22;
$1013 = $1011 | $1012;
$1014 = $996 & $968;
$1015 = $996 ^ -1;
$1016 = $999 & $1015;
$1017 = $1014 | $1016;
$1018 = (($60) + 1518500249)|0;
$1019 = (($1018) + ($943))|0;
$1020 = (($1019) + ($1017))|0;
$1021 = $1020 << 11;
$1022 = $1020 >>> 21;
$1023 = $1021 | $1022;
$1024 = (($1023) + ($971))|0;
$1025 = $968 << 10;
$1026 = $968 >>> 22;
$1027 = $1025 | $1026;
$1028 = $1010 & $1013;
$1029 = $1013 ^ -1;
$1030 = $982 & $1029;
$1031 = $1028 | $1030;
$1032 = (($96) + 1548603684)|0;
$1033 = (($1032) + ($957))|0;
$1034 = (($1033) + ($1031))|0;
$1035 = $1034 << 6;
$1036 = $1034 >>> 26;
$1037 = $1035 | $1036;
$1038 = (($1037) + ($985))|0;
$1039 = $982 << 10;
$1040 = $982 >>> 22;
$1041 = $1039 | $1040;
$1042 = $1024 & $996;
$1043 = $1024 ^ -1;
$1044 = $1027 & $1043;
$1045 = $1042 | $1044;
$1046 = (($276) + 1518500249)|0;
$1047 = (($1046) + ($971))|0;
$1048 = (($1047) + ($1045))|0;
$1049 = $1048 << 7;
$1050 = $1048 >>> 25;
$1051 = $1049 | $1050;
$1052 = (($1051) + ($999))|0;
$1053 = $996 << 10;
$1054 = $996 >>> 22;
$1055 = $1053 | $1054;
$1056 = $1038 & $1041;
$1057 = $1041 ^ -1;
$1058 = $1010 & $1057;
$1059 = $1056 | $1058;
$1060 = (($186) + 1548603684)|0;
$1061 = (($1060) + ($985))|0;
$1062 = (($1061) + ($1059))|0;
$1063 = $1062 << 15;
$1064 = $1062 >>> 17;
$1065 = $1063 | $1064;
$1066 = (($1065) + ($1013))|0;
$1067 = $1010 << 10;
$1068 = $1010 >>> 22;
$1069 = $1067 | $1068;
$1070 = $1052 & $1024;
$1071 = $1052 ^ -1;
$1072 = $1055 & $1071;
$1073 = $1070 | $1072;
$1074 = (($222) + 1518500249)|0;
$1075 = (($1074) + ($999))|0;
$1076 = (($1075) + ($1073))|0;
$1077 = $1076 << 13;
$1078 = $1076 >>> 19;
$1079 = $1077 | $1078;
$1080 = (($1079) + ($1027))|0;
$1081 = $1024 << 10;
$1082 = $1024 >>> 22;
$1083 = $1081 | $1082;
$1084 = $1066 & $1069;
$1085 = $1069 ^ -1;
$1086 = $1038 & $1085;
$1087 = $1084 | $1086;
$1088 = (($42) + 1548603684)|0;
$1089 = (($1088) + ($1013))|0;
$1090 = (($1089) + ($1087))|0;
$1091 = $1090 << 13;
$1092 = $1090 >>> 19;
$1093 = $1091 | $1092;
$1094 = (($1093) + ($1041))|0;
$1095 = $1038 << 10;
$1096 = $1038 >>> 22;
$1097 = $1095 | $1096;
$1098 = $1080 & $1052;
$1099 = $1080 ^ -1;
$1100 = $1083 & $1099;
$1101 = $1098 | $1100;
$1102 = (($168) + 1518500249)|0;
$1103 = (($1102) + ($1027))|0;
$1104 = (($1103) + ($1101))|0;
$1105 = $1104 << 12;
$1106 = $1104 >>> 20;
$1107 = $1105 | $1106;
$1108 = (($1107) + ($1055))|0;
$1109 = $1052 << 10;
$1110 = $1052 >>> 22;
$1111 = $1109 | $1110;
$1112 = $1094 & $1097;
$1113 = $1097 ^ -1;
$1114 = $1066 & $1113;
$1115 = $1112 | $1114;
$1116 = (($60) + 1548603684)|0;
$1117 = (($1116) + ($1041))|0;
$1118 = (($1117) + ($1115))|0;
$1119 = $1118 << 11;
$1120 = $1118 >>> 21;
$1121 = $1119 | $1120;
$1122 = (($1121) + ($1069))|0;
$1123 = $1066 << 10;
$1124 = $1066 >>> 22;
$1125 = $1123 | $1124;
$1126 = $1108 | $1099;
$1127 = $1126 ^ $1111;
$1128 = (($78) + 1859775393)|0;
$1129 = (($1128) + ($1055))|0;
$1130 = (($1129) + ($1127))|0;
$1131 = $1130 << 11;
$1132 = $1130 >>> 21;
$1133 = $1131 | $1132;
$1134 = (($1133) + ($1083))|0;
$1135 = $1080 << 10;
$1136 = $1080 >>> 22;
$1137 = $1135 | $1136;
$1138 = $1094 ^ -1;
$1139 = $1122 | $1138;
$1140 = $1139 ^ $1125;
$1141 = (($294) + 1836072691)|0;
$1142 = (($1141) + ($1069))|0;
$1143 = (($1142) + ($1140))|0;
$1144 = $1143 << 9;
$1145 = $1143 >>> 23;
$1146 = $1144 | $1145;
$1147 = (($1146) + ($1097))|0;
$1148 = $1094 << 10;
$1149 = $1094 >>> 22;
$1150 = $1148 | $1149;
$1151 = $1108 ^ -1;
$1152 = $1134 | $1151;
$1153 = $1152 ^ $1137;
$1154 = (($204) + 1859775393)|0;
$1155 = (($1154) + ($1083))|0;
$1156 = (($1155) + ($1153))|0;
$1157 = $1156 << 13;
$1158 = $1156 >>> 19;
$1159 = $1157 | $1158;
$1160 = (($1159) + ($1111))|0;
$1161 = $1108 << 10;
$1162 = $1108 >>> 22;
$1163 = $1161 | $1162;
$1164 = $1122 ^ -1;
$1165 = $1147 | $1164;
$1166 = $1165 ^ $1150;
$1167 = (($114) + 1836072691)|0;
$1168 = (($1167) + ($1097))|0;
$1169 = (($1168) + ($1166))|0;
$1170 = $1169 << 7;
$1171 = $1169 >>> 25;
$1172 = $1170 | $1171;
$1173 = (($1172) + ($1125))|0;
$1174 = $1122 << 10;
$1175 = $1122 >>> 22;
$1176 = $1174 | $1175;
$1177 = $1134 ^ -1;
$1178 = $1160 | $1177;
$1179 = $1178 ^ $1163;
$1180 = (($276) + 1859775393)|0;
$1181 = (($1180) + ($1111))|0;
$1182 = (($1181) + ($1179))|0;
$1183 = $1182 << 6;
$1184 = $1182 >>> 26;
$1185 = $1183 | $1184;
$1186 = (($1185) + ($1137))|0;
$1187 = $1134 << 10;
$1188 = $1134 >>> 22;
$1189 = $1187 | $1188;
$1190 = $1147 ^ -1;
$1191 = $1173 | $1190;
$1192 = $1191 ^ $1176;
$1193 = (($42) + 1836072691)|0;
$1194 = (($1193) + ($1125))|0;
$1195 = (($1194) + ($1192))|0;
$1196 = $1195 << 15;
$1197 = $1195 >>> 17;
$1198 = $1196 | $1197;
$1199 = (($1198) + ($1150))|0;
$1200 = $1147 << 10;
$1201 = $1147 >>> 22;
$1202 = $1200 | $1201;
$1203 = $1160 ^ -1;
$1204 = $1186 | $1203;
$1205 = $1204 ^ $1189;
$1206 = (($96) + 1859775393)|0;
$1207 = (($1206) + ($1137))|0;
$1208 = (($1207) + ($1205))|0;
$1209 = $1208 << 7;
$1210 = $1208 >>> 25;
$1211 = $1209 | $1210;
$1212 = (($1211) + ($1163))|0;
$1213 = $1160 << 10;
$1214 = $1160 >>> 22;
$1215 = $1213 | $1214;
$1216 = $1173 ^ -1;
$1217 = $1199 | $1216;
$1218 = $1217 ^ $1202;
$1219 = (($78) + 1836072691)|0;
$1220 = (($1219) + ($1150))|0;
$1221 = (($1220) + ($1218))|0;
$1222 = $1221 << 11;
$1223 = $1221 >>> 21;
$1224 = $1222 | $1223;
$1225 = (($1224) + ($1176))|0;
$1226 = $1173 << 10;
$1227 = $1173 >>> 22;
$1228 = $1226 | $1227;
$1229 = $1186 ^ -1;
$1230 = $1212 | $1229;
$1231 = $1230 ^ $1215;
$1232 = (($186) + 1859775393)|0;
$1233 = (($1232) + ($1163))|0;
$1234 = (($1233) + ($1231))|0;
$1235 = $1234 << 14;
$1236 = $1234 >>> 18;
$1237 = $1235 | $1236;
$1238 = (($1237) + ($1189))|0;
$1239 = $1186 << 10;
$1240 = $1186 >>> 22;
$1241 = $1239 | $1240;
$1242 = $1199 ^ -1;
$1243 = $1225 | $1242;
$1244 = $1243 ^ $1228;
$1245 = (($150) + 1836072691)|0;
$1246 = (($1245) + ($1176))|0;
$1247 = (($1246) + ($1244))|0;
$1248 = $1247 << 8;
$1249 = $1247 >>> 24;
$1250 = $1248 | $1249;
$1251 = (($1250) + ($1202))|0;
$1252 = $1199 << 10;
$1253 = $1199 >>> 22;
$1254 = $1252 | $1253;
$1255 = $1212 ^ -1;
$1256 = $1238 | $1255;
$1257 = $1256 ^ $1241;
$1258 = (($294) + 1859775393)|0;
$1259 = (($1258) + ($1189))|0;
$1260 = (($1259) + ($1257))|0;
$1261 = $1260 << 9;
$1262 = $1260 >>> 23;
$1263 = $1261 | $1262;
$1264 = (($1263) + ($1215))|0;
$1265 = $1212 << 10;
$1266 = $1212 >>> 22;
$1267 = $1265 | $1266;
$1268 = $1225 ^ -1;
$1269 = $1251 | $1268;
$1270 = $1269 ^ $1254;
$1271 = (($276) + 1836072691)|0;
$1272 = (($1271) + ($1202))|0;
$1273 = (($1272) + ($1270))|0;
$1274 = $1273 << 6;
$1275 = $1273 >>> 26;
$1276 = $1274 | $1275;
$1277 = (($1276) + ($1228))|0;
$1278 = $1225 << 10;
$1279 = $1225 >>> 22;
$1280 = $1278 | $1279;
$1281 = $1238 ^ -1;
$1282 = $1264 | $1281;
$1283 = $1282 ^ $1267;
$1284 = (($168) + 1859775393)|0;
$1285 = (($1284) + ($1215))|0;
$1286 = (($1285) + ($1283))|0;
$1287 = $1286 << 13;
$1288 = $1286 >>> 19;
$1289 = $1287 | $1288;
$1290 = (($1289) + ($1241))|0;
$1291 = $1238 << 10;
$1292 = $1238 >>> 22;
$1293 = $1291 | $1292;
$1294 = $1251 ^ -1;
$1295 = $1277 | $1294;
$1296 = $1295 ^ $1280;
$1297 = (($132) + 1836072691)|0;
$1298 = (($1297) + ($1228))|0;
$1299 = (($1298) + ($1296))|0;
$1300 = $1299 << 6;
$1301 = $1299 >>> 26;
$1302 = $1300 | $1301;
$1303 = (($1302) + ($1254))|0;
$1304 = $1251 << 10;
$1305 = $1251 >>> 22;
$1306 = $1304 | $1305;
$1307 = $1264 ^ -1;
$1308 = $1290 | $1307;
$1309 = $1308 ^ $1293;
$1310 = (($42) + 1859775393)|0;
$1311 = (($1310) + ($1241))|0;
$1312 = (($1311) + ($1309))|0;
$1313 = $1312 << 15;
$1314 = $1312 >>> 17;
$1315 = $1313 | $1314;
$1316 = (($1315) + ($1267))|0;
$1317 = $1264 << 10;
$1318 = $1264 >>> 22;
$1319 = $1317 | $1318;
$1320 = $1277 ^ -1;
$1321 = $1303 | $1320;
$1322 = $1321 ^ $1306;
$1323 = (($186) + 1836072691)|0;
$1324 = (($1323) + ($1254))|0;
$1325 = (($1324) + ($1322))|0;
$1326 = $1325 << 14;
$1327 = $1325 >>> 18;
$1328 = $1326 | $1327;
$1329 = (($1328) + ($1280))|0;
$1330 = $1277 << 10;
$1331 = $1277 >>> 22;
$1332 = $1330 | $1331;
$1333 = $1290 ^ -1;
$1334 = $1316 | $1333;
$1335 = $1334 ^ $1319;
$1336 = (($60) + 1859775393)|0;
$1337 = (($1336) + ($1267))|0;
$1338 = (($1337) + ($1335))|0;
$1339 = $1338 << 14;
$1340 = $1338 >>> 18;
$1341 = $1339 | $1340;
$1342 = (($1341) + ($1293))|0;
$1343 = $1290 << 10;
$1344 = $1290 >>> 22;
$1345 = $1343 | $1344;
$1346 = $1303 ^ -1;
$1347 = $1329 | $1346;
$1348 = $1347 ^ $1332;
$1349 = (($222) + 1836072691)|0;
$1350 = (($1349) + ($1280))|0;
$1351 = (($1350) + ($1348))|0;
$1352 = $1351 << 12;
$1353 = $1351 >>> 20;
$1354 = $1352 | $1353;
$1355 = (($1354) + ($1306))|0;
$1356 = $1303 << 10;
$1357 = $1303 >>> 22;
$1358 = $1356 | $1357;
$1359 = $1316 ^ -1;
$1360 = $1342 | $1359;
$1361 = $1360 ^ $1345;
$1362 = (($150) + 1859775393)|0;
$1363 = (($1362) + ($1293))|0;
$1364 = (($1363) + ($1361))|0;
$1365 = $1364 << 8;
$1366 = $1364 >>> 24;
$1367 = $1365 | $1366;
$1368 = (($1367) + ($1319))|0;
$1369 = $1316 << 10;
$1370 = $1316 >>> 22;
$1371 = $1369 | $1370;
$1372 = $1329 ^ -1;
$1373 = $1355 | $1372;
$1374 = $1373 ^ $1358;
$1375 = (($168) + 1836072691)|0;
$1376 = (($1375) + ($1306))|0;
$1377 = (($1376) + ($1374))|0;
$1378 = $1377 << 13;
$1379 = $1377 >>> 19;
$1380 = $1378 | $1379;
$1381 = (($1380) + ($1332))|0;
$1382 = $1329 << 10;
$1383 = $1329 >>> 22;
$1384 = $1382 | $1383;
$1385 = $1342 ^ -1;
$1386 = $1368 | $1385;
$1387 = $1386 ^ $1371;
$1388 = (($24) + 1859775393)|0;
$1389 = (($1388) + ($1319))|0;
$1390 = (($1389) + ($1387))|0;
$1391 = $1390 << 13;
$1392 = $1390 >>> 19;
$1393 = $1391 | $1392;
$1394 = (($1393) + ($1345))|0;
$1395 = $1342 << 10;
$1396 = $1342 >>> 22;
$1397 = $1395 | $1396;
$1398 = $1355 ^ -1;
$1399 = $1381 | $1398;
$1400 = $1399 ^ $1384;
$1401 = (($240) + 1836072691)|0;
$1402 = (($1401) + ($1332))|0;
$1403 = (($1402) + ($1400))|0;
$1404 = $1403 << 5;
$1405 = $1403 >>> 27;
$1406 = $1404 | $1405;
$1407 = (($1406) + ($1358))|0;
$1408 = $1355 << 10;
$1409 = $1355 >>> 22;
$1410 = $1408 | $1409;
$1411 = $1368 ^ -1;
$1412 = $1394 | $1411;
$1413 = $1412 ^ $1397;
$1414 = (($132) + 1859775393)|0;
$1415 = (($1414) + ($1345))|0;
$1416 = (($1415) + ($1413))|0;
$1417 = $1416 << 6;
$1418 = $1416 >>> 26;
$1419 = $1417 | $1418;
$1420 = (($1419) + ($1371))|0;
$1421 = $1368 << 10;
$1422 = $1368 >>> 22;
$1423 = $1421 | $1422;
$1424 = $1381 ^ -1;
$1425 = $1407 | $1424;
$1426 = $1425 ^ $1410;
$1427 = (($60) + 1836072691)|0;
$1428 = (($1427) + ($1358))|0;
$1429 = (($1428) + ($1426))|0;
$1430 = $1429 << 14;
$1431 = $1429 >>> 18;
$1432 = $1430 | $1431;
$1433 = (($1432) + ($1384))|0;
$1434 = $1381 << 10;
$1435 = $1381 >>> 22;
$1436 = $1434 | $1435;
$1437 = $1394 ^ -1;
$1438 = $1420 | $1437;
$1439 = $1438 ^ $1423;
$1440 = (($258) + 1859775393)|0;
$1441 = (($1440) + ($1371))|0;
$1442 = (($1441) + ($1439))|0;
$1443 = $1442 << 5;
$1444 = $1442 >>> 27;
$1445 = $1443 | $1444;
$1446 = (($1445) + ($1397))|0;
$1447 = $1394 << 10;
$1448 = $1394 >>> 22;
$1449 = $1447 | $1448;
$1450 = $1407 ^ -1;
$1451 = $1433 | $1450;
$1452 = $1451 ^ $1436;
$1453 = (($204) + 1836072691)|0;
$1454 = (($1453) + ($1384))|0;
$1455 = (($1454) + ($1452))|0;
$1456 = $1455 << 13;
$1457 = $1455 >>> 19;
$1458 = $1456 | $1457;
$1459 = (($1458) + ($1410))|0;
$1460 = $1407 << 10;
$1461 = $1407 >>> 22;
$1462 = $1460 | $1461;
$1463 = $1420 ^ -1;
$1464 = $1446 | $1463;
$1465 = $1464 ^ $1449;
$1466 = (($222) + 1859775393)|0;
$1467 = (($1466) + ($1397))|0;
$1468 = (($1467) + ($1465))|0;
$1469 = $1468 << 12;
$1470 = $1468 >>> 20;
$1471 = $1469 | $1470;
$1472 = (($1471) + ($1423))|0;
$1473 = $1420 << 10;
$1474 = $1420 >>> 22;
$1475 = $1473 | $1474;
$1476 = $1433 ^ -1;
$1477 = $1459 | $1476;
$1478 = $1477 ^ $1462;
$1479 = (($24) + 1836072691)|0;
$1480 = (($1479) + ($1410))|0;
$1481 = (($1480) + ($1478))|0;
$1482 = $1481 << 13;
$1483 = $1481 >>> 19;
$1484 = $1482 | $1483;
$1485 = (($1484) + ($1436))|0;
$1486 = $1433 << 10;
$1487 = $1433 >>> 22;
$1488 = $1486 | $1487;
$1489 = $1446 ^ -1;
$1490 = $1472 | $1489;
$1491 = $1490 ^ $1475;
$1492 = (($114) + 1859775393)|0;
$1493 = (($1492) + ($1423))|0;
$1494 = (($1493) + ($1491))|0;
$1495 = $1494 << 7;
$1496 = $1494 >>> 25;
$1497 = $1495 | $1496;
$1498 = (($1497) + ($1449))|0;
$1499 = $1446 << 10;
$1500 = $1446 >>> 22;
$1501 = $1499 | $1500;
$1502 = $1459 ^ -1;
$1503 = $1485 | $1502;
$1504 = $1503 ^ $1488;
$1505 = (($96) + 1836072691)|0;
$1506 = (($1505) + ($1436))|0;
$1507 = (($1506) + ($1504))|0;
$1508 = $1507 << 7;
$1509 = $1507 >>> 25;
$1510 = $1508 | $1509;
$1511 = (($1510) + ($1462))|0;
$1512 = $1459 << 10;
$1513 = $1459 >>> 22;
$1514 = $1512 | $1513;
$1515 = $1472 ^ -1;
$1516 = $1498 | $1515;
$1517 = $1516 ^ $1501;
$1518 = (($240) + 1859775393)|0;
$1519 = (($1518) + ($1449))|0;
$1520 = (($1519) + ($1517))|0;
$1521 = $1520 << 5;
$1522 = $1520 >>> 27;
$1523 = $1521 | $1522;
$1524 = (($1523) + ($1475))|0;
$1525 = $1472 << 10;
$1526 = $1472 >>> 22;
$1527 = $1525 | $1526;
$1528 = $1485 ^ -1;
$1529 = $1511 | $1528;
$1530 = $1529 ^ $1514;
$1531 = (($258) + 1836072691)|0;
$1532 = (($1531) + ($1462))|0;
$1533 = (($1532) + ($1530))|0;
$1534 = $1533 << 5;
$1535 = $1533 >>> 27;
$1536 = $1534 | $1535;
$1537 = (($1536) + ($1488))|0;
$1538 = $1485 << 10;
$1539 = $1485 >>> 22;
$1540 = $1538 | $1539;
$1541 = $1524 & $1527;
$1542 = $1527 ^ -1;
$1543 = $1498 & $1542;
$1544 = $1541 | $1543;
$1545 = (($42) + -1894007588)|0;
$1546 = (($1545) + ($1475))|0;
$1547 = (($1546) + ($1544))|0;
$1548 = $1547 << 11;
$1549 = $1547 >>> 21;
$1550 = $1548 | $1549;
$1551 = (($1550) + ($1501))|0;
$1552 = $1498 << 10;
$1553 = $1498 >>> 22;
$1554 = $1552 | $1553;
$1555 = $1537 & $1511;
$1556 = $1537 ^ -1;
$1557 = $1540 & $1556;
$1558 = $1555 | $1557;
$1559 = (($168) + 2053994217)|0;
$1560 = (($1559) + ($1488))|0;
$1561 = (($1560) + ($1558))|0;
$1562 = $1561 << 15;
$1563 = $1561 >>> 17;
$1564 = $1562 | $1563;
$1565 = (($1564) + ($1514))|0;
$1566 = $1511 << 10;
$1567 = $1511 >>> 22;
$1568 = $1566 | $1567;
$1569 = $1551 & $1554;
$1570 = $1554 ^ -1;
$1571 = $1524 & $1570;
$1572 = $1569 | $1571;
$1573 = (($186) + -1894007588)|0;
$1574 = (($1573) + ($1501))|0;
$1575 = (($1574) + ($1572))|0;
$1576 = $1575 << 12;
$1577 = $1575 >>> 20;
$1578 = $1576 | $1577;
$1579 = (($1578) + ($1527))|0;
$1580 = $1524 << 10;
$1581 = $1524 >>> 22;
$1582 = $1580 | $1581;
$1583 = $1565 & $1537;
$1584 = $1565 ^ -1;
$1585 = $1568 & $1584;
$1586 = $1583 | $1585;
$1587 = (($132) + 2053994217)|0;
$1588 = (($1587) + ($1514))|0;
$1589 = (($1588) + ($1586))|0;
$1590 = $1589 << 5;
$1591 = $1589 >>> 27;
$1592 = $1590 | $1591;
$1593 = (($1592) + ($1540))|0;
$1594 = $1537 << 10;
$1595 = $1537 >>> 22;
$1596 = $1594 | $1595;
$1597 = $1579 & $1582;
$1598 = $1582 ^ -1;
$1599 = $1551 & $1598;
$1600 = $1597 | $1599;
$1601 = (($222) + -1894007588)|0;
$1602 = (($1601) + ($1527))|0;
$1603 = (($1602) + ($1600))|0;
$1604 = $1603 << 14;
$1605 = $1603 >>> 18;
$1606 = $1604 | $1605;
$1607 = (($1606) + ($1554))|0;
$1608 = $1551 << 10;
$1609 = $1551 >>> 22;
$1610 = $1608 | $1609;
$1611 = $1593 & $1565;
$1612 = $1593 ^ -1;
$1613 = $1596 & $1612;
$1614 = $1611 | $1613;
$1615 = (($96) + 2053994217)|0;
$1616 = (($1615) + ($1540))|0;
$1617 = (($1616) + ($1614))|0;
$1618 = $1617 << 8;
$1619 = $1617 >>> 24;
$1620 = $1618 | $1619;
$1621 = (($1620) + ($1568))|0;
$1622 = $1565 << 10;
$1623 = $1565 >>> 22;
$1624 = $1622 | $1623;
$1625 = $1607 & $1610;
$1626 = $1610 ^ -1;
$1627 = $1579 & $1626;
$1628 = $1625 | $1627;
$1629 = (($204) + -1894007588)|0;
$1630 = (($1629) + ($1554))|0;
$1631 = (($1630) + ($1628))|0;
$1632 = $1631 << 15;
$1633 = $1631 >>> 17;
$1634 = $1632 | $1633;
$1635 = (($1634) + ($1582))|0;
$1636 = $1579 << 10;
$1637 = $1579 >>> 22;
$1638 = $1636 | $1637;
$1639 = $1621 & $1593;
$1640 = $1621 ^ -1;
$1641 = $1624 & $1640;
$1642 = $1639 | $1641;
$1643 = (($42) + 2053994217)|0;
$1644 = (($1643) + ($1568))|0;
$1645 = (($1644) + ($1642))|0;
$1646 = $1645 << 11;
$1647 = $1645 >>> 21;
$1648 = $1646 | $1647;
$1649 = (($1648) + ($1596))|0;
$1650 = $1593 << 10;
$1651 = $1593 >>> 22;
$1652 = $1650 | $1651;
$1653 = $1635 & $1638;
$1654 = $1638 ^ -1;
$1655 = $1607 & $1654;
$1656 = $1653 | $1655;
$1657 = (($24) + -1894007588)|0;
$1658 = (($1657) + ($1582))|0;
$1659 = (($1658) + ($1656))|0;
$1660 = $1659 << 14;
$1661 = $1659 >>> 18;
$1662 = $1660 | $1661;
$1663 = (($1662) + ($1610))|0;
$1664 = $1607 << 10;
$1665 = $1607 >>> 22;
$1666 = $1664 | $1665;
$1667 = $1649 & $1621;
$1668 = $1649 ^ -1;
$1669 = $1652 & $1668;
$1670 = $1667 | $1669;
$1671 = (($78) + 2053994217)|0;
$1672 = (($1671) + ($1596))|0;
$1673 = (($1672) + ($1670))|0;
$1674 = $1673 << 14;
$1675 = $1673 >>> 18;
$1676 = $1674 | $1675;
$1677 = (($1676) + ($1624))|0;
$1678 = $1621 << 10;
$1679 = $1621 >>> 22;
$1680 = $1678 | $1679;
$1681 = $1663 & $1666;
$1682 = $1666 ^ -1;
$1683 = $1635 & $1682;
$1684 = $1681 | $1683;
$1685 = (($168) + -1894007588)|0;
$1686 = (($1685) + ($1610))|0;
$1687 = (($1686) + ($1684))|0;
$1688 = $1687 << 15;
$1689 = $1687 >>> 17;
$1690 = $1688 | $1689;
$1691 = (($1690) + ($1638))|0;
$1692 = $1635 << 10;
$1693 = $1635 >>> 22;
$1694 = $1692 | $1693;
$1695 = $1677 & $1649;
$1696 = $1677 ^ -1;
$1697 = $1680 & $1696;
$1698 = $1695 | $1697;
$1699 = (($222) + 2053994217)|0;
$1700 = (($1699) + ($1624))|0;
$1701 = (($1700) + ($1698))|0;
$1702 = $1701 << 14;
$1703 = $1701 >>> 18;
$1704 = $1702 | $1703;
$1705 = (($1704) + ($1652))|0;
$1706 = $1649 << 10;
$1707 = $1649 >>> 22;
$1708 = $1706 | $1707;
$1709 = $1691 & $1694;
$1710 = $1694 ^ -1;
$1711 = $1663 & $1710;
$1712 = $1709 | $1711;
$1713 = (($240) + -1894007588)|0;
$1714 = (($1713) + ($1638))|0;
$1715 = (($1714) + ($1712))|0;
$1716 = $1715 << 9;
$1717 = $1715 >>> 23;
$1718 = $1716 | $1717;
$1719 = (($1718) + ($1666))|0;
$1720 = $1663 << 10;
$1721 = $1663 >>> 22;
$1722 = $1720 | $1721;
$1723 = $1705 & $1677;
$1724 = $1705 ^ -1;
$1725 = $1708 & $1724;
$1726 = $1723 | $1725;
$1727 = (($294) + 2053994217)|0;
$1728 = (($1727) + ($1652))|0;
$1729 = (($1728) + ($1726))|0;
$1730 = $1729 << 6;
$1731 = $1729 >>> 26;
$1732 = $1730 | $1731;
$1733 = (($1732) + ($1680))|0;
$1734 = $1677 << 10;
$1735 = $1677 >>> 22;
$1736 = $1734 | $1735;
$1737 = $1719 & $1722;
$1738 = $1722 ^ -1;
$1739 = $1691 & $1738;
$1740 = $1737 | $1739;
$1741 = (($96) + -1894007588)|0;
$1742 = (($1741) + ($1666))|0;
$1743 = (($1742) + ($1740))|0;
$1744 = $1743 << 8;
$1745 = $1743 >>> 24;
$1746 = $1744 | $1745;
$1747 = (($1746) + ($1694))|0;
$1748 = $1691 << 10;
$1749 = $1691 >>> 22;
$1750 = $1748 | $1749;
$1751 = $1733 & $1705;
$1752 = $1733 ^ -1;
$1753 = $1736 & $1752;
$1754 = $1751 | $1753;
$1755 = (($24) + 2053994217)|0;
$1756 = (($1755) + ($1680))|0;
$1757 = (($1756) + ($1754))|0;
$1758 = $1757 << 14;
$1759 = $1757 >>> 18;
$1760 = $1758 | $1759;
$1761 = (($1760) + ($1708))|0;
$1762 = $1705 << 10;
$1763 = $1705 >>> 22;
$1764 = $1762 | $1763;
$1765 = $1747 & $1750;
$1766 = $1750 ^ -1;
$1767 = $1719 & $1766;
$1768 = $1765 | $1767;
$1769 = (($258) + -1894007588)|0;
$1770 = (($1769) + ($1694))|0;
$1771 = (($1770) + ($1768))|0;
$1772 = $1771 << 9;
$1773 = $1771 >>> 23;
$1774 = $1772 | $1773;
$1775 = (($1774) + ($1722))|0;
$1776 = $1719 << 10;
$1777 = $1719 >>> 22;
$1778 = $1776 | $1777;
$1779 = $1761 & $1733;
$1780 = $1761 ^ -1;
$1781 = $1764 & $1780;
$1782 = $1779 | $1781;
$1783 = (($114) + 2053994217)|0;
$1784 = (($1783) + ($1708))|0;
$1785 = (($1784) + ($1782))|0;
$1786 = $1785 << 6;
$1787 = $1785 >>> 26;
$1788 = $1786 | $1787;
$1789 = (($1788) + ($1736))|0;
$1790 = $1733 << 10;
$1791 = $1733 >>> 22;
$1792 = $1790 | $1791;
$1793 = $1775 & $1778;
$1794 = $1778 ^ -1;
$1795 = $1747 & $1794;
$1796 = $1793 | $1795;
$1797 = (($78) + -1894007588)|0;
$1798 = (($1797) + ($1722))|0;
$1799 = (($1798) + ($1796))|0;
$1800 = $1799 << 14;
$1801 = $1799 >>> 18;
$1802 = $1800 | $1801;
$1803 = (($1802) + ($1750))|0;
$1804 = $1747 << 10;
$1805 = $1747 >>> 22;
$1806 = $1804 | $1805;
$1807 = $1789 & $1761;
$1808 = $1789 ^ -1;
$1809 = $1792 & $1808;
$1810 = $1807 | $1809;
$1811 = (($240) + 2053994217)|0;
$1812 = (($1811) + ($1736))|0;
$1813 = (($1812) + ($1810))|0;
$1814 = $1813 << 9;
$1815 = $1813 >>> 23;
$1816 = $1814 | $1815;
$1817 = (($1816) + ($1764))|0;
$1818 = $1761 << 10;
$1819 = $1761 >>> 22;
$1820 = $1818 | $1819;
$1821 = $1803 & $1806;
$1822 = $1806 ^ -1;
$1823 = $1775 & $1822;
$1824 = $1821 | $1823;
$1825 = (($150) + -1894007588)|0;
$1826 = (($1825) + ($1750))|0;
$1827 = (($1826) + ($1824))|0;
$1828 = $1827 << 5;
$1829 = $1827 >>> 27;
$1830 = $1828 | $1829;
$1831 = (($1830) + ($1778))|0;
$1832 = $1775 << 10;
$1833 = $1775 >>> 22;
$1834 = $1832 | $1833;
$1835 = $1817 & $1789;
$1836 = $1817 ^ -1;
$1837 = $1820 & $1836;
$1838 = $1835 | $1837;
$1839 = (($60) + 2053994217)|0;
$1840 = (($1839) + ($1764))|0;
$1841 = (($1840) + ($1838))|0;
$1842 = $1841 << 12;
$1843 = $1841 >>> 20;
$1844 = $1842 | $1843;
$1845 = (($1844) + ($1792))|0;
$1846 = $1789 << 10;
$1847 = $1789 >>> 22;
$1848 = $1846 | $1847;
$1849 = $1831 & $1834;
$1850 = $1834 ^ -1;
$1851 = $1803 & $1850;
$1852 = $1849 | $1851;
$1853 = (($294) + -1894007588)|0;
$1854 = (($1853) + ($1778))|0;
$1855 = (($1854) + ($1852))|0;
$1856 = $1855 << 6;
$1857 = $1855 >>> 26;
$1858 = $1856 | $1857;
$1859 = (($1858) + ($1806))|0;
$1860 = $1803 << 10;
$1861 = $1803 >>> 22;
$1862 = $1860 | $1861;
$1863 = $1845 & $1817;
$1864 = $1845 ^ -1;
$1865 = $1848 & $1864;
$1866 = $1863 | $1865;
$1867 = (($258) + 2053994217)|0;
$1868 = (($1867) + ($1792))|0;
$1869 = (($1868) + ($1866))|0;
$1870 = $1869 << 9;
$1871 = $1869 >>> 23;
$1872 = $1870 | $1871;
$1873 = (($1872) + ($1820))|0;
$1874 = $1817 << 10;
$1875 = $1817 >>> 22;
$1876 = $1874 | $1875;
$1877 = $1859 & $1862;
$1878 = $1862 ^ -1;
$1879 = $1831 & $1878;
$1880 = $1877 | $1879;
$1881 = (($276) + -1894007588)|0;
$1882 = (($1881) + ($1806))|0;
$1883 = (($1882) + ($1880))|0;
$1884 = $1883 << 8;
$1885 = $1883 >>> 24;
$1886 = $1884 | $1885;
$1887 = (($1886) + ($1834))|0;
$1888 = $1831 << 10;
$1889 = $1831 >>> 22;
$1890 = $1888 | $1889;
$1891 = $1873 & $1845;
$1892 = $1873 ^ -1;
$1893 = $1876 & $1892;
$1894 = $1891 | $1893;
$1895 = (($186) + 2053994217)|0;
$1896 = (($1895) + ($1820))|0;
$1897 = (($1896) + ($1894))|0;
$1898 = $1897 << 12;
$1899 = $1897 >>> 20;
$1900 = $1898 | $1899;
$1901 = (($1900) + ($1848))|0;
$1902 = $1845 << 10;
$1903 = $1845 >>> 22;
$1904 = $1902 | $1903;
$1905 = $1887 & $1890;
$1906 = $1890 ^ -1;
$1907 = $1859 & $1906;
$1908 = $1905 | $1907;
$1909 = (($114) + -1894007588)|0;
$1910 = (($1909) + ($1834))|0;
$1911 = (($1910) + ($1908))|0;
$1912 = $1911 << 6;
$1913 = $1911 >>> 26;
$1914 = $1912 | $1913;
$1915 = (($1914) + ($1862))|0;
$1916 = $1859 << 10;
$1917 = $1859 >>> 22;
$1918 = $1916 | $1917;
$1919 = $1901 & $1873;
$1920 = $1901 ^ -1;
$1921 = $1904 & $1920;
$1922 = $1919 | $1921;
$1923 = (($150) + 2053994217)|0;
$1924 = (($1923) + ($1848))|0;
$1925 = (($1924) + ($1922))|0;
$1926 = $1925 << 5;
$1927 = $1925 >>> 27;
$1928 = $1926 | $1927;
$1929 = (($1928) + ($1876))|0;
$1930 = $1873 << 10;
$1931 = $1873 >>> 22;
$1932 = $1930 | $1931;
$1933 = $1915 & $1918;
$1934 = $1918 ^ -1;
$1935 = $1887 & $1934;
$1936 = $1933 | $1935;
$1937 = (($132) + -1894007588)|0;
$1938 = (($1937) + ($1862))|0;
$1939 = (($1938) + ($1936))|0;
$1940 = $1939 << 5;
$1941 = $1939 >>> 27;
$1942 = $1940 | $1941;
$1943 = (($1942) + ($1890))|0;
$1944 = $1887 << 10;
$1945 = $1887 >>> 22;
$1946 = $1944 | $1945;
$1947 = $1929 & $1901;
$1948 = $1929 ^ -1;
$1949 = $1932 & $1948;
$1950 = $1947 | $1949;
$1951 = (($204) + 2053994217)|0;
$1952 = (($1951) + ($1876))|0;
$1953 = (($1952) + ($1950))|0;
$1954 = $1953 << 15;
$1955 = $1953 >>> 17;
$1956 = $1954 | $1955;
$1957 = (($1956) + ($1904))|0;
$1958 = $1901 << 10;
$1959 = $1901 >>> 22;
$1960 = $1958 | $1959;
$1961 = $1943 & $1946;
$1962 = $1946 ^ -1;
$1963 = $1915 & $1962;
$1964 = $1961 | $1963;
$1965 = (($60) + -1894007588)|0;
$1966 = (($1965) + ($1890))|0;
$1967 = (($1966) + ($1964))|0;
$1968 = $1967 << 12;
$1969 = $1967 >>> 20;
$1970 = $1968 | $1969;
$1971 = (($1970) + ($1918))|0;
$1972 = $1915 << 10;
$1973 = $1915 >>> 22;
$1974 = $1972 | $1973;
$1975 = $1957 & $1929;
$1976 = $1957 ^ -1;
$1977 = $1960 & $1976;
$1978 = $1975 | $1977;
$1979 = (($276) + 2053994217)|0;
$1980 = (($1979) + ($1904))|0;
$1981 = (($1980) + ($1978))|0;
$1982 = $1981 << 8;
$1983 = $1981 >>> 24;
$1984 = $1982 | $1983;
$1985 = (($1984) + ($1932))|0;
$1986 = $1929 << 10;
$1987 = $1929 >>> 22;
$1988 = $1986 | $1987;
$1989 = $1974 ^ -1;
$1990 = $1943 | $1989;
$1991 = $1971 ^ $1990;
$1992 = (($96) + -1454113458)|0;
$1993 = (($1992) + ($1918))|0;
$1994 = (($1993) + ($1991))|0;
$1995 = $1994 << 9;
$1996 = $1994 >>> 23;
$1997 = $1995 | $1996;
$1998 = (($1997) + ($1946))|0;
$1999 = $1943 << 10;
$2000 = $1943 >>> 22;
$2001 = $1999 | $2000;
$2002 = $1957 ^ $1988;
$2003 = $2002 ^ $1985;
$2004 = (($1932) + ($240))|0;
$2005 = (($2004) + ($2003))|0;
$2006 = $2005 << 8;
$2007 = $2005 >>> 24;
$2008 = $2006 | $2007;
$2009 = (($2008) + ($1960))|0;
$2010 = $1957 << 10;
$2011 = $1957 >>> 22;
$2012 = $2010 | $2011;
$2013 = $2001 ^ -1;
$2014 = $1971 | $2013;
$2015 = $1998 ^ $2014;
$2016 = (($24) + -1454113458)|0;
$2017 = (($2016) + ($1946))|0;
$2018 = (($2017) + ($2015))|0;
$2019 = $2018 << 15;
$2020 = $2018 >>> 17;
$2021 = $2019 | $2020;
$2022 = (($2021) + ($1974))|0;
$2023 = $1971 << 10;
$2024 = $1971 >>> 22;
$2025 = $2023 | $2024;
$2026 = $1985 ^ $2012;
$2027 = $2026 ^ $2009;
$2028 = (($1960) + ($294))|0;
$2029 = (($2028) + ($2027))|0;
$2030 = $2029 << 5;
$2031 = $2029 >>> 27;
$2032 = $2030 | $2031;
$2033 = (($2032) + ($1988))|0;
$2034 = $1985 << 10;
$2035 = $1985 >>> 22;
$2036 = $2034 | $2035;
$2037 = $2025 ^ -1;
$2038 = $1998 | $2037;
$2039 = $2022 ^ $2038;
$2040 = (($114) + -1454113458)|0;
$2041 = (($2040) + ($1974))|0;
$2042 = (($2041) + ($2039))|0;
$2043 = $2042 << 5;
$2044 = $2042 >>> 27;
$2045 = $2043 | $2044;
$2046 = (($2045) + ($2001))|0;
$2047 = $1998 << 10;
$2048 = $1998 >>> 22;
$2049 = $2047 | $2048;
$2050 = $2009 ^ $2036;
$2051 = $2050 ^ $2033;
$2052 = (($1988) + ($204))|0;
$2053 = (($2052) + ($2051))|0;
$2054 = $2053 << 12;
$2055 = $2053 >>> 20;
$2056 = $2054 | $2055;
$2057 = (($2056) + ($2012))|0;
$2058 = $2009 << 10;
$2059 = $2009 >>> 22;
$2060 = $2058 | $2059;
$2061 = $2049 ^ -1;
$2062 = $2022 | $2061;
$2063 = $2046 ^ $2062;
$2064 = (($186) + -1454113458)|0;
$2065 = (($2064) + ($2001))|0;
$2066 = (($2065) + ($2063))|0;
$2067 = $2066 << 11;
$2068 = $2066 >>> 21;
$2069 = $2067 | $2068;
$2070 = (($2069) + ($2025))|0;
$2071 = $2022 << 10;
$2072 = $2022 >>> 22;
$2073 = $2071 | $2072;
$2074 = $2033 ^ $2060;
$2075 = $2074 ^ $2057;
$2076 = (($2012) + ($96))|0;
$2077 = (($2076) + ($2075))|0;
$2078 = $2077 << 9;
$2079 = $2077 >>> 23;
$2080 = $2078 | $2079;
$2081 = (($2080) + ($2036))|0;
$2082 = $2033 << 10;
$2083 = $2033 >>> 22;
$2084 = $2082 | $2083;
$2085 = $2073 ^ -1;
$2086 = $2046 | $2085;
$2087 = $2070 ^ $2086;
$2088 = (($150) + -1454113458)|0;
$2089 = (($2088) + ($2025))|0;
$2090 = (($2089) + ($2087))|0;
$2091 = $2090 << 6;
$2092 = $2090 >>> 26;
$2093 = $2091 | $2092;
$2094 = (($2093) + ($2049))|0;
$2095 = $2046 << 10;
$2096 = $2046 >>> 22;
$2097 = $2095 | $2096;
$2098 = $2057 ^ $2084;
$2099 = $2098 ^ $2081;
$2100 = (($2036) + ($42))|0;
$2101 = (($2100) + ($2099))|0;
$2102 = $2101 << 12;
$2103 = $2101 >>> 20;
$2104 = $2102 | $2103;
$2105 = (($2104) + ($2060))|0;
$2106 = $2057 << 10;
$2107 = $2057 >>> 22;
$2108 = $2106 | $2107;
$2109 = $2097 ^ -1;
$2110 = $2070 | $2109;
$2111 = $2094 ^ $2110;
$2112 = (($240) + -1454113458)|0;
$2113 = (($2112) + ($2049))|0;
$2114 = (($2113) + ($2111))|0;
$2115 = $2114 << 8;
$2116 = $2114 >>> 24;
$2117 = $2115 | $2116;
$2118 = (($2117) + ($2073))|0;
$2119 = $2070 << 10;
$2120 = $2070 >>> 22;
$2121 = $2119 | $2120;
$2122 = $2081 ^ $2108;
$2123 = $2122 ^ $2105;
$2124 = (($2060) + ($114))|0;
$2125 = (($2124) + ($2123))|0;
$2126 = $2125 << 5;
$2127 = $2125 >>> 27;
$2128 = $2126 | $2127;
$2129 = (($2128) + ($2084))|0;
$2130 = $2081 << 10;
$2131 = $2081 >>> 22;
$2132 = $2130 | $2131;
$2133 = $2121 ^ -1;
$2134 = $2094 | $2133;
$2135 = $2118 ^ $2134;
$2136 = (($60) + -1454113458)|0;
$2137 = (($2136) + ($2073))|0;
$2138 = (($2137) + ($2135))|0;
$2139 = $2138 << 13;
$2140 = $2138 >>> 19;
$2141 = $2139 | $2140;
$2142 = (($2141) + ($2097))|0;
$2143 = $2094 << 10;
$2144 = $2094 >>> 22;
$2145 = $2143 | $2144;
$2146 = $2105 ^ $2132;
$2147 = $2146 ^ $2129;
$2148 = (($2084) + ($168))|0;
$2149 = (($2148) + ($2147))|0;
$2150 = $2149 << 14;
$2151 = $2149 >>> 18;
$2152 = $2150 | $2151;
$2153 = (($2152) + ($2108))|0;
$2154 = $2105 << 10;
$2155 = $2105 >>> 22;
$2156 = $2154 | $2155;
$2157 = $2145 ^ -1;
$2158 = $2118 | $2157;
$2159 = $2142 ^ $2158;
$2160 = (($204) + -1454113458)|0;
$2161 = (($2160) + ($2097))|0;
$2162 = (($2161) + ($2159))|0;
$2163 = $2162 << 12;
$2164 = $2162 >>> 20;
$2165 = $2163 | $2164;
$2166 = (($2165) + ($2121))|0;
$2167 = $2118 << 10;
$2168 = $2118 >>> 22;
$2169 = $2167 | $2168;
$2170 = $2129 ^ $2156;
$2171 = $2170 ^ $2153;
$2172 = (($2108) + ($150))|0;
$2173 = (($2172) + ($2171))|0;
$2174 = $2173 << 6;
$2175 = $2173 >>> 26;
$2176 = $2174 | $2175;
$2177 = (($2176) + ($2132))|0;
$2178 = $2129 << 10;
$2179 = $2129 >>> 22;
$2180 = $2178 | $2179;
$2181 = $2169 ^ -1;
$2182 = $2142 | $2181;
$2183 = $2166 ^ $2182;
$2184 = (($276) + -1454113458)|0;
$2185 = (($2184) + ($2121))|0;
$2186 = (($2185) + ($2183))|0;
$2187 = $2186 << 5;
$2188 = $2186 >>> 27;
$2189 = $2187 | $2188;
$2190 = (($2189) + ($2145))|0;
$2191 = $2142 << 10;
$2192 = $2142 >>> 22;
$2193 = $2191 | $2192;
$2194 = $2153 ^ $2180;
$2195 = $2194 ^ $2177;
$2196 = (($2132) + ($132))|0;
$2197 = (($2196) + ($2195))|0;
$2198 = $2197 << 8;
$2199 = $2197 >>> 24;
$2200 = $2198 | $2199;
$2201 = (($2200) + ($2156))|0;
$2202 = $2153 << 10;
$2203 = $2153 >>> 22;
$2204 = $2202 | $2203;
$2205 = $2193 ^ -1;
$2206 = $2166 | $2205;
$2207 = $2190 ^ $2206;
$2208 = (($42) + -1454113458)|0;
$2209 = (($2208) + ($2145))|0;
$2210 = (($2209) + ($2207))|0;
$2211 = $2210 << 12;
$2212 = $2210 >>> 20;
$2213 = $2211 | $2212;
$2214 = (($2213) + ($2169))|0;
$2215 = $2166 << 10;
$2216 = $2166 >>> 22;
$2217 = $2215 | $2216;
$2218 = $2177 ^ $2204;
$2219 = $2218 ^ $2201;
$2220 = (($2156) + ($60))|0;
$2221 = (($2220) + ($2219))|0;
$2222 = $2221 << 13;
$2223 = $2221 >>> 19;
$2224 = $2222 | $2223;
$2225 = (($2224) + ($2180))|0;
$2226 = $2177 << 10;
$2227 = $2177 >>> 22;
$2228 = $2226 | $2227;
$2229 = $2217 ^ -1;
$2230 = $2190 | $2229;
$2231 = $2214 ^ $2230;
$2232 = (($78) + -1454113458)|0;
$2233 = (($2232) + ($2169))|0;
$2234 = (($2233) + ($2231))|0;
$2235 = $2234 << 13;
$2236 = $2234 >>> 19;
$2237 = $2235 | $2236;
$2238 = (($2237) + ($2193))|0;
$2239 = $2190 << 10;
$2240 = $2190 >>> 22;
$2241 = $2239 | $2240;
$2242 = $2201 ^ $2228;
$2243 = $2242 ^ $2225;
$2244 = (($2180) + ($258))|0;
$2245 = (($2244) + ($2243))|0;
$2246 = $2245 << 6;
$2247 = $2245 >>> 26;
$2248 = $2246 | $2247;
$2249 = (($2248) + ($2204))|0;
$2250 = $2201 << 10;
$2251 = $2201 >>> 22;
$2252 = $2250 | $2251;
$2253 = $2241 ^ -1;
$2254 = $2214 | $2253;
$2255 = $2238 ^ $2254;
$2256 = (($168) + -1454113458)|0;
$2257 = (($2256) + ($2193))|0;
$2258 = (($2257) + ($2255))|0;
$2259 = $2258 << 14;
$2260 = $2258 >>> 18;
$2261 = $2259 | $2260;
$2262 = (($2261) + ($2217))|0;
$2263 = $2214 << 10;
$2264 = $2214 >>> 22;
$2265 = $2263 | $2264;
$2266 = $2225 ^ $2252;
$2267 = $2266 ^ $2249;
$2268 = (($2204) + ($276))|0;
$2269 = (($2268) + ($2267))|0;
$2270 = $2269 << 5;
$2271 = $2269 >>> 27;
$2272 = $2270 | $2271;
$2273 = (($2272) + ($2228))|0;
$2274 = $2225 << 10;
$2275 = $2225 >>> 22;
$2276 = $2274 | $2275;
$2277 = $2265 ^ -1;
$2278 = $2238 | $2277;
$2279 = $2262 ^ $2278;
$2280 = (($222) + -1454113458)|0;
$2281 = (($2280) + ($2217))|0;
$2282 = (($2281) + ($2279))|0;
$2283 = $2282 << 11;
$2284 = $2282 >>> 21;
$2285 = $2283 | $2284;
$2286 = (($2285) + ($2241))|0;
$2287 = $2238 << 10;
$2288 = $2238 >>> 22;
$2289 = $2287 | $2288;
$2290 = $2249 ^ $2276;
$2291 = $2290 ^ $2273;
$2292 = (($2228) + ($24))|0;
$2293 = (($2292) + ($2291))|0;
$2294 = $2293 << 15;
$2295 = $2293 >>> 17;
$2296 = $2294 | $2295;
$2297 = (($2296) + ($2252))|0;
$2298 = $2249 << 10;
$2299 = $2249 >>> 22;
$2300 = $2298 | $2299;
$2301 = $2289 ^ -1;
$2302 = $2262 | $2301;
$2303 = $2286 ^ $2302;
$2304 = (($132) + -1454113458)|0;
$2305 = (($2304) + ($2241))|0;
$2306 = (($2305) + ($2303))|0;
$2307 = $2306 << 8;
$2308 = $2306 >>> 24;
$2309 = $2307 | $2308;
$2310 = (($2309) + ($2265))|0;
$2311 = $2262 << 10;
$2312 = $2262 >>> 22;
$2313 = $2311 | $2312;
$2314 = $2273 ^ $2300;
$2315 = $2314 ^ $2297;
$2316 = (($2252) + ($78))|0;
$2317 = (($2316) + ($2315))|0;
$2318 = $2317 << 13;
$2319 = $2317 >>> 19;
$2320 = $2318 | $2319;
$2321 = (($2320) + ($2276))|0;
$2322 = $2273 << 10;
$2323 = $2273 >>> 22;
$2324 = $2322 | $2323;
$2325 = $2313 ^ -1;
$2326 = $2286 | $2325;
$2327 = $2310 ^ $2326;
$2328 = (($294) + -1454113458)|0;
$2329 = (($2328) + ($2265))|0;
$2330 = (($2329) + ($2327))|0;
$2331 = $2330 << 5;
$2332 = $2330 >>> 27;
$2333 = $2331 | $2332;
$2334 = (($2333) + ($2289))|0;
$2335 = $2286 << 10;
$2336 = $2286 >>> 22;
$2337 = $2335 | $2336;
$2338 = $2297 ^ $2324;
$2339 = $2338 ^ $2321;
$2340 = (($2276) + ($186))|0;
$2341 = (($2340) + ($2339))|0;
$2342 = $2341 << 11;
$2343 = $2341 >>> 21;
$2344 = $2342 | $2343;
$2345 = (($2344) + ($2300))|0;
$2346 = $2297 << 10;
$2347 = $2297 >>> 22;
$2348 = $2346 | $2347;
$2349 = $2337 ^ -1;
$2350 = $2310 | $2349;
$2351 = $2334 ^ $2350;
$2352 = (($258) + -1454113458)|0;
$2353 = (($2352) + ($2289))|0;
$2354 = (($2353) + ($2351))|0;
$2355 = $2354 << 6;
$2356 = $2354 >>> 26;
$2357 = $2355 | $2356;
$2358 = $2310 << 10;
$2359 = $2310 >>> 22;
$2360 = $2358 | $2359;
$2361 = $2321 ^ $2348;
$2362 = $2361 ^ $2345;
$2363 = (($2300) + ($222))|0;
$2364 = (($2363) + ($2362))|0;
$2365 = $2364 << 11;
$2366 = $2364 >>> 21;
$2367 = $2365 | $2366;
$2368 = $2321 << 10;
$2369 = $2321 >>> 22;
$2370 = $2368 | $2369;
$2371 = (($2370) + ($296))|0;
$2372 = (($2371) + ($2334))|0;
$2373 = (($2348) + ($297))|0;
$2374 = (($2373) + ($2360))|0;
HEAP32[$4>>2] = $2374;
$2375 = (($2324) + ($298))|0;
$2376 = (($2375) + ($2337))|0;
HEAP32[$5>>2] = $2376;
$2377 = (($2313) + ($299))|0;
$2378 = (($2377) + ($2324))|0;
$2379 = (($2378) + ($2367))|0;
HEAP32[$6>>2] = $2379;
$2380 = (($2313) + ($295))|0;
$2381 = (($2380) + ($2345))|0;
$2382 = (($2381) + ($2357))|0;
HEAP32[$7>>2] = $2382;
HEAP32[$3>>2] = $2372;
$2383 = ((($$0)) + 64|0);
$2384 = (($$05) + -1)|0;
$2385 = ($2384|0)==(0);
if ($2385) {
break;
} else {
$$0 = $2383;$$05 = $2384;
}
}
return 124;
}
function __gcry_rmd160_init($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 160|0);
HEAP32[$1>>2] = 1732584193;
$2 = ((($0)) + 164|0);
HEAP32[$2>>2] = -271733879;
$3 = ((($0)) + 168|0);
HEAP32[$3>>2] = -1732584194;
$4 = ((($0)) + 172|0);
HEAP32[$4>>2] = 271733878;
$5 = ((($0)) + 176|0);
HEAP32[$5>>2] = -1009589776;
$6 = ((($0)) + 128|0);
$7 = ((($0)) + 148|0);
;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;
HEAP32[$7>>2] = 64;
$8 = ((($0)) + 152|0);
HEAP32[$8>>2] = 76;
return;
}
function __gcry_rmd160_mixblock($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
(_transform($0,$1,1)|0);
$2 = ((($0)) + 160|0);
$3 = HEAP32[$2>>2]|0;
HEAP32[$1>>2] = $3;
$4 = ((($0)) + 164|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($1)) + 4|0);
HEAP32[$6>>2] = $5;
$7 = ((($0)) + 168|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($1)) + 8|0);
HEAP32[$9>>2] = $8;
$10 = ((($0)) + 172|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($1)) + 12|0);
HEAP32[$12>>2] = $11;
$13 = ((($0)) + 176|0);
$14 = HEAP32[$13>>2]|0;
$15 = ((($1)) + 16|0);
HEAP32[$15>>2] = $14;
return;
}
function __gcry_rmd160_hash_buffer($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
$3 = sp;
$4 = ((($3)) + 160|0);
HEAP32[$4>>2] = 1732584193;
$5 = ((($3)) + 164|0);
HEAP32[$5>>2] = -271733879;
$6 = ((($3)) + 168|0);
HEAP32[$6>>2] = -1732584194;
$7 = ((($3)) + 172|0);
HEAP32[$7>>2] = 271733878;
$8 = ((($3)) + 176|0);
HEAP32[$8>>2] = -1009589776;
$9 = ((($3)) + 128|0);
$10 = ((($3)) + 148|0);
;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0;HEAP32[$9+12>>2]=0|0;HEAP32[$9+16>>2]=0|0;
HEAP32[$10>>2] = 64;
$11 = ((($3)) + 152|0);
HEAP32[$11>>2] = 76;
__gcry_md_block_write($3,$1,$2);
_rmd160_final($3);
dest=$0; src=$3; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
STACKTOP = sp;return;
}
function __gcry_rsa_pkcs1_encode_for_enc($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$091103$us = 0, $$091103$us$be = 0, $$093102$us = 0, $$093102$us$be = 0, $$096122 = 0, $$1 = 0, $$1100 = 0, $$1100$in = 0, $$194104$us = 0, $$2105$us = 0, $$3$us = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $spec$select$us = 0, $spec$select101$us = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$6 = sp;
$7 = (($1) + 7)|0;
$8 = $7 >>> 3;
HEAP32[$6>>2] = $8;
$9 = (($3) + 7)|0;
$10 = ($9>>>0)<=($8>>>0);
$11 = ($8|0)!=(0);
$or$cond = $11 & $10;
if (!($or$cond)) {
$$1 = 66;
STACKTOP = sp;return ($$1|0);
}
$12 = (__gcry_malloc_secure($8)|0);
$13 = ($12|0)==(0|0);
if ($13) {
$14 = (_gpg_err_code_from_syserror()|0);
$$1 = $14;
STACKTOP = sp;return ($$1|0);
}
HEAP8[$12>>0] = 0;
$15 = ((($12)) + 1|0);
HEAP8[$15>>0] = 2;
$16 = (-3 - ($3))|0;
$17 = (($16) + ($8))|0;
$18 = ($17|0)>(0);
if (!($18)) {
__gcry_assert_failed(60590,60596,95,60609);
// unreachable;
}
$19 = ($4|0)==(0|0);
if ($19) {
$28 = (__gcry_random_bytes_secure($17,1)|0);
$$091103$us = 0;$$093102$us = 0;
while(1) {
$46 = (($28) + ($$093102$us)|0);
$47 = HEAP8[$46>>0]|0;
$48 = ($47<<24>>24)==(0);
$49 = $48&1;
$spec$select$us = (($$091103$us) + ($49))|0;
$50 = (($$093102$us) + 1)|0;
$exitcond = ($50|0)==($17|0);
if ($exitcond) {
$51 = ($spec$select$us|0)==(0);
if ($51) {
break;
}
$29 = $spec$select$us >>> 7;
$30 = (($spec$select$us) + 3)|0;
$31 = (($30) + ($29))|0;
$32 = (__gcry_random_bytes_secure($31,1)|0);
$33 = ($31|0)==(0);
if (!($33)) {
$$194104$us = 0;$$2105$us = $31;
while(1) {
$34 = (($28) + ($$194104$us)|0);
$35 = HEAP8[$34>>0]|0;
$36 = ($35<<24>>24)==(0);
$37 = (($$2105$us) + -1)|0;
if ($36) {
$38 = (($32) + ($37)|0);
$39 = HEAP8[$38>>0]|0;
HEAP8[$34>>0] = $39;
$$3$us = $37;$41 = $39;
} else {
$$3$us = $$2105$us;$41 = $35;
}
$40 = ($41<<24>>24)!=(0);
$42 = $40&1;
$spec$select101$us = (($$194104$us) + ($42))|0;
$43 = ($spec$select101$us|0)<($17|0);
$44 = ($$3$us|0)!=(0);
$45 = $43 & $44;
if ($45) {
$$194104$us = $spec$select101$us;$$2105$us = $$3$us;
} else {
break;
}
}
}
__gcry_free($32);
$$091103$us$be = 0;$$093102$us$be = 0;
} else {
$$091103$us$be = $spec$select$us;$$093102$us$be = $50;
}
$$091103$us = $$091103$us$be;$$093102$us = $$093102$us$be;
}
$52 = ((($12)) + 2|0);
_memcpy(($52|0),($28|0),($17|0))|0;
__gcry_free($28);
$$1100$in = $17;
} else {
$20 = ($17|0)==($5|0);
if (!($20)) {
__gcry_free($12);
$$1 = 45;
STACKTOP = sp;return ($$1|0);
}
$21 = ($5|0)==(0);
L33: do {
if (!($21)) {
$$096122 = 0;
while(1) {
$24 = (($4) + ($$096122)|0);
$25 = HEAP8[$24>>0]|0;
$26 = ($25<<24>>24)==(0);
$23 = (($$096122) + 1)|0;
if ($26) {
break;
}
$22 = ($23>>>0)<($5>>>0);
if ($22) {
$$096122 = $23;
} else {
break L33;
}
}
__gcry_free($12);
$$1 = 45;
STACKTOP = sp;return ($$1|0);
}
} while(0);
$27 = ((($12)) + 2|0);
_memcpy(($27|0),($4|0),($5|0))|0;
$$1100$in = $5;
}
$$1100 = (($$1100$in) + 2)|0;
$53 = (($$1100$in) + 3)|0;
$54 = (($12) + ($$1100)|0);
HEAP8[$54>>0] = 0;
$55 = (($12) + ($53)|0);
_memcpy(($55|0),($2|0),($3|0))|0;
$56 = (($53) + ($3))|0;
$57 = ($56|0)==($8|0);
if (!($57)) {
__gcry_assert_failed(60640,60596,153,60609);
// unreachable;
}
$58 = (__gcry_mpi_scan($0,5,$12,$8,$6)|0);
$59 = ($58|0)==(0);
if ($59) {
$60 = (__gcry_get_debug_flag(1)|0);
$61 = ($60|0)==(0);
if (!($61)) {
$62 = HEAP32[$0>>2]|0;
__gcry_log_printmpi(60652,$62);
}
}
__gcry_free($12);
$$1 = $58;
STACKTOP = sp;return ($$1|0);
}
function __gcry_rsa_pkcs1_decode_for_enc($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$store$select = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$4 = sp;
$5 = (($2) + 7)|0;
$6 = $5 >>> 3;
HEAP32[$0>>2] = 0;
$7 = (__gcry_malloc_secure($6)|0);
$8 = ($7|0)==(0|0);
if ($8) {
$9 = (_gpg_err_code_from_syserror()|0);
$$0 = $9;
STACKTOP = sp;return ($$0|0);
}
$10 = (__gcry_mpi_print(5,$7,$6,$4,$3)|0);
$11 = ($10|0)==(0);
if (!($11)) {
__gcry_free($7);
$12 = $10 & 65535;
$$0 = $12;
STACKTOP = sp;return ($$0|0);
}
$13 = HEAP32[$4>>2]|0;
$14 = ($13>>>0)<(4);
if ($14) {
__gcry_free($7);
$$0 = 155;
STACKTOP = sp;return ($$0|0);
}
$15 = HEAP8[$7>>0]|0;
$16 = ($15<<24>>24)==(0);
$spec$store$select = $16&1;
$17 = $16 ? 2 : 1;
HEAP32[$4>>2] = $17;
$18 = (($7) + ($spec$store$select)|0);
$19 = HEAP8[$18>>0]|0;
$20 = ($19<<24>>24)==(2);
if (!($20)) {
__gcry_free($7);
$$0 = 155;
STACKTOP = sp;return ($$0|0);
}
$21 = ($17>>>0)<($13>>>0);
L17: do {
if ($21) {
$23 = $17;
while(1) {
$22 = (($7) + ($23)|0);
$24 = HEAP8[$22>>0]|0;
$25 = ($24<<24>>24)==(0);
if ($25) {
$$lcssa = $23;
break L17;
}
$26 = (($23) + 1)|0;
HEAP32[$4>>2] = $26;
$27 = ($26>>>0)<($13>>>0);
if ($27) {
$23 = $26;
} else {
$$lcssa = $26;
break;
}
}
} else {
$$lcssa = $17;
}
} while(0);
$28 = (($$lcssa) + 1)|0;
$29 = ($13>>>0)>($28>>>0);
if (!($29)) {
__gcry_free($7);
$$0 = 155;
STACKTOP = sp;return ($$0|0);
}
HEAP32[$4>>2] = $28;
$30 = (($7) + ($28)|0);
$31 = (($13) - ($28))|0;
_memmove(($7|0),($30|0),($31|0))|0;
HEAP32[$0>>2] = $7;
HEAP32[$1>>2] = $31;
$32 = (__gcry_get_debug_flag(1)|0);
$33 = ($32|0)==(0);
if ($33) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$34 = HEAP32[$0>>2]|0;
$35 = HEAP32[$1>>2]|0;
__gcry_log_printhex(60685,$34,$35);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function __gcry_rsa_pkcs1_encode_for_sig($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$5 = sp;
$6 = sp + 104|0;
$7 = sp + 100|0;
$8 = (($1) + 7)|0;
$9 = $8 >>> 3;
HEAP32[$6>>2] = $9;
HEAP32[$7>>2] = 100;
$10 = (__gcry_md_get_algo_dlen($4)|0);
$11 = (__gcry_md_algo_info($4,10,$5,$7)|0);
$12 = ($11|0)==(0);
if (!($12)) {
$$0 = 69;
STACKTOP = sp;return ($$0|0);
}
$13 = ($10|0)==($3|0);
if (!($13)) {
$$0 = 70;
STACKTOP = sp;return ($$0|0);
}
$14 = ($3|0)==(0);
if ($14) {
$$0 = 66;
STACKTOP = sp;return ($$0|0);
}
$15 = HEAP32[$7>>2]|0;
$16 = (($3) + 4)|0;
$17 = (($16) + ($15))|0;
$18 = ($17>>>0)>($9>>>0);
if ($18) {
$$0 = 66;
STACKTOP = sp;return ($$0|0);
}
$19 = (__gcry_malloc($9)|0);
$20 = ($19|0)==(0|0);
if ($20) {
$21 = (_gpg_err_code_from_syserror()|0);
$$0 = $21;
STACKTOP = sp;return ($$0|0);
}
HEAP8[$19>>0] = 0;
$22 = ((($19)) + 1|0);
HEAP8[$22>>0] = 1;
$23 = (($9) - ($3))|0;
$24 = HEAP32[$7>>2]|0;
$25 = (($23) - ($24))|0;
$26 = (($25) + -3)|0;
$27 = ($26|0)>(1);
if (!($27)) {
__gcry_assert_failed(60739,60596,303,60745);
// unreachable;
}
$28 = ((($19)) + 2|0);
_memset(($28|0),-1,($26|0))|0;
$29 = (($25) + -1)|0;
$30 = (($19) + ($29)|0);
HEAP8[$30>>0] = 0;
$31 = (($19) + ($25)|0);
_memcpy(($31|0),($5|0),($24|0))|0;
$32 = (($19) + ($23)|0);
_memcpy(($32|0),($2|0),($3|0))|0;
$33 = (__gcry_mpi_scan($0,5,$19,$9,$6)|0);
$34 = ($33|0)==(0);
if ($34) {
$35 = (__gcry_get_debug_flag(1)|0);
$36 = ($35|0)==(0);
if (!($36)) {
$37 = HEAP32[$0>>2]|0;
__gcry_log_printmpi(60776,$37);
}
}
__gcry_free($19);
$$0 = $33;
STACKTOP = sp;return ($$0|0);
}
function __gcry_rsa_pkcs1_encode_raw_for_sig($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$040 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$4 = sp;
$5 = (($1) + 7)|0;
$6 = $5 >>> 3;
HEAP32[$4>>2] = $6;
$7 = ($3|0)==(0);
$8 = (($3) + 4)|0;
$9 = ($8>>>0)>($6>>>0);
$or$cond = $7 | $9;
if ($or$cond) {
$$0 = 66;
STACKTOP = sp;return ($$0|0);
}
$10 = (__gcry_malloc($6)|0);
$11 = ($10|0)==(0|0);
if ($11) {
$12 = (_gpg_err_code_from_syserror()|0);
$$0 = $12;
STACKTOP = sp;return ($$0|0);
}
HEAP8[$10>>0] = 0;
$13 = ((($10)) + 1|0);
HEAP8[$13>>0] = 1;
$14 = (($6) - ($3))|0;
$15 = (($14) + -3)|0;
$16 = ($15|0)>(1);
if (!($16)) {
__gcry_assert_failed(60739,60596,368,60809);
// unreachable;
}
$17 = ((($10)) + 2|0);
_memset(($17|0),-1,($15|0))|0;
$18 = (($14) + -1)|0;
$19 = (($10) + ($18)|0);
HEAP8[$19>>0] = 0;
$20 = (($10) + ($14)|0);
_memcpy(($20|0),($2|0),($3|0))|0;
$21 = (__gcry_mpi_scan($0,5,$10,$6,$4)|0);
$22 = ($21|0)==(0);
if ($22) {
$24 = (__gcry_get_debug_flag(1)|0);
$25 = ($24|0)==(0);
if ($25) {
$$040 = 0;
} else {
$26 = HEAP32[$0>>2]|0;
__gcry_log_printmpi(60776,$26);
$$040 = 0;
}
} else {
$23 = $21 & 65535;
$$040 = $23;
}
__gcry_free($10);
$$0 = $$040;
STACKTOP = sp;return ($$0|0);
}
function __gcry_rsa_oaep_encode($0,$1,$2,$3,$4,$5,$6,$7,$8) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
$8 = $8|0;
var $$0110 = 0, $$0110120 = 0, $$0110122 = 0, $$0113121 = 0, $$1111119 = 0, $$1114118 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $9 = 0, $exitcond = 0, $exitcond126 = 0;
var $or$cond = 0, $or$cond4 = 0, $spec$select = 0, $spec$select115 = 0, label = 0, sp = 0;
sp = STACKTOP;
$9 = (($1) + 7)|0;
$10 = $9 >>> 3;
HEAP32[$0>>2] = 0;
$11 = ($5|0)!=(0|0);
$12 = ($6|0)!=(0);
$or$cond = $11 & $12;
$spec$select = $or$cond ? $6 : 0;
$spec$select115 = $or$cond ? $5 : 73338;
$13 = (__gcry_md_get_algo_dlen($2)|0);
$14 = $13 << 1;
$15 = (($10) + -2)|0;
$16 = (($15) - ($14))|0;
$17 = ($16>>>0)>=($4>>>0);
$18 = ($10|0)!=(0);
$or$cond4 = $18 & $17;
if (!($or$cond4)) {
$$2 = 66;
return ($$2|0);
}
$19 = (__gcry_calloc_secure(1,$10)|0);
$20 = ($19|0)==(0|0);
if ($20) {
$21 = (_gpg_err_code_from_syserror()|0);
$$2 = $21;
return ($$2|0);
}
$22 = ((($19)) + 1|0);
$23 = (($22) + ($13)|0);
__gcry_md_hash_buffer($2,$23,$spec$select115,$spec$select);
$24 = (($10) - ($4))|0;
$25 = (($24) + -1)|0;
$26 = (($19) + ($25)|0);
HEAP8[$26>>0] = 1;
$27 = (($19) + ($24)|0);
_memcpy(($27|0),($3|0),($4|0))|0;
$28 = ($7|0)==(0|0);
do {
if ($28) {
__gcry_randomize($22,$13,1);
} else {
$29 = ($13|0)==($8|0);
if ($29) {
_memcpy(($22|0),($7|0),($8|0))|0;
break;
}
__gcry_free($19);
$$2 = 45;
return ($$2|0);
}
} while(0);
$30 = (($10) - ($13))|0;
$31 = (($30) + -1)|0;
$32 = (__gcry_malloc_secure($31)|0);
$33 = ($32|0)==(0|0);
if ($33) {
$34 = (_gpg_err_code_from_syserror()|0);
__gcry_free($19);
$$2 = $34;
return ($$2|0);
}
$35 = (_mgf1($32,$31,$22,$13,$2)|0);
$36 = ($35|0)==(0);
if (!($36)) {
__gcry_free($32);
__gcry_free($19);
$$2 = $35;
return ($$2|0);
}
$$0110120 = (($13) + 1)|0;
$37 = ($$0110120>>>0)<($10>>>0);
if ($37) {
$$0110122 = $$0110120;$$0113121 = $32;
while(1) {
$38 = ((($$0113121)) + 1|0);
$39 = HEAP8[$$0113121>>0]|0;
$40 = (($19) + ($$0110122)|0);
$41 = HEAP8[$40>>0]|0;
$42 = $41 ^ $39;
HEAP8[$40>>0] = $42;
$$0110 = (($$0110122) + 1)|0;
$exitcond126 = ($$0110|0)==($10|0);
if ($exitcond126) {
break;
} else {
$$0110122 = $$0110;$$0113121 = $38;
}
}
}
__gcry_free($32);
$43 = (__gcry_malloc_secure($13)|0);
$44 = ($43|0)==(0|0);
if ($44) {
$45 = (_gpg_err_code_from_syserror()|0);
__gcry_free($19);
$$2 = $45;
return ($$2|0);
}
$46 = (_mgf1($43,$13,$23,$31,$2)|0);
$47 = ($46|0)==(0);
if (!($47)) {
__gcry_free($43);
__gcry_free($19);
$$2 = $46;
return ($$2|0);
}
$48 = ($$0110120>>>0)>(1);
if ($48) {
$$1111119 = 1;$$1114118 = $43;
while(1) {
$49 = ((($$1114118)) + 1|0);
$50 = HEAP8[$$1114118>>0]|0;
$51 = (($19) + ($$1111119)|0);
$52 = HEAP8[$51>>0]|0;
$53 = $52 ^ $50;
HEAP8[$51>>0] = $53;
$54 = (($$1111119) + 1)|0;
$exitcond = ($54|0)==($$0110120|0);
if ($exitcond) {
break;
} else {
$$1111119 = $54;$$1114118 = $49;
}
}
}
__gcry_free($43);
$55 = (__gcry_mpi_scan($0,5,$19,$10,0)|0);
$56 = ($55|0)==(0);
if ($56) {
$57 = (__gcry_get_debug_flag(1)|0);
$58 = ($57|0)==(0);
if (!($58)) {
$59 = HEAP32[$0>>2]|0;
__gcry_log_printmpi(60844,$59);
}
}
__gcry_free($19);
$$2 = $55;
return ($$2|0);
}
function _mgf1($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$ = 0, $$0 = 0, $$03740 = 0, $$03839 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
$6 = sp + 4|0;
$7 = (__gcry_md_open($5,$4,0)|0);
$8 = ($7|0)==(0);
if (!($8)) {
$$0 = $7;
STACKTOP = sp;return ($$0|0);
}
$9 = (__gcry_md_get_algo_dlen($4)|0);
$10 = ($1|0)==(0);
if (!($10)) {
$11 = ((($6)) + 1|0);
$12 = ((($6)) + 2|0);
$13 = ((($6)) + 3|0);
$$03740 = 0;$$03839 = 0;
while(1) {
$14 = ($$03839|0)==(0);
if (!($14)) {
$15 = HEAP32[$5>>2]|0;
__gcry_md_reset($15);
}
$16 = $$03839 >>> 24;
$17 = $16&255;
HEAP8[$6>>0] = $17;
$18 = $$03839 >>> 16;
$19 = $18&255;
HEAP8[$11>>0] = $19;
$20 = $$03839 >>> 8;
$21 = $20&255;
HEAP8[$12>>0] = $21;
$22 = $$03839&255;
HEAP8[$13>>0] = $22;
$23 = (($$03839) + 1)|0;
$24 = HEAP32[$5>>2]|0;
__gcry_md_write($24,$2,$3);
$25 = HEAP32[$5>>2]|0;
__gcry_md_write($25,$6,4);
$26 = HEAP32[$5>>2]|0;
$27 = (__gcry_md_read($26,0)|0);
$28 = (($1) - ($$03740))|0;
$29 = ($28>>>0)<($9>>>0);
$$ = $29 ? $28 : $9;
$30 = (($0) + ($$03740)|0);
_memcpy(($30|0),($27|0),($$|0))|0;
$31 = (($$) + ($$03740))|0;
$32 = ($31>>>0)<($1>>>0);
if ($32) {
$$03740 = $31;$$03839 = $23;
} else {
break;
}
}
}
$33 = HEAP32[$5>>2]|0;
__gcry_md_close($33);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function __gcry_rsa_oaep_decode($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$0106 = 0, $$0122 = 0, $$1118 = 0, $$2$lcssa = 0, $$2115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond126 = 0, $narrow = 0, $narrow114 = 0, $or$cond = 0, $spec$select = 0, $spec$select109 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$7 = sp;
HEAP32[$7>>2] = 0;
$8 = (($2) + 7)|0;
$9 = $8 >>> 3;
HEAP32[$0>>2] = 0;
$10 = ($5|0)!=(0|0);
$11 = ($6|0)!=(0);
$or$cond = $10 & $11;
$12 = (__gcry_md_get_algo_dlen($3)|0);
$13 = (__gcry_malloc($12)|0);
$14 = ($13|0)==(0|0);
if ($14) {
$15 = (_gpg_err_code_from_syserror()|0);
$$0106 = $15;
STACKTOP = sp;return ($$0106|0);
}
$spec$select109 = $or$cond ? $5 : 73338;
$spec$select = $or$cond ? $6 : 0;
__gcry_md_hash_buffer($3,$13,$spec$select109,$spec$select);
$16 = (__gcry_mpi_to_octet_string($7,0,$4,$9)|0);
$17 = ($16|0)==(0);
if (!($17)) {
__gcry_free($13);
$$0106 = 155;
STACKTOP = sp;return ($$0106|0);
}
$18 = $12 << 1;
$19 = (($18) + 2)|0;
$20 = ($9>>>0)<($19>>>0);
if ($20) {
$21 = HEAP32[$7>>2]|0;
__gcry_free($21);
__gcry_free($13);
$$0106 = 155;
STACKTOP = sp;return ($$0106|0);
}
$22 = (($9) + -1)|0;
$23 = (__gcry_malloc_secure($22)|0);
$24 = ($23|0)==(0|0);
if ($24) {
$25 = (_gpg_err_code_from_syserror()|0);
$26 = HEAP32[$7>>2]|0;
__gcry_free($26);
__gcry_free($13);
$$0106 = $25;
STACKTOP = sp;return ($$0106|0);
}
$27 = (($23) + ($12)|0);
$28 = HEAP32[$7>>2]|0;
$29 = ((($28)) + 1|0);
$30 = (($29) + ($12)|0);
$31 = (($22) - ($12))|0;
$32 = (_mgf1($23,$12,$30,$31,$3)|0);
$33 = ($12|0)==(0);
if (!($33)) {
$$0122 = 0;
while(1) {
$34 = (($29) + ($$0122)|0);
$35 = HEAP8[$34>>0]|0;
$36 = (($23) + ($$0122)|0);
$37 = HEAP8[$36>>0]|0;
$38 = $37 ^ $35;
HEAP8[$36>>0] = $38;
$39 = (($$0122) + 1)|0;
$exitcond126 = ($39|0)==($12|0);
if ($exitcond126) {
break;
} else {
$$0122 = $39;
}
}
}
$40 = (_mgf1($27,$31,$23,$12,$3)|0);
$41 = $40 | $32;
$42 = ($31|0)==(0);
if (!($42)) {
$$1118 = 0;
while(1) {
$43 = (($30) + ($$1118)|0);
$44 = HEAP8[$43>>0]|0;
$45 = (($27) + ($$1118)|0);
$46 = HEAP8[$45>>0]|0;
$47 = $46 ^ $44;
HEAP8[$45>>0] = $47;
$48 = (($$1118) + 1)|0;
$exitcond = ($48|0)==($31|0);
if ($exitcond) {
break;
} else {
$$1118 = $48;
}
}
}
$49 = (_memcmp($13,$27,$12)|0);
$50 = $41 | $49;
$51 = ($50|0)!=(0);
$52 = ($12>>>0)<($31>>>0);
L27: do {
if ($52) {
$$2115 = $12;
while(1) {
$53 = (($27) + ($$2115)|0);
$54 = HEAP8[$53>>0]|0;
$55 = ($54<<24>>24)==(1);
if ($55) {
$$2$lcssa = $$2115;
break L27;
}
$56 = (($$2115) + 1)|0;
$57 = ($56>>>0)<($31>>>0);
if ($57) {
$$2115 = $56;
} else {
$$2$lcssa = $56;
break;
}
}
} else {
$$2$lcssa = $12;
}
} while(0);
$58 = ($$2$lcssa|0)==($31|0);
$narrow = $51 | $58;
$59 = HEAP32[$7>>2]|0;
$60 = HEAP8[$59>>0]|0;
$61 = ($60<<24>>24)!=(0);
$narrow114 = $narrow | $61;
__gcry_free($13);
$62 = HEAP32[$7>>2]|0;
__gcry_free($62);
if ($narrow114) {
__gcry_free($23);
$$0106 = 155;
STACKTOP = sp;return ($$0106|0);
}
$63 = (($$2$lcssa) + 1)|0;
$64 = (($27) + ($63)|0);
$65 = (($31) - ($63))|0;
_memmove(($23|0),($64|0),($65|0))|0;
HEAP32[$0>>2] = $23;
HEAP32[$1>>2] = $65;
$66 = (__gcry_get_debug_flag(1)|0);
$67 = ($66|0)==(0);
if ($67) {
$$0106 = 0;
STACKTOP = sp;return ($$0106|0);
}
$68 = HEAP32[$0>>2]|0;
$69 = HEAP32[$1>>2]|0;
__gcry_log_printhex(60862,$68,$69);
$$0106 = 0;
STACKTOP = sp;return ($$0106|0);
}
function __gcry_rsa_pss_encode($0,$1,$2,$3,$4,$5,$6,$7) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
var $$0 = 0, $$0169$lcssa = 0, $$0169197 = 0, $$0170$lcssa = 0, $$0170196 = 0, $$0176213 = 0, $$0177$lcssa = 0, $$0177206 = 0, $$0181$lcssa = 0, $$0181205 = 0, $$0185212 = 0, $$0186187 = 0, $$0186188 = 0, $$1 = 0, $$1171 = 0, $$1178 = 0, $$1182 = 0, $$2 = 0, $$2172 = 0, $$2179 = 0;
var $$2183 = 0, $$3173194 = 0, $$3180202 = 0, $$3184201 = 0, $$3195 = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
var $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $scevgep = 0, $scevgep224 = 0, label = 0, sp = 0;
sp = STACKTOP;
$8 = (($1) + 7)|0;
$9 = $8 >>> 3;
$10 = (__gcry_md_get_algo_dlen($2)|0);
$11 = ($10|0)==(0);
if ($11) {
__gcry_assert_failed(60901,60596,800,60906);
// unreachable;
}
$12 = (($10) + ($5))|0;
$13 = (($12) + 8)|0;
$14 = (($9) - ($10))|0;
$15 = (($14) + -1)|0;
$16 = (($13) + ($15))|0;
$17 = (__gcry_malloc($16)|0);
$18 = ($17|0)==(0|0);
if ($18) {
$19 = (_gpg_err_code_from_syserror()|0);
$$0186187 = $19;
return ($$0186187|0);
}
$20 = ((($17)) + 8|0);
$21 = (($20) + ($10)|0);
$22 = (($21) + ($5)|0);
$23 = ($10|0)==($4|0);
do {
if ($23) {
_memcpy(($20|0),($3|0),($4|0))|0;
$24 = (($4) + ($5))|0;
$25 = (($24) + 2)|0;
$26 = ($9>>>0)<($25>>>0);
if ($26) {
$$0186188 = 66;
} else {
$27 = (__gcry_malloc($9)|0);
$28 = ($27|0)==(0|0);
if ($28) {
$29 = (_gpg_err_code_from_syserror()|0);
$$0186188 = $29;
break;
}
$30 = (($27) + ($9)|0);
$31 = ((($30)) + -1|0);
$32 = (0 - ($4))|0;
$33 = (($31) + ($32)|0);
$34 = ($5|0)==(0);
do {
if ($34) {
label = 15;
} else {
$35 = ($6|0)==(0|0);
if ($35) {
__gcry_randomize($21,$5,1);
label = 15;
break;
}
$36 = ($7|0)==($5|0);
if ($36) {
_memcpy(($21|0),($6|0),($5|0))|0;
label = 15;
break;
} else {
$$pre = $27;
$$0 = 45;$$pre$phiZ2D = $$pre;
break;
}
}
} while(0);
if ((label|0) == 15) {
$37 = $17;
$38 = $37;
HEAP8[$38>>0]=0&255;HEAP8[$38+1>>0]=(0>>8)&255;HEAP8[$38+2>>0]=(0>>16)&255;HEAP8[$38+3>>0]=0>>24;
$39 = (($37) + 4)|0;
$40 = $39;
HEAP8[$40>>0]=0&255;HEAP8[$40+1>>0]=(0>>8)&255;HEAP8[$40+2>>0]=(0>>16)&255;HEAP8[$40+3>>0]=0>>24;
__gcry_md_hash_buffer($2,$33,$17,$13);
$41 = (0 - ($5))|0;
$42 = (($33) + ($41)|0);
$43 = ((($42)) + -1|0);
$44 = $43;
$45 = $27;
$46 = (($44) - ($45))|0;
_memset(($27|0),0,($46|0))|0;
$47 = ((($43)) + 1|0);
HEAP8[$43>>0] = 1;
_memcpy(($47|0),($21|0),($5|0))|0;
(_mgf1($22,$15,$33,$4,$2)|0);
$48 = ($15|0)==(0);
if (!($48)) {
$$0176213 = $22;$$0185212 = 0;
while(1) {
$49 = HEAP8[$$0176213>>0]|0;
$50 = (($27) + ($$0185212)|0);
$51 = HEAP8[$50>>0]|0;
$52 = $51 ^ $49;
HEAP8[$50>>0] = $52;
$53 = (($$0185212) + 1)|0;
$54 = ((($$0176213)) + 1|0);
$exitcond = ($53|0)==($15|0);
if ($exitcond) {
break;
} else {
$$0176213 = $54;$$0185212 = $53;
}
}
}
$55 = $8 & -8;
$56 = (($55) - ($1))|0;
$57 = 255 >>> $56;
$58 = HEAP8[$27>>0]|0;
$59 = $58&255;
$60 = $57 & $59;
$61 = $60&255;
HEAP8[$27>>0] = $61;
$62 = (($9) + -1)|0;
$63 = (($27) + ($62)|0);
HEAP8[$63>>0] = -68;
$64 = (__gcry_mpi_scan($0,5,$27,$9,0)|0);
$65 = ($64|0)==(0);
if ($65) {
$66 = (__gcry_get_debug_flag(1)|0);
$67 = ($66|0)==(0);
if ($67) {
$$0 = 0;$$pre$phiZ2D = $45;
} else {
$68 = HEAP32[$0>>2]|0;
__gcry_log_printmpi(60927,$68);
$$0 = 0;$$pre$phiZ2D = $45;
}
} else {
$$0 = $64;$$pre$phiZ2D = $45;
}
}
$69 = $$pre$phiZ2D & 7;
$70 = ($69|0)!=(0);
$71 = ($9|0)!=(0);
$72 = $71 & $70;
if ($72) {
$$0177206 = $9;$$0181205 = $27;
while(1) {
HEAP8[$$0181205>>0] = 0;
$73 = ((($$0181205)) + 1|0);
$74 = (($$0177206) + -1)|0;
$75 = $73;
$76 = $75 & 7;
$77 = ($76|0)!=(0);
$78 = ($74|0)!=(0);
$79 = $78 & $77;
if ($79) {
$$0177206 = $74;$$0181205 = $73;
} else {
$$0177$lcssa = $74;$$0181$lcssa = $73;
break;
}
}
} else {
$$0177$lcssa = $9;$$0181$lcssa = $27;
}
$80 = ($$0177$lcssa>>>0)<(8);
if ($80) {
$$2179 = $$0177$lcssa;$$2183 = $$0181$lcssa;
} else {
$81 = (($$0177$lcssa) + -8)|0;
$82 = $81 & -8;
$83 = (($82) + 8)|0;
$$1178 = $$0177$lcssa;$$1182 = $$0181$lcssa;
while(1) {
$84 = $$1182;
$85 = $84;
HEAP32[$85>>2] = 0;
$86 = (($84) + 4)|0;
$87 = $86;
HEAP32[$87>>2] = 0;
$88 = (($$1178) + -8)|0;
$89 = ((($$1182)) + 8|0);
$90 = ($88>>>0)>(7);
if ($90) {
$$1178 = $88;$$1182 = $89;
} else {
break;
}
}
$91 = (($81) - ($82))|0;
$scevgep224 = (($$0181$lcssa) + ($83)|0);
$$2179 = $91;$$2183 = $scevgep224;
}
$92 = ($$2179|0)==(0);
if (!($92)) {
$$3180202 = $$2179;$$3184201 = $$2183;
while(1) {
HEAP8[$$3184201>>0] = 0;
$93 = ((($$3184201)) + 1|0);
$94 = (($$3180202) + -1)|0;
$95 = ($94|0)==(0);
if ($95) {
break;
} else {
$$3180202 = $94;$$3184201 = $93;
}
}
}
__gcry_free($27);
$$0186188 = $$0;
}
} else {
$$0186188 = 139;
}
} while(0);
$96 = $17;
$97 = $96 & 7;
$98 = ($97|0)!=(0);
$99 = ($16|0)!=(0);
$100 = $99 & $98;
if ($100) {
$$0169197 = $16;$$0170196 = $17;
while(1) {
HEAP8[$$0170196>>0] = 0;
$101 = ((($$0170196)) + 1|0);
$102 = (($$0169197) + -1)|0;
$103 = $101;
$104 = $103 & 7;
$105 = ($104|0)!=(0);
$106 = ($102|0)!=(0);
$107 = $106 & $105;
if ($107) {
$$0169197 = $102;$$0170196 = $101;
} else {
$$0169$lcssa = $102;$$0170$lcssa = $101;
break;
}
}
} else {
$$0169$lcssa = $16;$$0170$lcssa = $17;
}
$108 = ($$0169$lcssa>>>0)<(8);
if ($108) {
$$2 = $$0169$lcssa;$$2172 = $$0170$lcssa;
} else {
$109 = (($$0169$lcssa) + -8)|0;
$110 = $109 & -8;
$111 = (($110) + 8)|0;
$$1 = $$0169$lcssa;$$1171 = $$0170$lcssa;
while(1) {
$112 = $$1171;
$113 = $112;
HEAP32[$113>>2] = 0;
$114 = (($112) + 4)|0;
$115 = $114;
HEAP32[$115>>2] = 0;
$116 = (($$1) + -8)|0;
$117 = ((($$1171)) + 8|0);
$118 = ($116>>>0)>(7);
if ($118) {
$$1 = $116;$$1171 = $117;
} else {
break;
}
}
$119 = (($109) - ($110))|0;
$scevgep = (($$0170$lcssa) + ($111)|0);
$$2 = $119;$$2172 = $scevgep;
}
$120 = ($$2|0)==(0);
if (!($120)) {
$$3173194 = $$2172;$$3195 = $$2;
while(1) {
HEAP8[$$3173194>>0] = 0;
$121 = ((($$3173194)) + 1|0);
$122 = (($$3195) + -1)|0;
$123 = ($122|0)==(0);
if ($123) {
break;
} else {
$$3173194 = $121;$$3195 = $122;
}
}
}
__gcry_free($17);
$$0186187 = $$0186188;
return ($$0186187|0);
}
function __gcry_rsa_pss_verify($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$0$ph = 0, $$0162$lcssa = 0, $$0162189 = 0, $$0163$lcssa = 0, $$0163188 = 0, $$0170215 = 0, $$0171$lcssa = 0, $$0171200 = 0, $$0175$lcssa = 0, $$0175199 = 0, $$0179214 = 0, $$1 = 0, $$1164 = 0, $$1172 = 0, $$1176 = 0, $$1180$lcssa = 0, $$1180206 = 0, $$2 = 0, $$2165 = 0;
var $$2173 = 0, $$2177 = 0, $$3166186 = 0, $$3174195 = 0, $$3178194 = 0, $$3187 = 0, $$pr = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
var $98 = 0, $99 = 0, $exitcond = 0, $scevgep = 0, $scevgep226 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
HEAP32[$5>>2] = 0;
$6 = (($2) + 7)|0;
$7 = $6 >>> 3;
$8 = (__gcry_md_get_algo_dlen($3)|0);
$9 = ($8|0)==(0);
if ($9) {
__gcry_assert_failed(60901,60596,926,60944);
// unreachable;
}
$10 = (($8) + ($4))|0;
$11 = (($10) + 8)|0;
$12 = (($7) - ($8))|0;
$13 = (($12) + -1)|0;
$14 = ($11>>>0)<($13>>>0);
$spec$select = $14 ? $13 : $11;
$15 = (($spec$select) + ($8))|0;
$16 = (__gcry_malloc($15)|0);
$17 = ($16|0)!=(0|0);
if ($17) {
$19 = (0 - ($8))|0;
$20 = (($16) + ($spec$select)|0);
$21 = (__gcry_mpi_to_octet_string(0,$20,$0,$8)|0);
$22 = ($21|0)==(0);
if ($22) {
$23 = (__gcry_mpi_to_octet_string($5,0,$1,$7)|0);
$24 = ($23|0)==(0);
if ($24) {
$25 = (($10) + 2)|0;
$26 = ($7>>>0)<($25>>>0);
if ($26) {
$$0$ph = 66;
label = 20;
} else {
$27 = HEAP32[$5>>2]|0;
$28 = (($7) + -1)|0;
$29 = (($27) + ($28)|0);
$30 = HEAP8[$29>>0]|0;
$31 = ($30<<24>>24)==(-68);
if ($31) {
$32 = (($27) + ($7)|0);
$33 = ((($32)) + -1|0);
$34 = (($33) + ($19)|0);
$35 = HEAP8[$27>>0]|0;
$36 = $35&255;
$37 = $6 & -8;
$38 = (($37) - ($2))|0;
$39 = 255 >>> $38;
$40 = -256 >> $38;
$41 = $40 & $36;
$42 = ($41|0)==(0);
if ($42) {
(_mgf1($16,$13,$34,$8,$3)|0);
$43 = ($13|0)==(0);
if (!($43)) {
$$0170215 = $16;$$0179214 = 0;
while(1) {
$44 = HEAP8[$$0170215>>0]|0;
$45 = HEAP32[$5>>2]|0;
$46 = (($45) + ($$0179214)|0);
$47 = HEAP8[$46>>0]|0;
$48 = $47 ^ $44;
HEAP8[$46>>0] = $48;
$49 = (($$0179214) + 1)|0;
$50 = ((($$0170215)) + 1|0);
$exitcond = ($49|0)==($13|0);
if ($exitcond) {
break;
} else {
$$0170215 = $50;$$0179214 = $49;
}
}
}
$51 = HEAP32[$5>>2]|0;
$52 = HEAP8[$51>>0]|0;
$53 = $52&255;
$54 = $39 & $53;
$55 = $54&255;
HEAP8[$51>>0] = $55;
$56 = (($12) - ($4))|0;
$57 = (($56) + -2)|0;
$58 = ($57|0)==(0);
L16: do {
if ($58) {
$$1180$lcssa = 0;
} else {
$59 = HEAP32[$5>>2]|0;
$$1180206 = 0;
while(1) {
$60 = (($59) + ($$1180206)|0);
$61 = HEAP8[$60>>0]|0;
$62 = ($61<<24>>24)==(0);
if (!($62)) {
$$1180$lcssa = $$1180206;
break L16;
}
$63 = (($$1180206) + 1)|0;
$64 = ($63>>>0)<($57>>>0);
if ($64) {
$$1180206 = $63;
} else {
$$1180$lcssa = $63;
break;
}
}
}
} while(0);
$65 = ($$1180$lcssa|0)==($57|0);
if ($65) {
$66 = HEAP32[$5>>2]|0;
$67 = (($66) + ($57)|0);
$68 = HEAP8[$67>>0]|0;
$69 = ($68<<24>>24)==(1);
if ($69) {
$70 = (($56) + -1)|0;
$71 = (($66) + ($70)|0);
$72 = $16;
$73 = $72;
HEAP8[$73>>0]=0&255;HEAP8[$73+1>>0]=(0>>8)&255;HEAP8[$73+2>>0]=(0>>16)&255;HEAP8[$73+3>>0]=0>>24;
$74 = (($72) + 4)|0;
$75 = $74;
HEAP8[$75>>0]=0&255;HEAP8[$75+1>>0]=(0>>8)&255;HEAP8[$75+2>>0]=(0>>16)&255;HEAP8[$75+3>>0]=0>>24;
$76 = ((($16)) + 8|0);
_memcpy(($76|0),($20|0),($8|0))|0;
$77 = (($76) + ($8)|0);
_memcpy(($77|0),($71|0),($4|0))|0;
__gcry_md_hash_buffer($3,$16,$16,$11);
$78 = (_memcmp($34,$16,$8)|0);
$79 = ($78|0)==(0);
$80 = $79 ? 0 : 8;
$$0$ph = $80;
label = 20;
} else {
$$0 = 8;$82 = $66;
}
} else {
$$0$ph = 8;
label = 20;
}
} else {
$$0$ph = 8;
label = 20;
}
} else {
$$0 = 8;$82 = $27;
}
}
} else {
$$0$ph = $23;
label = 20;
}
} else {
$$0$ph = $21;
label = 20;
}
} else {
$18 = (_gpg_err_code_from_syserror()|0);
$$0$ph = $18;
label = 20;
}
if ((label|0) == 20) {
$$pr = HEAP32[$5>>2]|0;
$$0 = $$0$ph;$82 = $$pr;
}
$81 = ($82|0)==(0|0);
if (!($81)) {
$83 = $82;
$84 = $83 & 7;
$85 = ($84|0)!=(0);
$86 = ($7|0)!=(0);
$87 = $86 & $85;
if ($87) {
$$0171200 = $7;$$0175199 = $82;
while(1) {
HEAP8[$$0175199>>0] = 0;
$88 = ((($$0175199)) + 1|0);
$89 = (($$0171200) + -1)|0;
$90 = $88;
$91 = $90 & 7;
$92 = ($91|0)!=(0);
$93 = ($89|0)!=(0);
$94 = $93 & $92;
if ($94) {
$$0171200 = $89;$$0175199 = $88;
} else {
$$0171$lcssa = $89;$$0175$lcssa = $88;
break;
}
}
} else {
$$0171$lcssa = $7;$$0175$lcssa = $82;
}
$95 = ($$0171$lcssa>>>0)<(8);
if ($95) {
$$2173 = $$0171$lcssa;$$2177 = $$0175$lcssa;
} else {
$96 = (($$0171$lcssa) + -8)|0;
$97 = $96 & -8;
$98 = (($97) + 8)|0;
$$1172 = $$0171$lcssa;$$1176 = $$0175$lcssa;
while(1) {
$99 = $$1176;
$100 = $99;
HEAP32[$100>>2] = 0;
$101 = (($99) + 4)|0;
$102 = $101;
HEAP32[$102>>2] = 0;
$103 = (($$1172) + -8)|0;
$104 = ((($$1176)) + 8|0);
$105 = ($103>>>0)>(7);
if ($105) {
$$1172 = $103;$$1176 = $104;
} else {
break;
}
}
$106 = (($96) - ($97))|0;
$scevgep226 = (($$0175$lcssa) + ($98)|0);
$$2173 = $106;$$2177 = $scevgep226;
}
$107 = ($$2173|0)==(0);
if (!($107)) {
$$3174195 = $$2173;$$3178194 = $$2177;
while(1) {
HEAP8[$$3178194>>0] = 0;
$108 = ((($$3178194)) + 1|0);
$109 = (($$3174195) + -1)|0;
$110 = ($109|0)==(0);
if ($110) {
break;
} else {
$$3174195 = $109;$$3178194 = $108;
}
}
}
$111 = HEAP32[$5>>2]|0;
__gcry_free($111);
}
if (!($17)) {
STACKTOP = sp;return ($$0|0);
}
$112 = $16;
$113 = $112 & 7;
$114 = ($113|0)!=(0);
$115 = ($15|0)!=(0);
$116 = $115 & $114;
if ($116) {
$$0162189 = $15;$$0163188 = $16;
while(1) {
HEAP8[$$0163188>>0] = 0;
$117 = ((($$0163188)) + 1|0);
$118 = (($$0162189) + -1)|0;
$119 = $117;
$120 = $119 & 7;
$121 = ($120|0)!=(0);
$122 = ($118|0)!=(0);
$123 = $122 & $121;
if ($123) {
$$0162189 = $118;$$0163188 = $117;
} else {
$$0162$lcssa = $118;$$0163$lcssa = $117;
break;
}
}
} else {
$$0162$lcssa = $15;$$0163$lcssa = $16;
}
$124 = ($$0162$lcssa>>>0)<(8);
if ($124) {
$$2 = $$0162$lcssa;$$2165 = $$0163$lcssa;
} else {
$125 = (($$0162$lcssa) + -8)|0;
$126 = $125 & -8;
$127 = (($126) + 8)|0;
$$1 = $$0162$lcssa;$$1164 = $$0163$lcssa;
while(1) {
$128 = $$1164;
$129 = $128;
HEAP32[$129>>2] = 0;
$130 = (($128) + 4)|0;
$131 = $130;
HEAP32[$131>>2] = 0;
$132 = (($$1) + -8)|0;
$133 = ((($$1164)) + 8|0);
$134 = ($132>>>0)>(7);
if ($134) {
$$1 = $132;$$1164 = $133;
} else {
break;
}
}
$135 = (($125) - ($126))|0;
$scevgep = (($$0163$lcssa) + ($127)|0);
$$2 = $135;$$2165 = $scevgep;
}
$136 = ($$2|0)==(0);
if (!($136)) {
$$3166186 = $$2165;$$3187 = $$2;
while(1) {
HEAP8[$$3166186>>0] = 0;
$137 = ((($$3166186)) + 1|0);
$138 = (($$3187) + -1)|0;
$139 = ($138|0)==(0);
if ($139) {
break;
} else {
$$3166186 = $137;$$3187 = $138;
}
}
}
__gcry_free($16);
STACKTOP = sp;return ($$0|0);
}
function _rsa_generate($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$0130$i = 0, $$0131$i = 0, $$0131$us$i = 0, $$0133$i = 0, $$0133$us$i = 0, $$0141165$i = 0, $$0147$i = 0, $$0148$i = 0, $$0149$i = 0, $$041 = 0, $$1 = 0, $$1132$lcssa$i = 0, $$1134$lcssa$i = 0, $$1140$i = 0, $$1146$i = 0, $$142 = 0, $$2 = 0, $$2$i = 0, $$3$i = 0;
var $$lobit = 0, $$phi$trans$insert = 0, $$phi$trans$insert$i = 0, $$phi$trans$insert171$i = 0, $$pre = 0, $$pre$i = 0, $$pre$phi54Z2D = 0, $$pre$phi56Z2D = 0, $$pre$phi58Z2D = 0, $$pre$phi60Z2D = 0, $$pre$phi62Z2D = 0, $$pre$phiZ2D = 0, $$pre172$i = 0, $$pre53 = 0, $$pre55 = 0, $$pre57 = 0, $$pre59 = 0, $$pre61 = 0, $10 = 0, $100 = 0;
var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0;
var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0;
var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0;
var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0;
var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0;
var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0;
var $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0;
var $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0;
var $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i35 = 0, $or$cond151$not$i = 0, $or$cond152$i = 0, $or$cond154$i = 0, $spec$select$i = 0, $spec$select$i36 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr10 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0;
var $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(176|0);
$vararg_buffer1 = sp + 64|0;
$vararg_buffer = sp + 56|0;
$2 = sp + 164|0;
$3 = sp + 160|0;
$4 = sp + 156|0;
$5 = sp + 152|0;
$6 = sp + 148|0;
$7 = sp + 144|0;
$8 = sp;
$9 = sp + 140|0;
$10 = sp + 136|0;
$11 = sp + 112|0;
$12 = sp + 104|0;
$13 = sp + 100|0;
HEAP32[$12>>2] = 0;
HEAP32[$13>>2] = 0;
;HEAP32[$11>>2]=0|0;HEAP32[$11+4>>2]=0|0;HEAP32[$11+8>>2]=0|0;HEAP32[$11+12>>2]=0|0;HEAP32[$11+16>>2]=0|0;HEAP32[$11+20>>2]=0|0;
$14 = (__gcry_pk_util_get_nbits($0,$9)|0);
$15 = ($14|0)==(0);
if (!($15)) {
$$0 = $14;
STACKTOP = sp;return ($$0|0);
}
$16 = (__gcry_pk_util_get_rsa_use_e($0,$10)|0);
$17 = ($16|0)==(0);
if (!($17)) {
$$0 = $16;
STACKTOP = sp;return ($$0|0);
}
$18 = (__gcry_sexp_find_token($0,64705,0)|0);
$19 = ($18|0)==(0|0);
if (!($19)) {
$20 = (__gcry_pk_util_parse_flaglist($18,$12,0)|0);
__gcry_sexp_release($18);
$21 = ($20|0)==(0);
if (!($21)) {
$$0 = $20;
STACKTOP = sp;return ($$0|0);
}
}
$22 = ($0|0)==(0|0);
if ($22) {
label = 7;
} else {
$23 = (__gcry_sexp_find_token($0,61911,0)|0);
$24 = ($23|0)==(0|0);
if ($24) {
label = 7;
} else {
$44 = $23;
label = 11;
}
}
do {
if ((label|0) == 7) {
$25 = (__gcry_sexp_find_token($0,61924,0)|0);
$26 = ($25|0)==(0|0);
if (!($26)) {
$27 = HEAP32[$12>>2]|0;
$28 = $27 | 64;
HEAP32[$12>>2] = $28;
__gcry_sexp_release($25);
}
$29 = HEAP32[$12>>2]|0;
$30 = $29 & 64;
$31 = ($30|0)==(0);
if ($31) {
$32 = (__gcry_fips_mode()|0);
$33 = ($32|0)==(0);
if ($33) {
$157 = HEAP32[$12>>2]|0;
$158 = $157 & 32;
$159 = ($158|0)==(0);
if ($159) {
$160 = (__gcry_sexp_find_token($0,66452,0)|0);
$161 = ($160|0)==(0|0);
if (!($161)) {
$162 = HEAP32[$12>>2]|0;
$163 = $162 | 32;
HEAP32[$12>>2] = $163;
__gcry_sexp_release($160);
}
}
$164 = HEAP32[$9>>2]|0;
$165 = HEAP32[$10>>2]|0;
$166 = HEAP32[$12>>2]|0;
$167 = $166 >>> 5;
$$lobit = $167 & 1;
$168 = (__gcry_fips_mode()|0);
$169 = ($168|0)==(0);
if (!($169)) {
$170 = ($164>>>0)>(1023);
$171 = ($$lobit|0)==(0);
$or$cond$i35 = $170 & $171;
if (!($or$cond$i35)) {
$$2 = 55;
break;
}
}
$172 = (2 - ($$lobit))|0;
$173 = $164 & 1;
$spec$select$i36 = (($173) + ($164))|0;
$174 = ($165|0)==(1);
$$0130$i = $174 ? 65537 : $165;
$175 = (__gcry_mpi_alloc(1)|0);
$176 = ($$0130$i|0)==(0);
if ($176) {
(__gcry_mpi_set_ui($175,41)|0);
$188 = (__gcry_mpi_new($spec$select$i36)|0);
$189 = $spec$select$i36 >>> 1;
$$0131$i = 0;$$0133$i = 0;
while(1) {
$190 = ($$0131$i|0)==(0|0);
if (!($190)) {
__gcry_mpi_release($$0131$i);
}
$191 = ($$0133$i|0)==(0|0);
if (!($191)) {
__gcry_mpi_release($$0133$i);
}
$192 = (__gcry_generate_secret_prime($189,$172,0,0)|0);
$193 = (__gcry_generate_secret_prime($189,$172,0,0)|0);
$194 = (__gcry_mpi_cmp($192,$193)|0);
$195 = ($194|0)>(0);
if ($195) {
__gcry_mpi_swap($192,$193);
}
__gcry_mpi_mul($188,$192,$193);
$196 = (__gcry_mpi_get_nbits($188)|0);
$197 = ($196|0)==($spec$select$i36|0);
if ($197) {
$$1132$lcssa$i = $192;$$1134$lcssa$i = $193;$$1140$i = 0;$214 = $188;
break;
} else {
$$0131$i = $192;$$0133$i = $193;
}
}
} else {
$177 = $$0130$i | 1;
(__gcry_mpi_set_ui($175,$177)|0);
$178 = (__gcry_mpi_new($spec$select$i36)|0);
$179 = $spec$select$i36 >>> 1;
$$0131$us$i = 0;$$0133$us$i = 0;
while(1) {
$180 = ($$0131$us$i|0)==(0|0);
if (!($180)) {
__gcry_mpi_release($$0131$us$i);
}
$181 = ($$0133$us$i|0)==(0|0);
if (!($181)) {
__gcry_mpi_release($$0133$us$i);
}
$182 = (__gcry_generate_secret_prime($179,$172,77,$175)|0);
$183 = (__gcry_generate_secret_prime($179,$172,77,$175)|0);
$184 = (__gcry_mpi_cmp($182,$183)|0);
$185 = ($184|0)>(0);
if ($185) {
__gcry_mpi_swap($182,$183);
}
__gcry_mpi_mul($178,$182,$183);
$186 = (__gcry_mpi_get_nbits($178)|0);
$187 = ($186|0)==($spec$select$i36|0);
if ($187) {
$$1132$lcssa$i = $182;$$1134$lcssa$i = $183;$$1140$i = 1;$214 = $178;
break;
} else {
$$0131$us$i = $182;$$0133$us$i = $183;
}
}
}
$198 = ((($$1132$lcssa$i)) + 4|0);
$199 = HEAP32[$198>>2]|0;
$200 = (__gcry_mpi_alloc_secure($199)|0);
$201 = HEAP32[$198>>2]|0;
$202 = (__gcry_mpi_alloc_secure($201)|0);
$203 = (__gcry_mpi_snew($spec$select$i36)|0);
$204 = (__gcry_mpi_snew($spec$select$i36)|0);
$205 = (__gcry_mpi_snew($spec$select$i36)|0);
__gcry_mpi_sub_ui($200,$$1132$lcssa$i,1);
__gcry_mpi_sub_ui($202,$$1134$lcssa$i,1);
__gcry_mpi_mul($203,$200,$202);
(__gcry_mpi_gcd($204,$200,$202)|0);
__gcry_mpi_fdiv_q($205,$203,$204);
$206 = (__gcry_mpi_gcd($200,$175,$203)|0);
$207 = ($206|0)==(0);
if ($207) {
if ($$1140$i) {
__gcry_bug(61969,287,62221);
// unreachable;
}
while(1) {
__gcry_mpi_add_ui($175,$175,2);
$208 = (__gcry_mpi_gcd($200,$175,$203)|0);
$209 = ($208|0)==(0);
if (!($209)) {
break;
}
}
}
$210 = (__gcry_mpi_snew($spec$select$i36)|0);
(__gcry_mpi_invm($210,$175,$205)|0);
$211 = (__gcry_mpi_snew($spec$select$i36)|0);
(__gcry_mpi_invm($211,$$1132$lcssa$i,$$1134$lcssa$i)|0);
$212 = (__gcry_get_debug_flag(1)|0);
$213 = ($212|0)==(0);
if (!($213)) {
__gcry_log_printmpi(62234,$$1132$lcssa$i);
__gcry_log_printmpi(62240,$$1134$lcssa$i);
__gcry_log_printmpi(62246,$203);
__gcry_log_printmpi(62252,$204);
__gcry_log_printmpi(62258,$205);
__gcry_log_printmpi(62264,$214);
__gcry_log_printmpi(62270,$175);
__gcry_log_printmpi(62276,$210);
__gcry_log_printmpi(62282,$211);
}
__gcry_mpi_release($200);
__gcry_mpi_release($202);
__gcry_mpi_release($203);
__gcry_mpi_release($205);
__gcry_mpi_release($204);
HEAP32[$11>>2] = $214;
$215 = ((($11)) + 4|0);
HEAP32[$215>>2] = $175;
$216 = ((($11)) + 12|0);
HEAP32[$216>>2] = $$1132$lcssa$i;
$217 = ((($11)) + 16|0);
HEAP32[$217>>2] = $$1134$lcssa$i;
$218 = ((($11)) + 8|0);
HEAP32[$218>>2] = $210;
$219 = ((($11)) + 20|0);
HEAP32[$219>>2] = $211;
$220 = (($spec$select$i36) + -64)|0;
$221 = (_test_keys($11,$220)|0);
$222 = ($221|0)==(0);
if ($222) {
$$pre$phi54Z2D = $215;$$pre$phi56Z2D = $218;$$pre$phi58Z2D = $216;$$pre$phi60Z2D = $217;$$pre$phi62Z2D = $219;$$pre$phiZ2D = $11;
label = 88;
} else {
$223 = HEAP32[$11>>2]|0;
__gcry_mpi_release($223);
HEAP32[$11>>2] = 0;
$224 = HEAP32[$215>>2]|0;
__gcry_mpi_release($224);
HEAP32[$215>>2] = 0;
$225 = HEAP32[$216>>2]|0;
__gcry_mpi_release($225);
HEAP32[$216>>2] = 0;
$226 = HEAP32[$217>>2]|0;
__gcry_mpi_release($226);
HEAP32[$217>>2] = 0;
$227 = HEAP32[$218>>2]|0;
__gcry_mpi_release($227);
HEAP32[$218>>2] = 0;
$228 = HEAP32[$219>>2]|0;
__gcry_mpi_release($228);
HEAP32[$219>>2] = 0;
__gcry_fips_signal_error(61969,334,62221,0,62154);
$$2 = 50;
}
} else {
$44 = 0;
label = 11;
}
} else {
$44 = 0;
label = 11;
}
}
} while(0);
if ((label|0) == 11) {
$34 = HEAP32[$9>>2]|0;
$35 = HEAP32[$10>>2]|0;
$36 = ($35|0)==(1);
$spec$select$i = $36 ? 65537 : $35;
$37 = ($34>>>0)<(1024);
$38 = $34 & 255;
$39 = ($38|0)!=(0);
$or$cond151$not$i = $37 | $39;
$40 = ($spec$select$i>>>0)<(3);
$or$cond152$i = $or$cond151$not$i | $40;
$41 = $spec$select$i & 1;
$42 = ($41|0)==(0);
$or$cond154$i = $or$cond152$i | $42;
if ($or$cond154$i) {
$$142 = 0;$$3$i = 55;
} else {
HEAP32[$2>>2] = 0;
HEAP32[$3>>2] = 0;
HEAP32[$4>>2] = 0;
HEAP32[$5>>2] = 0;
HEAP32[$6>>2] = 0;
HEAP32[$7>>2] = 0;
$43 = ($44|0)==(0|0);
L69: do {
if ($43) {
$45 = $34 >>> 1;
$46 = (__gcry_mpi_snew($45)|0);
__gcry_mpi_randomize($46,$45,2);
$47 = (($45) + -1)|0;
__gcry_mpi_set_highbit($46,$47);
$48 = (($45) + -2)|0;
__gcry_mpi_set_bit($46,$48);
$49 = (__gcry_mpi_get_nbits($46)|0);
$50 = ($49|0)==($45|0);
if (!($50)) {
__gcry_assert_failed(61933,61969,360,61975);
// unreachable;
}
HEAP32[$4>>2] = $46;
$51 = (__gcry_mpi_snew($45)|0);
$52 = (($45) + -100)|0;
$53 = 0;
while(1) {
__gcry_mpi_release($53);
$54 = (__gcry_mpi_snew($45)|0);
__gcry_mpi_randomize($54,$45,2);
__gcry_mpi_set_highbit($54,$47);
__gcry_mpi_set_bit($54,$48);
$55 = (__gcry_mpi_get_nbits($54)|0);
$56 = ($55|0)==($45|0);
if (!($56)) {
label = 17;
break;
}
HEAP32[$7>>2] = $54;
__gcry_mpi_sub($51,$46,$54);
$57 = (__gcry_mpi_get_nbits($51)|0);
$58 = ($57>>>0)>($52>>>0);
if ($58) {
break;
} else {
$53 = $54;
}
}
if ((label|0) == 17) {
__gcry_assert_failed(61933,61969,360,61975);
// unreachable;
}
__gcry_mpi_release($51);
$59 = (__gcry_mpi_snew(101)|0);
__gcry_mpi_randomize($59,101,2);
__gcry_mpi_set_highbit($59,100);
$60 = (__gcry_mpi_get_nbits($59)|0);
$61 = ($60|0)==(101);
if (!($61)) {
__gcry_assert_failed(61992,61969,375,62026);
// unreachable;
}
HEAP32[$2>>2] = $59;
$62 = (__gcry_mpi_snew(101)|0);
__gcry_mpi_randomize($62,101,2);
__gcry_mpi_set_highbit($62,100);
$63 = (__gcry_mpi_get_nbits($62)|0);
$64 = ($63|0)==(101);
if (!($64)) {
__gcry_assert_failed(61992,61969,375,62026);
// unreachable;
}
HEAP32[$3>>2] = $62;
$65 = (__gcry_mpi_snew(101)|0);
__gcry_mpi_randomize($65,101,2);
__gcry_mpi_set_highbit($65,100);
$66 = (__gcry_mpi_get_nbits($65)|0);
$67 = ($66|0)==(101);
if (!($67)) {
__gcry_assert_failed(61992,61969,375,62026);
// unreachable;
}
HEAP32[$5>>2] = $65;
$68 = (__gcry_mpi_snew(101)|0);
__gcry_mpi_randomize($68,101,2);
__gcry_mpi_set_highbit($68,100);
$69 = (__gcry_mpi_get_nbits($68)|0);
$70 = ($69|0)==(101);
if ($70) {
HEAP32[$6>>2] = $68;
label = 40;
break;
} else {
__gcry_assert_failed(61992,61969,375,62026);
// unreachable;
}
} else {
$71 = ((($8)) + 48|0);
$72 = $71;
$73 = $72;
HEAP32[$73>>2] = 0;
$74 = (($72) + 4)|0;
$75 = $74;
HEAP32[$75>>2] = 0;
HEAP32[$8>>2] = 62043;
$76 = ((($8)) + 8|0);
HEAP32[$76>>2] = 62047;
$77 = ((($8)) + 16|0);
HEAP32[$77>>2] = 62051;
$78 = ((($8)) + 24|0);
HEAP32[$78>>2] = 62054;
$79 = ((($8)) + 32|0);
HEAP32[$79>>2] = 62058;
$80 = ((($8)) + 40|0);
HEAP32[$80>>2] = 62062;
$81 = ((($8)) + 4|0);
HEAP32[$81>>2] = $2;
$82 = ((($8)) + 12|0);
HEAP32[$82>>2] = $3;
$83 = ((($8)) + 20|0);
HEAP32[$83>>2] = $4;
$84 = ((($8)) + 28|0);
HEAP32[$84>>2] = $5;
$85 = ((($8)) + 36|0);
HEAP32[$85>>2] = $6;
$86 = ((($8)) + 44|0);
HEAP32[$86>>2] = $7;
$$0141165$i = 0;$87 = 62043;
while(1) {
$88 = (__gcry_sexp_find_token($44,$87,0)|0);
$89 = ($88|0)==(0|0);
if (!($89)) {
$90 = (((($8) + ($$0141165$i<<3)|0)) + 4|0);
$91 = (__gcry_sexp_nth_mpi($88,1,5)|0);
$92 = HEAP32[$90>>2]|0;
HEAP32[$92>>2] = $91;
__gcry_sexp_release($88);
}
$93 = (($$0141165$i) + 1)|0;
$94 = (($8) + ($93<<3)|0);
$95 = HEAP32[$94>>2]|0;
$96 = ($95|0)==(0|0);
if ($96) {
break;
} else {
$$0141165$i = $93;$87 = $95;
}
}
$97 = HEAP32[$2>>2]|0;
$98 = ($97|0)==(0|0);
L99: do {
if (!($98)) {
$99 = 1;
while(1) {
$$phi$trans$insert$i = (((($8) + ($99<<3)|0)) + 4|0);
$$pre$i = HEAP32[$$phi$trans$insert$i>>2]|0;
$100 = HEAP32[$$pre$i>>2]|0;
$101 = ($100|0)==(0|0);
$102 = (($99) + 1)|0;
if ($101) {
break L99;
}
$$phi$trans$insert = (($8) + ($102<<3)|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$103 = ($$pre|0)==(0|0);
if ($103) {
break;
} else {
$99 = $102;
}
}
label = 40;
break L69;
}
} while(0);
__gcry_mpi_release($97);
$104 = 1;
while(1) {
$$phi$trans$insert171$i = (((($8) + ($104<<3)|0)) + 4|0);
$$pre172$i = HEAP32[$$phi$trans$insert171$i>>2]|0;
$105 = HEAP32[$$pre172$i>>2]|0;
__gcry_mpi_release($105);
$106 = (($104) + 1)|0;
$107 = (($8) + ($106<<3)|0);
$108 = HEAP32[$107>>2]|0;
$109 = ($108|0)==(0|0);
if ($109) {
break;
} else {
$104 = $106;
}
}
$$0147$i = 0;$$0148$i = 0;$$0149$i = 0;$$1146$i = 0;$$2$i = 128;
}
} while(0);
if ((label|0) == 40) {
$110 = (__gcry_mpi_alloc_set_ui($spec$select$i)|0);
$111 = HEAP32[$4>>2]|0;
$112 = HEAP32[$2>>2]|0;
$113 = HEAP32[$3>>2]|0;
$114 = (__gcry_derive_x931_prime($111,$112,$113,$110,0,0)|0);
$115 = HEAP32[$7>>2]|0;
$116 = HEAP32[$5>>2]|0;
$117 = HEAP32[$6>>2]|0;
$118 = (__gcry_derive_x931_prime($115,$116,$117,$110,0,0)|0);
$119 = HEAP32[$4>>2]|0;
__gcry_mpi_release($119);
HEAP32[$4>>2] = 0;
$120 = HEAP32[$2>>2]|0;
__gcry_mpi_release($120);
HEAP32[$2>>2] = 0;
$121 = HEAP32[$3>>2]|0;
__gcry_mpi_release($121);
HEAP32[$3>>2] = 0;
$122 = HEAP32[$7>>2]|0;
__gcry_mpi_release($122);
HEAP32[$7>>2] = 0;
$123 = HEAP32[$5>>2]|0;
__gcry_mpi_release($123);
HEAP32[$5>>2] = 0;
$124 = HEAP32[$6>>2]|0;
__gcry_mpi_release($124);
HEAP32[$6>>2] = 0;
$125 = ($114|0)!=(0|0);
$126 = ($118|0)!=(0|0);
$or$cond$i = $125 & $126;
if ($or$cond$i) {
$$0147$i = $114;$$0148$i = $118;$$0149$i = $110;$$1146$i = 1;$$2$i = 128;
} else {
__gcry_mpi_release($114);
__gcry_mpi_release($118);
__gcry_mpi_release($110);
$$0147$i = $114;$$0148$i = $118;$$0149$i = $110;$$1146$i = 0;$$2$i = 21;
}
}
if ($$1146$i) {
$127 = (__gcry_mpi_cmp($$0147$i,$$0148$i)|0);
$128 = ($127|0)>(0);
if ($128) {
__gcry_mpi_swap($$0147$i,$$0148$i);
$$041 = 1;
} else {
$$041 = 0;
}
$129 = (__gcry_mpi_new($34)|0);
__gcry_mpi_mul($129,$$0147$i,$$0148$i);
$130 = $34 >>> 1;
$131 = (__gcry_mpi_snew($130)|0);
$132 = (__gcry_mpi_snew($130)|0);
$133 = (__gcry_mpi_snew($34)|0);
__gcry_mpi_sub_ui($131,$$0147$i,1);
__gcry_mpi_sub_ui($132,$$0148$i,1);
__gcry_mpi_mul($133,$131,$132);
$134 = (__gcry_mpi_snew($34)|0);
$135 = (__gcry_mpi_gcd($134,$$0149$i,$133)|0);
$136 = ($135|0)==(0);
if ($136) {
__gcry_assert_failed(62065,61969,541,62099);
// unreachable;
}
(__gcry_mpi_gcd($134,$131,$132)|0);
__gcry_mpi_release($132);
__gcry_mpi_fdiv_q($131,$133,$134);
__gcry_mpi_release($133);
(__gcry_mpi_invm($134,$$0149$i,$131)|0);
(__gcry_mpi_invm($131,$$0147$i,$$0148$i)|0);
$137 = (__gcry_get_debug_flag(1)|0);
$138 = ($137|0)==(0);
if (!($138)) {
$139 = ($$041|0)==(0);
if (!($139)) {
__gcry_log_debug(62113,$vararg_buffer);
}
__gcry_log_printmpi(63829,$$0147$i);
__gcry_log_printmpi(62134,$$0148$i);
__gcry_log_printmpi(62138,$129);
__gcry_log_printmpi(62142,$$0149$i);
__gcry_log_printmpi(62146,$134);
__gcry_log_printmpi(62150,$131);
}
HEAP32[$11>>2] = $129;
$140 = ((($11)) + 4|0);
HEAP32[$140>>2] = $$0149$i;
$141 = ((($11)) + 12|0);
HEAP32[$141>>2] = $$0147$i;
$142 = ((($11)) + 16|0);
HEAP32[$142>>2] = $$0148$i;
$143 = ((($11)) + 8|0);
HEAP32[$143>>2] = $134;
$144 = ((($11)) + 20|0);
HEAP32[$144>>2] = $131;
$145 = (($34) + -64)|0;
$146 = (_test_keys($11,$145)|0);
$147 = ($146|0)==(0);
if ($147) {
$$142 = $$041;$$3$i = 0;
} else {
$148 = HEAP32[$11>>2]|0;
__gcry_mpi_release($148);
HEAP32[$11>>2] = 0;
$149 = HEAP32[$140>>2]|0;
__gcry_mpi_release($149);
HEAP32[$140>>2] = 0;
$150 = HEAP32[$141>>2]|0;
__gcry_mpi_release($150);
HEAP32[$141>>2] = 0;
$151 = HEAP32[$142>>2]|0;
__gcry_mpi_release($151);
HEAP32[$142>>2] = 0;
$152 = HEAP32[$143>>2]|0;
__gcry_mpi_release($152);
HEAP32[$143>>2] = 0;
$153 = HEAP32[$144>>2]|0;
__gcry_mpi_release($153);
HEAP32[$144>>2] = 0;
__gcry_fips_signal_error(61969,586,62099,0,62154);
$$142 = $$041;$$3$i = 50;
}
} else {
$$142 = 0;$$3$i = $$2$i;
}
}
__gcry_sexp_release($44);
$154 = ($$3$i|0)==(0);
$155 = ($$142|0)!=(0);
$or$cond = $155 & $154;
if ($or$cond) {
$156 = (__gcry_sexp_new($13,62192,0,1)|0);
$$1 = $156;
} else {
$$1 = $$3$i;
}
$229 = ($$1|0)==(0);
if ($229) {
$$pre53 = ((($11)) + 4|0);
$$pre55 = ((($11)) + 8|0);
$$pre57 = ((($11)) + 12|0);
$$pre59 = ((($11)) + 16|0);
$$pre61 = ((($11)) + 20|0);
$$pre$phi54Z2D = $$pre53;$$pre$phi56Z2D = $$pre55;$$pre$phi58Z2D = $$pre57;$$pre$phi60Z2D = $$pre59;$$pre$phi62Z2D = $$pre61;$$pre$phiZ2D = $11;
label = 88;
} else {
$$2 = $$1;
}
}
if ((label|0) == 88) {
$230 = HEAP32[$$pre$phiZ2D>>2]|0;
$231 = HEAP32[$$pre$phi54Z2D>>2]|0;
$232 = HEAP32[$$pre$phi56Z2D>>2]|0;
$233 = HEAP32[$$pre$phi58Z2D>>2]|0;
$234 = HEAP32[$$pre$phi60Z2D>>2]|0;
$235 = HEAP32[$$pre$phi62Z2D>>2]|0;
$236 = HEAP32[$13>>2]|0;
HEAP32[$vararg_buffer1>>2] = $230;
$vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
HEAP32[$vararg_ptr3>>2] = $231;
$vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
HEAP32[$vararg_ptr4>>2] = $230;
$vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
HEAP32[$vararg_ptr5>>2] = $231;
$vararg_ptr6 = ((($vararg_buffer1)) + 16|0);
HEAP32[$vararg_ptr6>>2] = $232;
$vararg_ptr7 = ((($vararg_buffer1)) + 20|0);
HEAP32[$vararg_ptr7>>2] = $233;
$vararg_ptr8 = ((($vararg_buffer1)) + 24|0);
HEAP32[$vararg_ptr8>>2] = $234;
$vararg_ptr9 = ((($vararg_buffer1)) + 28|0);
HEAP32[$vararg_ptr9>>2] = $235;
$vararg_ptr10 = ((($vararg_buffer1)) + 32|0);
HEAP32[$vararg_ptr10>>2] = $236;
$237 = (__gcry_sexp_build($1,0,62288,$vararg_buffer1)|0);
$$2 = $237;
}
$238 = HEAP32[$11>>2]|0;
__gcry_mpi_free($238);
$239 = ((($11)) + 4|0);
$240 = HEAP32[$239>>2]|0;
__gcry_mpi_free($240);
$241 = ((($11)) + 12|0);
$242 = HEAP32[$241>>2]|0;
__gcry_mpi_free($242);
$243 = ((($11)) + 16|0);
$244 = HEAP32[$243>>2]|0;
__gcry_mpi_free($244);
$245 = ((($11)) + 8|0);
$246 = HEAP32[$245>>2]|0;
__gcry_mpi_free($246);
$247 = ((($11)) + 20|0);
$248 = HEAP32[$247>>2]|0;
__gcry_mpi_free($248);
$249 = HEAP32[$13>>2]|0;
__gcry_sexp_release($249);
$$0 = $$2;
STACKTOP = sp;return ($$0|0);
}
function _rsa_check_secret_key($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer7 = sp + 32|0;
$vararg_buffer = sp;
$1 = sp + 40|0;
;HEAP32[$1>>2]=0|0;HEAP32[$1+4>>2]=0|0;HEAP32[$1+8>>2]=0|0;HEAP32[$1+12>>2]=0|0;HEAP32[$1+16>>2]=0|0;HEAP32[$1+20>>2]=0|0;
$2 = ((($1)) + 4|0);
$3 = ((($1)) + 8|0);
$4 = ((($1)) + 12|0);
$5 = ((($1)) + 16|0);
$6 = ((($1)) + 20|0);
HEAP32[$vararg_buffer>>2] = $1;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $2;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $3;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $4;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $5;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = $6;
$vararg_ptr6 = ((($vararg_buffer)) + 24|0);
HEAP32[$vararg_ptr6>>2] = 0;
$7 = (__gcry_sexp_extract_param($0,0,60972,$vararg_buffer)|0);
$8 = ($7|0)==(0);
if ($8) {
$9 = HEAP32[$4>>2]|0;
$10 = ((($9)) + 4|0);
$11 = HEAP32[$10>>2]|0;
$12 = $11 << 1;
$13 = (__gcry_mpi_alloc($12)|0);
$14 = HEAP32[$4>>2]|0;
$15 = HEAP32[$5>>2]|0;
__gcry_mpi_mul($13,$14,$15);
$16 = HEAP32[$1>>2]|0;
$17 = (__gcry_mpi_cmp($13,$16)|0);
__gcry_mpi_free($13);
$18 = ($17|0)==(0);
$spec$select = $18 ? 0 : 7;
$$0 = $spec$select;
} else {
$$0 = $7;
}
$19 = HEAP32[$1>>2]|0;
__gcry_mpi_release($19);
$20 = HEAP32[$2>>2]|0;
__gcry_mpi_release($20);
$21 = HEAP32[$3>>2]|0;
__gcry_mpi_release($21);
$22 = HEAP32[$4>>2]|0;
__gcry_mpi_release($22);
$23 = HEAP32[$5>>2]|0;
__gcry_mpi_release($23);
$24 = HEAP32[$6>>2]|0;
__gcry_mpi_release($24);
$25 = (__gcry_get_debug_flag(1)|0);
$26 = ($25|0)==(0);
if ($26) {
STACKTOP = sp;return ($$0|0);
}
$27 = (_gpg_strerror($$0)|0);
HEAP32[$vararg_buffer7>>2] = $27;
__gcry_log_debug(61889,$vararg_buffer7);
STACKTOP = sp;return ($$0|0);
}
function _rsa_encrypt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$i = 0, $$021 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
$vararg_buffer10 = sp + 40|0;
$vararg_buffer7 = sp + 32|0;
$vararg_buffer3 = sp + 24|0;
$vararg_buffer = sp + 8|0;
$3 = sp + 56|0;
$4 = sp + 48|0;
$5 = sp;
$6 = sp + 44|0;
HEAP32[$4>>2] = 0;
$7 = $5;
$8 = $7;
HEAP32[$8>>2] = 0;
$9 = (($7) + 4)|0;
$10 = $9;
HEAP32[$10>>2] = 0;
$11 = (__gcry_sexp_find_token($2,60983,1)|0);
$12 = ($11|0)==(0|0);
if ($12) {
$$0$i = 0;
} else {
$13 = (__gcry_sexp_nth_mpi($11,1,5)|0);
__gcry_sexp_release($11);
$14 = ($13|0)==(0|0);
if ($14) {
$68 = 0;
} else {
$15 = (__gcry_mpi_get_nbits($13)|0);
$68 = $15;
}
__gcry_mpi_release($13);
$$0$i = $68;
}
__gcry_pk_util_init_encoding_ctx($3,0,$$0$i);
$16 = (__gcry_pk_util_data_to_mpi($1,$4,$3)|0);
$17 = ($16|0)==(0);
do {
if ($17) {
$18 = (__gcry_get_debug_flag(1)|0);
$19 = ($18|0)==(0);
if (!($19)) {
$20 = HEAP32[$4>>2]|0;
__gcry_log_printmpi(61759,$20);
}
$21 = HEAP32[$4>>2]|0;
$22 = ($21|0)==(0|0);
if (!($22)) {
$23 = ((($21)) + 12|0);
$24 = HEAP32[$23>>2]|0;
$25 = $24 & 4;
$26 = ($25|0)==(0);
if (!($26)) {
$$021 = 0;$$1 = 79;
break;
}
}
$27 = ((($5)) + 4|0);
HEAP32[$vararg_buffer>>2] = $5;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $27;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 0;
$28 = (__gcry_sexp_extract_param($2,0,60969,$vararg_buffer)|0);
$29 = ($28|0)==(0);
if ($29) {
$30 = (__gcry_get_debug_flag(1)|0);
$31 = ($30|0)==(0);
if (!($31)) {
$32 = HEAP32[$5>>2]|0;
__gcry_log_printmpi(61776,$32);
$33 = HEAP32[$27>>2]|0;
__gcry_log_printmpi(61793,$33);
}
$34 = (__gcry_mpi_new(0)|0);
$35 = HEAP32[$4>>2]|0;
$36 = ($34|0)==($35|0);
if ($36) {
$37 = ((($34)) + 4|0);
$38 = HEAP32[$37>>2]|0;
$39 = $38 << 1;
$40 = (__gcry_mpi_alloc($39)|0);
$41 = HEAP32[$27>>2]|0;
$42 = HEAP32[$5>>2]|0;
__gcry_mpi_powm($40,$34,$41,$42);
(__gcry_mpi_set($34,$40)|0);
__gcry_mpi_free($40);
} else {
$43 = HEAP32[$27>>2]|0;
$44 = HEAP32[$5>>2]|0;
__gcry_mpi_powm($34,$35,$43,$44);
}
$45 = (__gcry_get_debug_flag(1)|0);
$46 = ($45|0)==(0);
if (!($46)) {
__gcry_log_printmpi(61810,$34);
}
$47 = ((($3)) + 12|0);
$48 = HEAP32[$47>>2]|0;
$49 = $48 & 4;
$50 = ($49|0)==(0);
if ($50) {
HEAP32[$vararg_buffer7>>2] = $34;
$60 = (__gcry_sexp_build($0,0,61847,$vararg_buffer7)|0);
$$021 = $34;$$1 = $60;
break;
}
$51 = HEAP32[$5>>2]|0;
$52 = (__gcry_mpi_get_nbits($51)|0);
$53 = (($52) + 7)|0;
$54 = $53 >>> 3;
$55 = (__gcry_mpi_to_octet_string($6,0,$34,$54)|0);
$56 = ($55|0)==(0);
if ($56) {
$57 = HEAP32[$6>>2]|0;
HEAP32[$vararg_buffer3>>2] = $54;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = $57;
$58 = (__gcry_sexp_build($0,0,61827,$vararg_buffer3)|0);
$59 = HEAP32[$6>>2]|0;
__gcry_free($59);
$$0 = $58;
} else {
$$0 = $55;
}
$$021 = $34;$$1 = $$0;
} else {
$$021 = 0;$$1 = $28;
}
} else {
$$021 = 0;$$1 = $16;
}
} while(0);
__gcry_mpi_release($$021);
$61 = HEAP32[$5>>2]|0;
__gcry_mpi_release($61);
$62 = ((($5)) + 4|0);
$63 = HEAP32[$62>>2]|0;
__gcry_mpi_release($63);
$64 = HEAP32[$4>>2]|0;
__gcry_mpi_release($64);
__gcry_pk_util_free_encoding_ctx($3);
$65 = (__gcry_get_debug_flag(1)|0);
$66 = ($65|0)==(0);
if ($66) {
STACKTOP = sp;return ($$1|0);
}
$67 = (_gpg_strerror($$1)|0);
HEAP32[$vararg_buffer10>>2] = $67;
__gcry_log_debug(61867,$vararg_buffer10);
STACKTOP = sp;return ($$1|0);
}
function _rsa_decrypt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$i = 0, $$053 = 0, $$054 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
var $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0;
var $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer22 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
$vararg_buffer22 = sp + 64|0;
$vararg_buffer19 = sp + 56|0;
$vararg_buffer15 = sp + 48|0;
$vararg_buffer11 = sp + 40|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$3 = sp + 112|0;
$4 = sp + 108|0;
$5 = sp + 104|0;
$6 = sp + 80|0;
$7 = sp + 72|0;
$8 = sp + 68|0;
HEAP32[$4>>2] = 0;
HEAP32[$5>>2] = 0;
;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;HEAP32[$6+20>>2]=0|0;
HEAP32[$7>>2] = 0;
HEAP32[$8>>2] = 0;
$9 = (__gcry_sexp_find_token($2,60983,1)|0);
$10 = ($9|0)==(0|0);
if ($10) {
$$0$i = 0;
} else {
$11 = (__gcry_sexp_nth_mpi($9,1,5)|0);
__gcry_sexp_release($9);
$12 = ($11|0)==(0|0);
if ($12) {
$116 = 0;
} else {
$13 = (__gcry_mpi_get_nbits($11)|0);
$116 = $13;
}
__gcry_mpi_release($11);
$$0$i = $116;
}
__gcry_pk_util_init_encoding_ctx($3,1,$$0$i);
$14 = (__gcry_pk_util_preparse_encval($1,6464,$4,$3)|0);
$15 = ($14|0)==(0);
L7: do {
if ($15) {
$16 = HEAP32[$4>>2]|0;
HEAP32[$vararg_buffer>>2] = $5;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 0;
$17 = (__gcry_sexp_extract_param($16,0,60979,$vararg_buffer)|0);
$18 = ($17|0)==(0);
if ($18) {
$19 = (__gcry_get_debug_flag(1)|0);
$20 = ($19|0)==(0);
if (!($20)) {
$21 = HEAP32[$5>>2]|0;
__gcry_log_printmpi(61587,$21);
}
$22 = HEAP32[$5>>2]|0;
$23 = ($22|0)==(0|0);
if (!($23)) {
$24 = ((($22)) + 12|0);
$25 = HEAP32[$24>>2]|0;
$26 = $25 & 4;
$27 = ($26|0)==(0);
if (!($27)) {
$$053 = 0;$$054 = 79;
break;
}
}
$28 = ((($6)) + 4|0);
$29 = ((($6)) + 8|0);
$30 = ((($6)) + 12|0);
$31 = ((($6)) + 16|0);
$32 = ((($6)) + 20|0);
HEAP32[$vararg_buffer2>>2] = $6;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = $28;
$vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
HEAP32[$vararg_ptr6>>2] = $29;
$vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
HEAP32[$vararg_ptr7>>2] = $30;
$vararg_ptr8 = ((($vararg_buffer2)) + 16|0);
HEAP32[$vararg_ptr8>>2] = $31;
$vararg_ptr9 = ((($vararg_buffer2)) + 20|0);
HEAP32[$vararg_ptr9>>2] = $32;
$vararg_ptr10 = ((($vararg_buffer2)) + 24|0);
HEAP32[$vararg_ptr10>>2] = 0;
$33 = (__gcry_sexp_extract_param($2,0,61404,$vararg_buffer2)|0);
$34 = ($33|0)==(0);
if ($34) {
$35 = (__gcry_get_debug_flag(1)|0);
$36 = ($35|0)==(0);
if (!($36)) {
$37 = HEAP32[$6>>2]|0;
__gcry_log_printmpi(61604,$37);
$38 = HEAP32[$28>>2]|0;
__gcry_log_printmpi(61621,$38);
$39 = (__gcry_fips_mode()|0);
$40 = ($39|0)==(0);
if ($40) {
$41 = HEAP32[$29>>2]|0;
__gcry_log_printmpi(61638,$41);
$42 = HEAP32[$30>>2]|0;
__gcry_log_printmpi(61655,$42);
$43 = HEAP32[$31>>2]|0;
__gcry_log_printmpi(61672,$43);
$44 = HEAP32[$32>>2]|0;
__gcry_log_printmpi(61689,$44);
}
}
$45 = HEAP32[$5>>2]|0;
__gcry_mpi_normalize($45);
$46 = HEAP32[$5>>2]|0;
$47 = HEAP32[$6>>2]|0;
__gcry_mpi_fdiv_r($46,$46,$47);
$48 = ((($3)) + 4|0);
$49 = HEAP32[$48>>2]|0;
$50 = (__gcry_mpi_snew($49)|0);
$51 = ((($3)) + 12|0);
$52 = HEAP32[$51>>2]|0;
$53 = $52 & 1;
$54 = ($53|0)==(0);
if ($54) {
$55 = HEAP32[$48>>2]|0;
$56 = (__gcry_mpi_snew($55)|0);
$57 = HEAP32[$48>>2]|0;
$58 = (__gcry_mpi_snew($57)|0);
$59 = HEAP32[$48>>2]|0;
$60 = (__gcry_mpi_snew($59)|0);
while(1) {
$61 = HEAP32[$48>>2]|0;
__gcry_mpi_randomize($56,$61,0);
$62 = HEAP32[$6>>2]|0;
__gcry_mpi_mod($56,$56,$62);
$63 = HEAP32[$6>>2]|0;
$64 = (__gcry_mpi_invm($58,$56,$63)|0);
$65 = ($64|0)==(0);
if (!($65)) {
break;
}
}
$66 = HEAP32[$28>>2]|0;
$67 = HEAP32[$6>>2]|0;
__gcry_mpi_powm($60,$56,$66,$67);
$68 = HEAP32[$5>>2]|0;
$69 = HEAP32[$6>>2]|0;
__gcry_mpi_mulm($60,$60,$68,$69);
_secret($50,$60,$6);
__gcry_mpi_release($60);
$70 = HEAP32[$6>>2]|0;
__gcry_mpi_mulm($50,$50,$58,$70);
__gcry_mpi_release($56);
__gcry_mpi_release($58);
} else {
$71 = HEAP32[$5>>2]|0;
_secret($50,$71,$6);
}
$72 = (__gcry_get_debug_flag(1)|0);
$73 = ($72|0)==(0);
if (!($73)) {
__gcry_log_printmpi(61706,$50);
}
$74 = ((($3)) + 8|0);
$75 = HEAP32[$74>>2]|0;
switch ($75|0) {
case 1: {
$76 = HEAP32[$48>>2]|0;
$77 = (__gcry_rsa_pkcs1_decode_for_enc($7,$8,$76,$50)|0);
__gcry_mpi_free($50);
$78 = ($77|0)==(0);
if (!($78)) {
$$053 = 0;$$054 = $77;
break L7;
}
$79 = HEAP32[$8>>2]|0;
$80 = HEAP32[$7>>2]|0;
HEAP32[$vararg_buffer11>>2] = $79;
$vararg_ptr14 = ((($vararg_buffer11)) + 4|0);
HEAP32[$vararg_ptr14>>2] = $80;
$81 = (__gcry_sexp_build($0,0,61723,$vararg_buffer11)|0);
$$053 = 0;$$054 = $81;
break L7;
break;
}
case 3: {
$82 = HEAP32[$48>>2]|0;
$83 = ((($3)) + 16|0);
$84 = HEAP32[$83>>2]|0;
$85 = ((($3)) + 20|0);
$86 = HEAP32[$85>>2]|0;
$87 = ((($3)) + 24|0);
$88 = HEAP32[$87>>2]|0;
$89 = (__gcry_rsa_oaep_decode($7,$8,$82,$84,$50,$86,$88)|0);
__gcry_mpi_free($50);
$90 = ($89|0)==(0);
if (!($90)) {
$$053 = 0;$$054 = $89;
break L7;
}
$91 = HEAP32[$8>>2]|0;
$92 = HEAP32[$7>>2]|0;
HEAP32[$vararg_buffer15>>2] = $91;
$vararg_ptr18 = ((($vararg_buffer15)) + 4|0);
HEAP32[$vararg_ptr18>>2] = $92;
$93 = (__gcry_sexp_build($0,0,61723,$vararg_buffer15)|0);
$$053 = 0;$$054 = $93;
break L7;
break;
}
default: {
$94 = HEAP32[$51>>2]|0;
$95 = $94 & 8;
$96 = ($95|0)==(0);
$97 = $96 ? 65600 : 61734;
HEAP32[$vararg_buffer19>>2] = $50;
$98 = (__gcry_sexp_build($0,0,$97,$vararg_buffer19)|0);
$$053 = $50;$$054 = $98;
break L7;
}
}
} else {
$$053 = 0;$$054 = $33;
}
} else {
$$053 = 0;$$054 = $17;
}
} else {
$$053 = 0;$$054 = $14;
}
} while(0);
$99 = HEAP32[$7>>2]|0;
__gcry_free($99);
__gcry_mpi_release($$053);
$100 = HEAP32[$6>>2]|0;
__gcry_mpi_release($100);
$101 = ((($6)) + 4|0);
$102 = HEAP32[$101>>2]|0;
__gcry_mpi_release($102);
$103 = ((($6)) + 8|0);
$104 = HEAP32[$103>>2]|0;
__gcry_mpi_release($104);
$105 = ((($6)) + 12|0);
$106 = HEAP32[$105>>2]|0;
__gcry_mpi_release($106);
$107 = ((($6)) + 16|0);
$108 = HEAP32[$107>>2]|0;
__gcry_mpi_release($108);
$109 = ((($6)) + 20|0);
$110 = HEAP32[$109>>2]|0;
__gcry_mpi_release($110);
$111 = HEAP32[$5>>2]|0;
__gcry_mpi_release($111);
__gcry_mpi_release(0);
__gcry_mpi_release(0);
__gcry_mpi_release(0);
$112 = HEAP32[$4>>2]|0;
__gcry_sexp_release($112);
__gcry_pk_util_free_encoding_ctx($3);
$113 = (__gcry_get_debug_flag(1)|0);
$114 = ($113|0)==(0);
if ($114) {
STACKTOP = sp;return ($$054|0);
}
$115 = (_gpg_strerror($$054)|0);
HEAP32[$vararg_buffer22>>2] = $115;
__gcry_log_debug(61737,$vararg_buffer22);
STACKTOP = sp;return ($$054|0);
}
function _rsa_sign($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$i = 0, $$021 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0;
var $vararg_ptr10 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$vararg_buffer14 = sp + 48|0;
$vararg_buffer11 = sp + 40|0;
$vararg_buffer7 = sp + 32|0;
$vararg_buffer = sp;
$3 = sp + 88|0;
$4 = sp + 80|0;
$5 = sp + 56|0;
$6 = sp + 52|0;
HEAP32[$4>>2] = 0;
;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0;HEAP32[$5+20>>2]=0|0;
$7 = (__gcry_sexp_find_token($2,60983,1)|0);
$8 = ($7|0)==(0|0);
if ($8) {
$$0$i = 0;
} else {
$9 = (__gcry_sexp_nth_mpi($7,1,5)|0);
__gcry_sexp_release($7);
$10 = ($9|0)==(0|0);
if ($10) {
$73 = 0;
} else {
$11 = (__gcry_mpi_get_nbits($9)|0);
$73 = $11;
}
__gcry_mpi_release($9);
$$0$i = $73;
}
__gcry_pk_util_init_encoding_ctx($3,2,$$0$i);
$12 = (__gcry_pk_util_data_to_mpi($1,$4,$3)|0);
$13 = ($12|0)==(0);
do {
if ($13) {
$14 = (__gcry_get_debug_flag(1)|0);
$15 = ($14|0)==(0);
if (!($15)) {
$16 = HEAP32[$4>>2]|0;
__gcry_log_printmpi(61388,$16);
}
$17 = HEAP32[$4>>2]|0;
$18 = ($17|0)==(0|0);
if (!($18)) {
$19 = ((($17)) + 12|0);
$20 = HEAP32[$19>>2]|0;
$21 = $20 & 4;
$22 = ($21|0)==(0);
if (!($22)) {
$$021 = 0;$$1 = 79;
break;
}
}
$23 = ((($5)) + 4|0);
$24 = ((($5)) + 8|0);
$25 = ((($5)) + 12|0);
$26 = ((($5)) + 16|0);
$27 = ((($5)) + 20|0);
HEAP32[$vararg_buffer>>2] = $5;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $23;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $24;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $25;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $26;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = $27;
$vararg_ptr6 = ((($vararg_buffer)) + 24|0);
HEAP32[$vararg_ptr6>>2] = 0;
$28 = (__gcry_sexp_extract_param($2,0,61404,$vararg_buffer)|0);
$29 = ($28|0)==(0);
if ($29) {
$30 = (__gcry_get_debug_flag(1)|0);
$31 = ($30|0)==(0);
if (!($31)) {
$32 = HEAP32[$5>>2]|0;
__gcry_log_printmpi(61414,$32);
$33 = HEAP32[$23>>2]|0;
__gcry_log_printmpi(61430,$33);
$34 = (__gcry_fips_mode()|0);
$35 = ($34|0)==(0);
if ($35) {
$36 = HEAP32[$24>>2]|0;
__gcry_log_printmpi(61446,$36);
$37 = HEAP32[$25>>2]|0;
__gcry_log_printmpi(61462,$37);
$38 = HEAP32[$26>>2]|0;
__gcry_log_printmpi(61478,$38);
$39 = HEAP32[$27>>2]|0;
__gcry_log_printmpi(61494,$39);
}
}
$40 = (__gcry_mpi_new(0)|0);
$41 = HEAP32[$4>>2]|0;
_secret($40,$41,$5);
$42 = (__gcry_get_debug_flag(1)|0);
$43 = ($42|0)==(0);
if (!($43)) {
__gcry_log_printmpi(61510,$40);
}
$44 = ((($3)) + 12|0);
$45 = HEAP32[$44>>2]|0;
$46 = $45 & 4;
$47 = ($46|0)==(0);
if ($47) {
HEAP32[$vararg_buffer11>>2] = $40;
$57 = (__gcry_sexp_build($0,0,61546,$vararg_buffer11)|0);
$$021 = $40;$$1 = $57;
break;
}
$48 = HEAP32[$5>>2]|0;
$49 = (__gcry_mpi_get_nbits($48)|0);
$50 = (($49) + 7)|0;
$51 = $50 >>> 3;
$52 = (__gcry_mpi_to_octet_string($6,0,$40,$51)|0);
$53 = ($52|0)==(0);
if ($53) {
$54 = HEAP32[$6>>2]|0;
HEAP32[$vararg_buffer7>>2] = $51;
$vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
HEAP32[$vararg_ptr10>>2] = $54;
$55 = (__gcry_sexp_build($0,0,61526,$vararg_buffer7)|0);
$56 = HEAP32[$6>>2]|0;
__gcry_free($56);
$$0 = $55;
} else {
$$0 = $52;
}
$$021 = $40;$$1 = $$0;
} else {
$$021 = 0;$$1 = $28;
}
} else {
$$021 = 0;$$1 = $12;
}
} while(0);
__gcry_mpi_release($$021);
$58 = HEAP32[$5>>2]|0;
__gcry_mpi_release($58);
$59 = ((($5)) + 4|0);
$60 = HEAP32[$59>>2]|0;
__gcry_mpi_release($60);
$61 = ((($5)) + 8|0);
$62 = HEAP32[$61>>2]|0;
__gcry_mpi_release($62);
$63 = ((($5)) + 12|0);
$64 = HEAP32[$63>>2]|0;
__gcry_mpi_release($64);
$65 = ((($5)) + 16|0);
$66 = HEAP32[$65>>2]|0;
__gcry_mpi_release($66);
$67 = ((($5)) + 20|0);
$68 = HEAP32[$67>>2]|0;
__gcry_mpi_release($68);
$69 = HEAP32[$4>>2]|0;
__gcry_mpi_release($69);
__gcry_pk_util_free_encoding_ctx($3);
$70 = (__gcry_get_debug_flag(1)|0);
$71 = ($70|0)==(0);
if ($71) {
STACKTOP = sp;return ($$1|0);
}
$72 = (_gpg_strerror($$1)|0);
HEAP32[$vararg_buffer14>>2] = $72;
__gcry_log_debug(61566,$vararg_buffer14);
STACKTOP = sp;return ($$1|0);
}
function _rsa_verify($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$i = 0, $$018 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0;
var $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
$vararg_buffer7 = sp + 32|0;
$vararg_buffer2 = sp + 16|0;
$vararg_buffer = sp + 8|0;
$3 = sp + 48|0;
$4 = sp + 44|0;
$5 = sp + 40|0;
$6 = sp + 36|0;
$7 = sp;
HEAP32[$4>>2] = 0;
HEAP32[$5>>2] = 0;
HEAP32[$6>>2] = 0;
$8 = $7;
$9 = $8;
HEAP32[$9>>2] = 0;
$10 = (($8) + 4)|0;
$11 = $10;
HEAP32[$11>>2] = 0;
$12 = (__gcry_sexp_find_token($2,60983,1)|0);
$13 = ($12|0)==(0|0);
if ($13) {
$$0$i = 0;
} else {
$14 = (__gcry_sexp_nth_mpi($12,1,5)|0);
__gcry_sexp_release($12);
$15 = ($14|0)==(0|0);
if ($15) {
$75 = 0;
} else {
$16 = (__gcry_mpi_get_nbits($14)|0);
$75 = $16;
}
__gcry_mpi_release($14);
$$0$i = $75;
}
__gcry_pk_util_init_encoding_ctx($3,3,$$0$i);
$17 = (__gcry_pk_util_data_to_mpi($1,$6,$3)|0);
$18 = ($17|0)==(0);
do {
if ($18) {
$19 = (__gcry_get_debug_flag(1)|0);
$20 = ($19|0)==(0);
if (!($20)) {
$21 = HEAP32[$6>>2]|0;
__gcry_log_printmpi(61287,$21);
}
$22 = HEAP32[$6>>2]|0;
$23 = ($22|0)==(0|0);
if (!($23)) {
$24 = ((($22)) + 12|0);
$25 = HEAP32[$24>>2]|0;
$26 = $25 & 4;
$27 = ($26|0)==(0);
if (!($27)) {
$$0 = 0;$$018 = 79;
break;
}
}
$28 = (__gcry_pk_util_preparse_sigval($0,6464,$4,0)|0);
$29 = ($28|0)==(0);
if ($29) {
$30 = HEAP32[$4>>2]|0;
HEAP32[$vararg_buffer>>2] = $5;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 0;
$31 = (__gcry_sexp_extract_param($30,0,60981,$vararg_buffer)|0);
$32 = ($31|0)==(0);
if ($32) {
$33 = (__gcry_get_debug_flag(1)|0);
$34 = ($33|0)==(0);
if (!($34)) {
$35 = HEAP32[$5>>2]|0;
__gcry_log_printmpi(61303,$35);
}
$36 = ((($7)) + 4|0);
HEAP32[$vararg_buffer2>>2] = $7;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = $36;
$vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
HEAP32[$vararg_ptr6>>2] = 0;
$37 = (__gcry_sexp_extract_param($2,0,60969,$vararg_buffer2)|0);
$38 = ($37|0)==(0);
if ($38) {
$39 = (__gcry_get_debug_flag(1)|0);
$40 = ($39|0)==(0);
if (!($40)) {
$41 = HEAP32[$7>>2]|0;
__gcry_log_printmpi(61319,$41);
$42 = HEAP32[$36>>2]|0;
__gcry_log_printmpi(61335,$42);
}
$43 = (__gcry_mpi_new(0)|0);
$44 = HEAP32[$5>>2]|0;
$45 = ($43|0)==($44|0);
if ($45) {
$46 = ((($43)) + 4|0);
$47 = HEAP32[$46>>2]|0;
$48 = $47 << 1;
$49 = (__gcry_mpi_alloc($48)|0);
$50 = HEAP32[$36>>2]|0;
$51 = HEAP32[$7>>2]|0;
__gcry_mpi_powm($49,$43,$50,$51);
(__gcry_mpi_set($43,$49)|0);
__gcry_mpi_free($49);
} else {
$52 = HEAP32[$36>>2]|0;
$53 = HEAP32[$7>>2]|0;
__gcry_mpi_powm($43,$44,$52,$53);
}
$54 = (__gcry_get_debug_flag(1)|0);
$55 = ($54|0)==(0);
if (!($55)) {
__gcry_log_printmpi(61351,$43);
}
$56 = ((($3)) + 32|0);
$57 = HEAP32[$56>>2]|0;
$58 = ($57|0)==(0|0);
if ($58) {
$60 = HEAP32[$6>>2]|0;
$61 = (__gcry_mpi_cmp($43,$60)|0);
$62 = ($61|0)==(0);
$63 = $62 ? 0 : 8;
$$0 = $43;$$018 = $63;
break;
} else {
$59 = (FUNCTION_TABLE_iii[$57 & 127]($3,$43)|0);
$$0 = $43;$$018 = $59;
break;
}
} else {
$$0 = 0;$$018 = $37;
}
} else {
$$0 = 0;$$018 = $31;
}
} else {
$$0 = 0;$$018 = $28;
}
} else {
$$0 = 0;$$018 = $17;
}
} while(0);
__gcry_mpi_release($$0);
$64 = HEAP32[$7>>2]|0;
__gcry_mpi_release($64);
$65 = ((($7)) + 4|0);
$66 = HEAP32[$65>>2]|0;
__gcry_mpi_release($66);
$67 = HEAP32[$6>>2]|0;
__gcry_mpi_release($67);
$68 = HEAP32[$5>>2]|0;
__gcry_mpi_release($68);
$69 = HEAP32[$4>>2]|0;
__gcry_sexp_release($69);
__gcry_pk_util_free_encoding_ctx($3);
$70 = (__gcry_get_debug_flag(1)|0);
$71 = ($70|0)==(0);
if ($71) {
STACKTOP = sp;return ($$018|0);
}
$72 = ($$018|0)==(0);
if ($72) {
$74 = 65003;
} else {
$73 = (_gpg_strerror($$018)|0);
$74 = $73;
}
HEAP32[$vararg_buffer7>>2] = $74;
__gcry_log_debug(61367,$vararg_buffer7);
STACKTOP = sp;return ($$018|0);
}
function _rsa_get_nbits($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_sexp_find_token($0,60983,1)|0);
$2 = ($1|0)==(0|0);
if ($2) {
$$0 = 0;
return ($$0|0);
}
$3 = (__gcry_sexp_nth_mpi($1,1,5)|0);
__gcry_sexp_release($1);
$4 = ($3|0)==(0|0);
if ($4) {
$6 = 0;
} else {
$5 = (__gcry_mpi_get_nbits($3)|0);
$6 = $5;
}
__gcry_mpi_release($3);
$$0 = $6;
return ($$0|0);
}
function _run_selftests_1209($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$i$i = 0, $$011$i$i = 0, $$016$i = 0, $$017$i = 0, $$018$i = 0, $$020$i = 0, $$032$i$i = 0, $$033$i$i = 0, $$034$i$i = 0, $$1$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, $cond = 0, $spec$select = 0, $spec$select7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer = sp;
$3 = sp + 32|0;
$4 = sp + 28|0;
$5 = sp + 24|0;
$6 = sp + 20|0;
$7 = sp + 16|0;
$8 = sp + 12|0;
$9 = sp + 8|0;
$10 = sp + 4|0;
$cond = ($0|0)==(1);
if (!($cond)) {
$$0 = 4;
STACKTOP = sp;return ($$0|0);
}
HEAP32[$9>>2] = 0;
HEAP32[$10>>2] = 0;
$11 = (__gcry_sexp_sscan($9,0,6480,1029)|0);
$12 = ($11|0)==(0);
do {
if ($12) {
$13 = (__gcry_sexp_sscan($10,0,7520,316)|0);
$14 = ($13|0)==(0);
if ($14) {
$16 = HEAP32[$9>>2]|0;
$17 = (__gcry_pk_testkey($16)|0);
$18 = ($17|0)==(0);
if (!($18)) {
$19 = (_gpg_strerror($17)|0);
$$016$i = $19;$$017$i = 61251;
label = 28;
break;
}
$20 = HEAP32[$10>>2]|0;
$21 = HEAP32[$9>>2]|0;
HEAP32[$6>>2] = 0;
HEAP32[$7>>2] = 0;
HEAP32[$8>>2] = 0;
$22 = (__gcry_sexp_sscan($6,0,7840,75)|0);
$23 = ($22|0)==(0);
if ($23) {
$24 = (__gcry_sexp_sscan($7,0,7920,75)|0);
$25 = ($24|0)==(0);
if ($25) {
$26 = HEAP32[$6>>2]|0;
$27 = (__gcry_pk_sign($8,$26,$21)|0);
$28 = ($27|0)==(0);
if ($28) {
$29 = HEAP32[$8>>2]|0;
$30 = HEAP32[$6>>2]|0;
$31 = (__gcry_pk_verify($29,$30,$20)|0);
$32 = ($31|0)==(0);
if ($32) {
$33 = HEAP32[$8>>2]|0;
$34 = HEAP32[$7>>2]|0;
$35 = (__gcry_pk_verify($33,$34,$20)|0);
$36 = $35 & 65535;
$37 = ($36|0)==(8);
$spec$select = $37 ? 0 : 60985;
$$011$i$i = $spec$select;
} else {
$$011$i$i = 61050;
}
} else {
$$011$i$i = 61035;
}
} else {
$$011$i$i = 61012;
}
} else {
$$011$i$i = 61012;
}
$38 = HEAP32[$8>>2]|0;
__gcry_sexp_release($38);
$39 = HEAP32[$7>>2]|0;
__gcry_sexp_release($39);
$40 = HEAP32[$6>>2]|0;
__gcry_sexp_release($40);
$41 = ($$011$i$i|0)==(0|0);
if ($41) {
$42 = HEAP32[$10>>2]|0;
$43 = HEAP32[$9>>2]|0;
HEAP32[$3>>2] = 0;
HEAP32[$4>>2] = 0;
HEAP32[$5>>2] = 0;
$44 = (__gcry_mpi_new(1000)|0);
__gcry_mpi_randomize($44,1000,0);
HEAP32[$vararg_buffer>>2] = $44;
$45 = (__gcry_sexp_build($3,0,61064,$vararg_buffer)|0);
$46 = ($45|0)==(0);
if ($46) {
$47 = HEAP32[$3>>2]|0;
$48 = (__gcry_pk_encrypt($4,$47,$42)|0);
$49 = ($48|0)==(0);
if ($49) {
$50 = HEAP32[$4>>2]|0;
$51 = (__gcry_sexp_find_token($50,61094,0)|0);
$52 = ($51|0)==(0|0);
if ($52) {
$$0$i$i = 0;$$033$i$i = 0;$$034$i$i = 61136;$$1$i$i = 0;
} else {
$53 = (__gcry_sexp_find_token($51,61102,0)|0);
__gcry_sexp_release($51);
$54 = ($53|0)==(0|0);
if ($54) {
$$0$i$i = 0;$$033$i$i = 0;$$034$i$i = 61136;$$1$i$i = 0;
} else {
$55 = (__gcry_sexp_find_token($53,60979,0)|0);
__gcry_sexp_release($53);
$56 = ($55|0)==(0|0);
if ($56) {
$$0$i$i = 0;$$033$i$i = 0;$$034$i$i = 61136;$$1$i$i = 0;
} else {
$57 = (__gcry_sexp_nth_mpi($55,1,0)|0);
__gcry_sexp_release($55);
$58 = ($57|0)==(0|0);
if ($58) {
$$0$i$i = 0;$$033$i$i = 0;$$034$i$i = 61136;$$1$i$i = 0;
} else {
$59 = (__gcry_mpi_cmp($44,$57)|0);
$60 = ($59|0)==(0);
if ($60) {
$$0$i$i = 0;$$033$i$i = $57;$$034$i$i = 61169;$$1$i$i = 0;
} else {
$61 = HEAP32[$4>>2]|0;
$62 = (__gcry_pk_decrypt($5,$61,$43)|0);
$63 = ($62|0)==(0);
if ($63) {
$64 = HEAP32[$5>>2]|0;
$65 = (__gcry_sexp_find_token($64,61106,0)|0);
$66 = ($65|0)==(0|0);
if ($66) {
$68 = HEAP32[$5>>2]|0;
$69 = (__gcry_sexp_nth_mpi($68,0,5)|0);
$$032$i$i = $69;
} else {
$67 = (__gcry_sexp_nth_mpi($65,1,5)|0);
$$032$i$i = $67;
}
$70 = ($$032$i$i|0)==(0|0);
if ($70) {
$$0$i$i = $65;$$033$i$i = $57;$$034$i$i = 61213;$$1$i$i = 0;
} else {
$71 = (__gcry_mpi_cmp($44,$$032$i$i)|0);
$72 = ($71|0)==(0);
$spec$select7 = $72 ? 0 : 61112;
$$0$i$i = $65;$$033$i$i = $57;$$034$i$i = $spec$select7;$$1$i$i = $$032$i$i;
}
} else {
$$0$i$i = 0;$$033$i$i = $57;$$034$i$i = 61198;$$1$i$i = 0;
}
}
}
}
}
}
} else {
$$0$i$i = 0;$$033$i$i = 0;$$034$i$i = 61121;$$1$i$i = 0;
}
} else {
$$0$i$i = 0;$$033$i$i = 0;$$034$i$i = 61012;$$1$i$i = 0;
}
__gcry_sexp_release($$0$i$i);
__gcry_mpi_release($$1$i$i);
$73 = HEAP32[$5>>2]|0;
__gcry_sexp_release($73);
__gcry_mpi_release($$033$i$i);
$74 = HEAP32[$4>>2]|0;
__gcry_sexp_release($74);
$75 = HEAP32[$3>>2]|0;
__gcry_sexp_release($75);
__gcry_mpi_release($44);
$76 = ($$034$i$i|0)==(0|0);
if ($76) {
$77 = HEAP32[$10>>2]|0;
__gcry_sexp_release($77);
$78 = HEAP32[$9>>2]|0;
__gcry_sexp_release($78);
$$018$i = 0;
} else {
$$016$i = $$034$i$i;$$017$i = 61272;
label = 28;
}
} else {
$$016$i = $$011$i$i;$$017$i = 61267;
label = 28;
}
} else {
$$020$i = $13;
label = 4;
}
} else {
$$020$i = $11;
label = 4;
}
} while(0);
if ((label|0) == 4) {
$15 = (_gpg_strerror($$020$i)|0);
$$016$i = $15;$$017$i = 61243;
label = 28;
}
if ((label|0) == 28) {
$79 = HEAP32[$10>>2]|0;
__gcry_sexp_release($79);
$80 = HEAP32[$9>>2]|0;
__gcry_sexp_release($80);
$81 = ($2|0)==(0|0);
if ($81) {
$$018$i = 50;
} else {
FUNCTION_TABLE_viiii[$2 & 63](61280,1,$$017$i,$$016$i);
$$018$i = 50;
}
}
$$0 = $$018$i;
STACKTOP = sp;return ($$0|0);
}
function _compute_keygrip($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
$3 = (__gcry_sexp_find_token($1,60983,1)|0);
$4 = ($3|0)==(0|0);
do {
if ($4) {
$$0 = 68;
} else {
$5 = (__gcry_sexp_nth_data($3,1,$2)|0);
$6 = ($5|0)==(0|0);
if ($6) {
__gcry_sexp_release($3);
$$0 = 68;
break;
} else {
$7 = HEAP32[$2>>2]|0;
__gcry_md_write($0,$5,$7);
__gcry_sexp_release($3);
$$0 = 0;
break;
}
}
} while(0);
STACKTOP = sp;return ($$0|0);
}
function _secret($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_normalize($1);
$3 = ((($2)) + 12|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if (!($5)) {
$6 = ((($2)) + 16|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0|0);
if (!($8)) {
$9 = ((($2)) + 20|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0|0);
if (!($11)) {
$15 = HEAP32[$2>>2]|0;
$16 = ((($15)) + 4|0);
$17 = HEAP32[$16>>2]|0;
$18 = (($17) + 1)|0;
$19 = (__gcry_mpi_alloc_secure($18)|0);
$20 = HEAP32[$2>>2]|0;
$21 = ((($20)) + 4|0);
$22 = HEAP32[$21>>2]|0;
$23 = (($22) + 1)|0;
$24 = (__gcry_mpi_alloc_secure($23)|0);
$25 = HEAP32[$2>>2]|0;
$26 = ((($25)) + 4|0);
$27 = HEAP32[$26>>2]|0;
$28 = (($27) + 1)|0;
$29 = (__gcry_mpi_alloc_secure($28)|0);
$30 = HEAP32[$3>>2]|0;
__gcry_mpi_sub_ui($29,$30,1);
$31 = ((($2)) + 8|0);
$32 = HEAP32[$31>>2]|0;
__gcry_mpi_fdiv_r($29,$32,$29);
$33 = HEAP32[$3>>2]|0;
__gcry_mpi_powm($19,$1,$29,$33);
$34 = HEAP32[$6>>2]|0;
__gcry_mpi_sub_ui($29,$34,1);
$35 = HEAP32[$31>>2]|0;
__gcry_mpi_fdiv_r($29,$35,$29);
$36 = HEAP32[$6>>2]|0;
__gcry_mpi_powm($24,$1,$29,$36);
__gcry_mpi_sub($29,$24,$19);
$37 = ((($29)) + 8|0);
$38 = HEAP32[$37>>2]|0;
$39 = ($38|0)==(0);
if (!($39)) {
$40 = HEAP32[$6>>2]|0;
__gcry_mpi_add($29,$29,$40);
}
$41 = HEAP32[$9>>2]|0;
$42 = HEAP32[$6>>2]|0;
__gcry_mpi_mulm($29,$41,$29,$42);
$43 = HEAP32[$3>>2]|0;
__gcry_mpi_mul($29,$29,$43);
__gcry_mpi_add($0,$19,$29);
__gcry_mpi_free($29);
__gcry_mpi_free($19);
__gcry_mpi_free($24);
return;
}
}
}
$12 = ((($2)) + 8|0);
$13 = HEAP32[$12>>2]|0;
$14 = HEAP32[$2>>2]|0;
__gcry_mpi_powm($0,$1,$13,$14);
return;
}
function _test_keys($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_mpi_new($1)|0);
$3 = (__gcry_mpi_new($1)|0);
$4 = (__gcry_mpi_new($1)|0);
$5 = (__gcry_mpi_new($1)|0);
$6 = HEAP32[$0>>2]|0;
$7 = ((($0)) + 4|0);
$8 = HEAP32[$7>>2]|0;
__gcry_mpi_randomize($2,$1,0);
$9 = ($3|0)==($2|0);
if ($9) {
$10 = ((($2)) + 4|0);
$11 = HEAP32[$10>>2]|0;
$12 = $11 << 1;
$13 = (__gcry_mpi_alloc($12)|0);
$14 = $8;
$15 = $6;
__gcry_mpi_powm($13,$2,$14,$15);
(__gcry_mpi_set($2,$13)|0);
__gcry_mpi_free($13);
} else {
$16 = $8;
$17 = $6;
__gcry_mpi_powm($3,$2,$16,$17);
}
$18 = (__gcry_mpi_cmp($3,$2)|0);
$19 = ($18|0)==(0);
if ($19) {
$$0 = -1;
} else {
_secret($4,$3,$0);
$20 = (__gcry_mpi_cmp($4,$2)|0);
$21 = ($20|0)==(0);
if ($21) {
__gcry_mpi_randomize($2,$1,0);
_secret($5,$2,$0);
$22 = ($4|0)==($5|0);
if ($22) {
$23 = ((($4)) + 4|0);
$24 = HEAP32[$23>>2]|0;
$25 = $24 << 1;
$26 = (__gcry_mpi_alloc($25)|0);
$27 = $8;
$28 = $6;
__gcry_mpi_powm($26,$4,$27,$28);
(__gcry_mpi_set($4,$26)|0);
__gcry_mpi_free($26);
} else {
$29 = $8;
$30 = $6;
__gcry_mpi_powm($4,$5,$29,$30);
}
$31 = (__gcry_mpi_cmp($4,$2)|0);
$32 = ($31|0)==(0);
if ($32) {
__gcry_mpi_add_ui($5,$5,1);
if ($22) {
$33 = ((($4)) + 4|0);
$34 = HEAP32[$33>>2]|0;
$35 = $34 << 1;
$36 = (__gcry_mpi_alloc($35)|0);
$37 = $8;
$38 = $6;
__gcry_mpi_powm($36,$4,$37,$38);
(__gcry_mpi_set($4,$36)|0);
__gcry_mpi_free($36);
} else {
$39 = $8;
$40 = $6;
__gcry_mpi_powm($4,$5,$39,$40);
}
$41 = (__gcry_mpi_cmp($4,$2)|0);
$42 = ($41|0)==(0);
$spec$select = $42 << 31 >> 31;
$$0 = $spec$select;
} else {
$$0 = -1;
}
} else {
$$0 = -1;
}
}
__gcry_mpi_release($5);
__gcry_mpi_release($4);
__gcry_mpi_release($3);
__gcry_mpi_release($2);
return ($$0|0);
}
function _check_exponent($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_sub_ui($1,$1,1);
$2 = (__gcry_mpi_alloc_like($1)|0);
$3 = (__gcry_mpi_gcd($2,$0,$1)|0);
$4 = ($3|0)==(0);
$5 = $4&1;
__gcry_mpi_release($2);
__gcry_mpi_add_ui($1,$1,1);
return ($5|0);
}
function _sha1_init($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 160|0);
HEAP32[$2>>2] = 1732584193;
$3 = ((($0)) + 164|0);
HEAP32[$3>>2] = -271733879;
$4 = ((($0)) + 168|0);
HEAP32[$4>>2] = -1732584194;
$5 = ((($0)) + 172|0);
HEAP32[$5>>2] = 271733878;
$6 = ((($0)) + 176|0);
HEAP32[$6>>2] = -1009589776;
$7 = ((($0)) + 128|0);
$8 = ((($0)) + 148|0);
;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;HEAP32[$7+16>>2]=0|0;
HEAP32[$8>>2] = 64;
$9 = ((($0)) + 152|0);
HEAP32[$9>>2] = 78;
return;
}
function _sha1_final($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $spec$select = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
__gcry_md_block_write($0,0,0);
$1 = ((($0)) + 128|0);
$2 = $1;
$3 = $2;
$4 = HEAP32[$3>>2]|0;
$5 = (($2) + 4)|0;
$6 = $5;
$7 = HEAP32[$6>>2]|0;
$8 = $4 << 6;
$9 = (_bitshift64Lshr(($4|0),($7|0),26)|0);
$10 = tempRet0;
$11 = $9 & 536870848;
$12 = $4 >>> 26;
$13 = $11 | $12;
$14 = ((($0)) + 144|0);
$15 = HEAP32[$14>>2]|0;
$16 = (($8) + ($15))|0;
$17 = ($16>>>0)<($8>>>0);
$18 = $17&1;
$spec$select = (($13) + ($18))|0;
$19 = $16 << 3;
$20 = $spec$select << 3;
$21 = $16 >>> 29;
$22 = $20 | $21;
$23 = ($15|0)<(56);
$24 = (($15) + 1)|0;
HEAP32[$14>>2] = $24;
$25 = (($0) + ($15)|0);
HEAP8[$25>>0] = -128;
$26 = HEAP32[$14>>2]|0;
if ($23) {
$27 = ($26|0)<(56);
if ($27) {
$29 = $26;
while(1) {
$28 = (($29) + 1)|0;
HEAP32[$14>>2] = $28;
$30 = (($0) + ($29)|0);
HEAP8[$30>>0] = 0;
$31 = HEAP32[$14>>2]|0;
$32 = ($31|0)<(56);
if ($32) {
$29 = $31;
} else {
break;
}
}
}
} else {
$33 = ($26|0)<(64);
if ($33) {
$35 = $26;
while(1) {
$34 = (($35) + 1)|0;
HEAP32[$14>>2] = $34;
$36 = (($0) + ($35)|0);
HEAP8[$36>>0] = 0;
$37 = HEAP32[$14>>2]|0;
$38 = ($37|0)<(64);
if ($38) {
$35 = $37;
} else {
break;
}
}
}
__gcry_md_block_write($0,0,0);
dest=$0; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
}
$39 = ((($0)) + 56|0);
$40 = $spec$select >>> 21;
$41 = $40&255;
HEAP8[$39>>0] = $41;
$42 = $spec$select >>> 13;
$43 = $42&255;
$44 = ((($0)) + 57|0);
HEAP8[$44>>0] = $43;
$45 = $spec$select >>> 5;
$46 = $45&255;
$47 = ((($0)) + 58|0);
HEAP8[$47>>0] = $46;
$48 = $22&255;
$49 = ((($0)) + 59|0);
HEAP8[$49>>0] = $48;
$50 = ((($0)) + 60|0);
$51 = $16 >>> 21;
$52 = $51&255;
HEAP8[$50>>0] = $52;
$53 = $16 >>> 13;
$54 = $53&255;
$55 = ((($0)) + 61|0);
HEAP8[$55>>0] = $54;
$56 = $16 >>> 5;
$57 = $56&255;
$58 = ((($0)) + 62|0);
HEAP8[$58>>0] = $57;
$59 = $19&255;
$60 = ((($0)) + 63|0);
HEAP8[$60>>0] = $59;
(_transform_1319($0,$0,1)|0);
___gcry_burn_stack(104);
$61 = ((($0)) + 160|0);
$62 = HEAP32[$61>>2]|0;
$63 = $62 >>> 24;
$64 = $63&255;
HEAP8[$0>>0] = $64;
$65 = $62 >>> 16;
$66 = $65&255;
$67 = ((($0)) + 1|0);
HEAP8[$67>>0] = $66;
$68 = $62 >>> 8;
$69 = $68&255;
$70 = ((($0)) + 2|0);
HEAP8[$70>>0] = $69;
$71 = $62&255;
$72 = ((($0)) + 3|0);
HEAP8[$72>>0] = $71;
$73 = ((($0)) + 4|0);
$74 = ((($0)) + 164|0);
$75 = HEAP32[$74>>2]|0;
$76 = $75 >>> 24;
$77 = $76&255;
HEAP8[$73>>0] = $77;
$78 = $75 >>> 16;
$79 = $78&255;
$80 = ((($0)) + 5|0);
HEAP8[$80>>0] = $79;
$81 = $75 >>> 8;
$82 = $81&255;
$83 = ((($0)) + 6|0);
HEAP8[$83>>0] = $82;
$84 = $75&255;
$85 = ((($0)) + 7|0);
HEAP8[$85>>0] = $84;
$86 = ((($0)) + 8|0);
$87 = ((($0)) + 168|0);
$88 = HEAP32[$87>>2]|0;
$89 = $88 >>> 24;
$90 = $89&255;
HEAP8[$86>>0] = $90;
$91 = $88 >>> 16;
$92 = $91&255;
$93 = ((($0)) + 9|0);
HEAP8[$93>>0] = $92;
$94 = $88 >>> 8;
$95 = $94&255;
$96 = ((($0)) + 10|0);
HEAP8[$96>>0] = $95;
$97 = $88&255;
$98 = ((($0)) + 11|0);
HEAP8[$98>>0] = $97;
$99 = ((($0)) + 12|0);
$100 = ((($0)) + 172|0);
$101 = HEAP32[$100>>2]|0;
$102 = $101 >>> 24;
$103 = $102&255;
HEAP8[$99>>0] = $103;
$104 = $101 >>> 16;
$105 = $104&255;
$106 = ((($0)) + 13|0);
HEAP8[$106>>0] = $105;
$107 = $101 >>> 8;
$108 = $107&255;
$109 = ((($0)) + 14|0);
HEAP8[$109>>0] = $108;
$110 = $101&255;
$111 = ((($0)) + 15|0);
HEAP8[$111>>0] = $110;
$112 = ((($0)) + 16|0);
$113 = ((($0)) + 176|0);
$114 = HEAP32[$113>>2]|0;
$115 = $114 >>> 24;
$116 = $115&255;
HEAP8[$112>>0] = $116;
$117 = $114 >>> 16;
$118 = $117&255;
$119 = ((($0)) + 17|0);
HEAP8[$119>>0] = $118;
$120 = $114 >>> 8;
$121 = $120&255;
$122 = ((($0)) + 18|0);
HEAP8[$122>>0] = $121;
$123 = $114&255;
$124 = ((($0)) + 19|0);
HEAP8[$124>>0] = $123;
return;
}
function _sha1_read($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return ($0|0);
}
function _run_selftests_1309($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$i = 0, $$011$i = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$cond = ($0|0)==(2);
if (!($cond)) {
$$0 = 5;
return ($$0|0);
}
$3 = (__gcry_hash_selftest_check_one(2,0,62920,3,62440,20)|0);
$4 = ($3|0)==(0|0);
if ($4) {
$5 = ($1|0)==(0);
if ($5) {
$$0 = 0;
return ($$0|0);
}
$6 = (__gcry_hash_selftest_check_one(2,0,62624,56,62461,20)|0);
$7 = ($6|0)==(0|0);
if ($7) {
$8 = (__gcry_hash_selftest_check_one(2,1,0,0,62482,20)|0);
$9 = ($8|0)==(0|0);
if ($9) {
$$0 = 0;
return ($$0|0);
} else {
$$0$i = $8;$$011$i = 63209;
}
} else {
$$0$i = $6;$$011$i = 63197;
}
} else {
$$0$i = $3;$$011$i = 63184;
}
$10 = ($2|0)==(0|0);
if ($10) {
$$0 = 50;
return ($$0|0);
}
FUNCTION_TABLE_viiii[$2 & 63](63225,2,$$011$i,$$0$i);
$$0 = 50;
return ($$0|0);
}
function _transform_1319($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$08 = 0, $$pre = 0, $$pre10 = 0, $$pre11 = 0, $$pre12 = 0, $$pre9 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0;
var $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0;
var $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0;
var $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0;
var $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0;
var $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0;
var $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0;
var $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0;
var $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0;
var $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0;
var $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0;
var $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0;
var $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0;
var $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0;
var $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0;
var $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0;
var $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0;
var $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0;
var $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0;
var $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0;
var $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0;
var $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0;
var $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0;
var $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0;
var $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0;
var $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0;
var $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0;
var $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0;
var $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0;
var $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0;
var $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0;
var $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0;
var $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0;
var $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0;
var $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0;
var $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0;
var $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0;
var $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0;
var $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0;
var $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $172 = 0;
var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0;
var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0;
var $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0;
var $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0;
var $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0;
var $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0;
var $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0;
var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0;
var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0;
var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0;
var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0;
var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0;
var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0;
var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0;
var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0;
var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0;
var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0;
var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0;
var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0;
var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0;
var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0;
var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0;
var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0;
var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0;
var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0;
var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0;
var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0;
var $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0;
var $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0;
var $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0;
var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0;
var $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0;
var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0;
var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0;
var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0;
var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0;
var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0;
var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0;
var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0;
var $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0;
var $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0;
var $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0;
var $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0;
var $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0;
var $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0;
var $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 160|0);
$4 = ((($0)) + 164|0);
$5 = ((($0)) + 168|0);
$6 = ((($0)) + 172|0);
$7 = ((($0)) + 176|0);
$$pre = HEAP32[$3>>2]|0;
$$pre9 = HEAP32[$4>>2]|0;
$$pre10 = HEAP32[$5>>2]|0;
$$pre11 = HEAP32[$6>>2]|0;
$$pre12 = HEAP32[$7>>2]|0;
$$0 = $1;$$08 = $2;$13 = $$pre11;$14 = $$pre10;$16 = $$pre9;$37 = $$pre12;$9 = $$pre;
while(1) {
$8 = $9 << 5;
$10 = $9 >>> 27;
$11 = $8 | $10;
$12 = $13 ^ $14;
$15 = $12 & $16;
$17 = $15 ^ $13;
$18 = HEAP8[$$0>>0]|0;
$19 = $18&255;
$20 = $19 << 24;
$21 = ((($$0)) + 1|0);
$22 = HEAP8[$21>>0]|0;
$23 = $22&255;
$24 = $23 << 16;
$25 = $24 | $20;
$26 = ((($$0)) + 2|0);
$27 = HEAP8[$26>>0]|0;
$28 = $27&255;
$29 = $28 << 8;
$30 = $25 | $29;
$31 = ((($$0)) + 3|0);
$32 = HEAP8[$31>>0]|0;
$33 = $32&255;
$34 = $30 | $33;
$35 = (($11) + 1518500249)|0;
$36 = (($35) + ($37))|0;
$38 = (($36) + ($17))|0;
$39 = (($38) + ($34))|0;
$40 = $16 << 30;
$41 = $16 >>> 2;
$42 = $40 | $41;
$43 = $39 << 5;
$44 = $39 >>> 27;
$45 = $43 | $44;
$46 = $42 ^ $14;
$47 = $46 & $9;
$48 = $47 ^ $14;
$49 = ((($$0)) + 4|0);
$50 = HEAP8[$49>>0]|0;
$51 = $50&255;
$52 = $51 << 24;
$53 = ((($$0)) + 5|0);
$54 = HEAP8[$53>>0]|0;
$55 = $54&255;
$56 = $55 << 16;
$57 = $56 | $52;
$58 = ((($$0)) + 6|0);
$59 = HEAP8[$58>>0]|0;
$60 = $59&255;
$61 = $60 << 8;
$62 = $57 | $61;
$63 = ((($$0)) + 7|0);
$64 = HEAP8[$63>>0]|0;
$65 = $64&255;
$66 = $62 | $65;
$67 = (($13) + 1518500249)|0;
$68 = (($67) + ($48))|0;
$69 = (($68) + ($45))|0;
$70 = (($69) + ($66))|0;
$71 = $9 << 30;
$72 = $9 >>> 2;
$73 = $71 | $72;
$74 = $70 << 5;
$75 = $70 >>> 27;
$76 = $74 | $75;
$77 = $42 ^ $73;
$78 = $39 & $77;
$79 = $78 ^ $42;
$80 = ((($$0)) + 8|0);
$81 = HEAP8[$80>>0]|0;
$82 = $81&255;
$83 = $82 << 24;
$84 = ((($$0)) + 9|0);
$85 = HEAP8[$84>>0]|0;
$86 = $85&255;
$87 = $86 << 16;
$88 = $87 | $83;
$89 = ((($$0)) + 10|0);
$90 = HEAP8[$89>>0]|0;
$91 = $90&255;
$92 = $91 << 8;
$93 = $88 | $92;
$94 = ((($$0)) + 11|0);
$95 = HEAP8[$94>>0]|0;
$96 = $95&255;
$97 = $93 | $96;
$98 = (($14) + 1518500249)|0;
$99 = (($98) + ($79))|0;
$100 = (($99) + ($76))|0;
$101 = (($100) + ($97))|0;
$102 = $39 << 30;
$103 = $39 >>> 2;
$104 = $102 | $103;
$105 = $101 << 5;
$106 = $101 >>> 27;
$107 = $105 | $106;
$108 = $104 ^ $73;
$109 = $70 & $108;
$110 = $109 ^ $73;
$111 = ((($$0)) + 12|0);
$112 = HEAP8[$111>>0]|0;
$113 = $112&255;
$114 = $113 << 24;
$115 = ((($$0)) + 13|0);
$116 = HEAP8[$115>>0]|0;
$117 = $116&255;
$118 = $117 << 16;
$119 = $118 | $114;
$120 = ((($$0)) + 14|0);
$121 = HEAP8[$120>>0]|0;
$122 = $121&255;
$123 = $122 << 8;
$124 = $119 | $123;
$125 = ((($$0)) + 15|0);
$126 = HEAP8[$125>>0]|0;
$127 = $126&255;
$128 = $124 | $127;
$129 = (($42) + 1518500249)|0;
$130 = (($129) + ($110))|0;
$131 = (($130) + ($128))|0;
$132 = (($131) + ($107))|0;
$133 = $70 << 30;
$134 = $70 >>> 2;
$135 = $133 | $134;
$136 = $132 << 5;
$137 = $132 >>> 27;
$138 = $136 | $137;
$139 = $135 ^ $104;
$140 = $101 & $139;
$141 = $140 ^ $104;
$142 = ((($$0)) + 16|0);
$143 = HEAP8[$142>>0]|0;
$144 = $143&255;
$145 = $144 << 24;
$146 = ((($$0)) + 17|0);
$147 = HEAP8[$146>>0]|0;
$148 = $147&255;
$149 = $148 << 16;
$150 = $149 | $145;
$151 = ((($$0)) + 18|0);
$152 = HEAP8[$151>>0]|0;
$153 = $152&255;
$154 = $153 << 8;
$155 = $150 | $154;
$156 = ((($$0)) + 19|0);
$157 = HEAP8[$156>>0]|0;
$158 = $157&255;
$159 = $155 | $158;
$160 = (($73) + 1518500249)|0;
$161 = (($160) + ($141))|0;
$162 = (($161) + ($159))|0;
$163 = (($162) + ($138))|0;
$164 = $101 << 30;
$165 = $101 >>> 2;
$166 = $164 | $165;
$167 = $163 << 5;
$168 = $163 >>> 27;
$169 = $167 | $168;
$170 = $166 ^ $135;
$171 = $132 & $170;
$172 = $171 ^ $135;
$173 = ((($$0)) + 20|0);
$174 = HEAP8[$173>>0]|0;
$175 = $174&255;
$176 = $175 << 24;
$177 = ((($$0)) + 21|0);
$178 = HEAP8[$177>>0]|0;
$179 = $178&255;
$180 = $179 << 16;
$181 = $180 | $176;
$182 = ((($$0)) + 22|0);
$183 = HEAP8[$182>>0]|0;
$184 = $183&255;
$185 = $184 << 8;
$186 = $181 | $185;
$187 = ((($$0)) + 23|0);
$188 = HEAP8[$187>>0]|0;
$189 = $188&255;
$190 = $186 | $189;
$191 = (($104) + 1518500249)|0;
$192 = (($191) + ($172))|0;
$193 = (($192) + ($190))|0;
$194 = (($193) + ($169))|0;
$195 = $132 << 30;
$196 = $132 >>> 2;
$197 = $195 | $196;
$198 = $194 << 5;
$199 = $194 >>> 27;
$200 = $198 | $199;
$201 = $197 ^ $166;
$202 = $163 & $201;
$203 = $202 ^ $166;
$204 = ((($$0)) + 24|0);
$205 = HEAP8[$204>>0]|0;
$206 = $205&255;
$207 = $206 << 24;
$208 = ((($$0)) + 25|0);
$209 = HEAP8[$208>>0]|0;
$210 = $209&255;
$211 = $210 << 16;
$212 = $211 | $207;
$213 = ((($$0)) + 26|0);
$214 = HEAP8[$213>>0]|0;
$215 = $214&255;
$216 = $215 << 8;
$217 = $212 | $216;
$218 = ((($$0)) + 27|0);
$219 = HEAP8[$218>>0]|0;
$220 = $219&255;
$221 = $217 | $220;
$222 = (($135) + 1518500249)|0;
$223 = (($222) + ($203))|0;
$224 = (($223) + ($221))|0;
$225 = (($224) + ($200))|0;
$226 = $163 << 30;
$227 = $163 >>> 2;
$228 = $226 | $227;
$229 = $225 << 5;
$230 = $225 >>> 27;
$231 = $229 | $230;
$232 = $228 ^ $197;
$233 = $194 & $232;
$234 = $233 ^ $197;
$235 = ((($$0)) + 28|0);
$236 = HEAP8[$235>>0]|0;
$237 = $236&255;
$238 = $237 << 24;
$239 = ((($$0)) + 29|0);
$240 = HEAP8[$239>>0]|0;
$241 = $240&255;
$242 = $241 << 16;
$243 = $242 | $238;
$244 = ((($$0)) + 30|0);
$245 = HEAP8[$244>>0]|0;
$246 = $245&255;
$247 = $246 << 8;
$248 = $243 | $247;
$249 = ((($$0)) + 31|0);
$250 = HEAP8[$249>>0]|0;
$251 = $250&255;
$252 = $248 | $251;
$253 = (($166) + 1518500249)|0;
$254 = (($253) + ($234))|0;
$255 = (($254) + ($252))|0;
$256 = (($255) + ($231))|0;
$257 = $194 << 30;
$258 = $194 >>> 2;
$259 = $257 | $258;
$260 = $256 << 5;
$261 = $256 >>> 27;
$262 = $260 | $261;
$263 = $259 ^ $228;
$264 = $225 & $263;
$265 = $264 ^ $228;
$266 = ((($$0)) + 32|0);
$267 = HEAP8[$266>>0]|0;
$268 = $267&255;
$269 = $268 << 24;
$270 = ((($$0)) + 33|0);
$271 = HEAP8[$270>>0]|0;
$272 = $271&255;
$273 = $272 << 16;
$274 = $273 | $269;
$275 = ((($$0)) + 34|0);
$276 = HEAP8[$275>>0]|0;
$277 = $276&255;
$278 = $277 << 8;
$279 = $274 | $278;
$280 = ((($$0)) + 35|0);
$281 = HEAP8[$280>>0]|0;
$282 = $281&255;
$283 = $279 | $282;
$284 = (($197) + 1518500249)|0;
$285 = (($284) + ($265))|0;
$286 = (($285) + ($283))|0;
$287 = (($286) + ($262))|0;
$288 = $225 << 30;
$289 = $225 >>> 2;
$290 = $288 | $289;
$291 = $287 << 5;
$292 = $287 >>> 27;
$293 = $291 | $292;
$294 = $290 ^ $259;
$295 = $256 & $294;
$296 = $295 ^ $259;
$297 = ((($$0)) + 36|0);
$298 = HEAP8[$297>>0]|0;
$299 = $298&255;
$300 = $299 << 24;
$301 = ((($$0)) + 37|0);
$302 = HEAP8[$301>>0]|0;
$303 = $302&255;
$304 = $303 << 16;
$305 = $304 | $300;
$306 = ((($$0)) + 38|0);
$307 = HEAP8[$306>>0]|0;
$308 = $307&255;
$309 = $308 << 8;
$310 = $305 | $309;
$311 = ((($$0)) + 39|0);
$312 = HEAP8[$311>>0]|0;
$313 = $312&255;
$314 = $310 | $313;
$315 = (($228) + 1518500249)|0;
$316 = (($315) + ($296))|0;
$317 = (($316) + ($314))|0;
$318 = (($317) + ($293))|0;
$319 = $256 << 30;
$320 = $256 >>> 2;
$321 = $319 | $320;
$322 = $318 << 5;
$323 = $318 >>> 27;
$324 = $322 | $323;
$325 = $321 ^ $290;
$326 = $287 & $325;
$327 = $326 ^ $290;
$328 = ((($$0)) + 40|0);
$329 = HEAP8[$328>>0]|0;
$330 = $329&255;
$331 = $330 << 24;
$332 = ((($$0)) + 41|0);
$333 = HEAP8[$332>>0]|0;
$334 = $333&255;
$335 = $334 << 16;
$336 = $335 | $331;
$337 = ((($$0)) + 42|0);
$338 = HEAP8[$337>>0]|0;
$339 = $338&255;
$340 = $339 << 8;
$341 = $336 | $340;
$342 = ((($$0)) + 43|0);
$343 = HEAP8[$342>>0]|0;
$344 = $343&255;
$345 = $341 | $344;
$346 = (($259) + 1518500249)|0;
$347 = (($346) + ($327))|0;
$348 = (($347) + ($345))|0;
$349 = (($348) + ($324))|0;
$350 = $287 << 30;
$351 = $287 >>> 2;
$352 = $350 | $351;
$353 = $349 << 5;
$354 = $349 >>> 27;
$355 = $353 | $354;
$356 = $352 ^ $321;
$357 = $318 & $356;
$358 = $357 ^ $321;
$359 = ((($$0)) + 44|0);
$360 = HEAP8[$359>>0]|0;
$361 = $360&255;
$362 = $361 << 24;
$363 = ((($$0)) + 45|0);
$364 = HEAP8[$363>>0]|0;
$365 = $364&255;
$366 = $365 << 16;
$367 = $366 | $362;
$368 = ((($$0)) + 46|0);
$369 = HEAP8[$368>>0]|0;
$370 = $369&255;
$371 = $370 << 8;
$372 = $367 | $371;
$373 = ((($$0)) + 47|0);
$374 = HEAP8[$373>>0]|0;
$375 = $374&255;
$376 = $372 | $375;
$377 = (($290) + 1518500249)|0;
$378 = (($377) + ($358))|0;
$379 = (($378) + ($376))|0;
$380 = (($379) + ($355))|0;
$381 = $318 << 30;
$382 = $318 >>> 2;
$383 = $381 | $382;
$384 = $380 << 5;
$385 = $380 >>> 27;
$386 = $384 | $385;
$387 = $383 ^ $352;
$388 = $349 & $387;
$389 = $388 ^ $352;
$390 = ((($$0)) + 48|0);
$391 = HEAP8[$390>>0]|0;
$392 = $391&255;
$393 = $392 << 24;
$394 = ((($$0)) + 49|0);
$395 = HEAP8[$394>>0]|0;
$396 = $395&255;
$397 = $396 << 16;
$398 = $397 | $393;
$399 = ((($$0)) + 50|0);
$400 = HEAP8[$399>>0]|0;
$401 = $400&255;
$402 = $401 << 8;
$403 = $398 | $402;
$404 = ((($$0)) + 51|0);
$405 = HEAP8[$404>>0]|0;
$406 = $405&255;
$407 = $403 | $406;
$408 = (($321) + 1518500249)|0;
$409 = (($408) + ($389))|0;
$410 = (($409) + ($407))|0;
$411 = (($410) + ($386))|0;
$412 = $349 << 30;
$413 = $349 >>> 2;
$414 = $412 | $413;
$415 = $411 << 5;
$416 = $411 >>> 27;
$417 = $415 | $416;
$418 = $414 ^ $383;
$419 = $380 & $418;
$420 = $419 ^ $383;
$421 = ((($$0)) + 52|0);
$422 = HEAP8[$421>>0]|0;
$423 = $422&255;
$424 = $423 << 24;
$425 = ((($$0)) + 53|0);
$426 = HEAP8[$425>>0]|0;
$427 = $426&255;
$428 = $427 << 16;
$429 = $428 | $424;
$430 = ((($$0)) + 54|0);
$431 = HEAP8[$430>>0]|0;
$432 = $431&255;
$433 = $432 << 8;
$434 = $429 | $433;
$435 = ((($$0)) + 55|0);
$436 = HEAP8[$435>>0]|0;
$437 = $436&255;
$438 = $434 | $437;
$439 = (($352) + 1518500249)|0;
$440 = (($439) + ($420))|0;
$441 = (($440) + ($438))|0;
$442 = (($441) + ($417))|0;
$443 = $380 << 30;
$444 = $380 >>> 2;
$445 = $443 | $444;
$446 = $442 << 5;
$447 = $442 >>> 27;
$448 = $446 | $447;
$449 = $445 ^ $414;
$450 = $411 & $449;
$451 = $450 ^ $414;
$452 = ((($$0)) + 56|0);
$453 = HEAP8[$452>>0]|0;
$454 = $453&255;
$455 = $454 << 24;
$456 = ((($$0)) + 57|0);
$457 = HEAP8[$456>>0]|0;
$458 = $457&255;
$459 = $458 << 16;
$460 = $459 | $455;
$461 = ((($$0)) + 58|0);
$462 = HEAP8[$461>>0]|0;
$463 = $462&255;
$464 = $463 << 8;
$465 = $460 | $464;
$466 = ((($$0)) + 59|0);
$467 = HEAP8[$466>>0]|0;
$468 = $467&255;
$469 = $465 | $468;
$470 = (($383) + 1518500249)|0;
$471 = (($470) + ($451))|0;
$472 = (($471) + ($469))|0;
$473 = (($472) + ($448))|0;
$474 = $411 << 30;
$475 = $411 >>> 2;
$476 = $474 | $475;
$477 = $473 << 5;
$478 = $473 >>> 27;
$479 = $477 | $478;
$480 = $476 ^ $445;
$481 = $442 & $480;
$482 = $481 ^ $445;
$483 = ((($$0)) + 60|0);
$484 = HEAP8[$483>>0]|0;
$485 = $484&255;
$486 = $485 << 24;
$487 = ((($$0)) + 61|0);
$488 = HEAP8[$487>>0]|0;
$489 = $488&255;
$490 = $489 << 16;
$491 = $490 | $486;
$492 = ((($$0)) + 62|0);
$493 = HEAP8[$492>>0]|0;
$494 = $493&255;
$495 = $494 << 8;
$496 = $491 | $495;
$497 = ((($$0)) + 63|0);
$498 = HEAP8[$497>>0]|0;
$499 = $498&255;
$500 = $496 | $499;
$501 = (($414) + 1518500249)|0;
$502 = (($501) + ($482))|0;
$503 = (($502) + ($500))|0;
$504 = (($503) + ($479))|0;
$505 = $442 << 30;
$506 = $442 >>> 2;
$507 = $505 | $506;
$508 = $504 << 5;
$509 = $504 >>> 27;
$510 = $508 | $509;
$511 = $507 ^ $476;
$512 = $473 & $511;
$513 = $512 ^ $476;
$514 = $97 ^ $34;
$515 = $514 ^ $283;
$516 = $515 ^ $438;
$517 = $516 << 1;
$518 = $516 >>> 31;
$519 = $517 | $518;
$520 = (($445) + 1518500249)|0;
$521 = (($520) + ($519))|0;
$522 = (($521) + ($513))|0;
$523 = (($522) + ($510))|0;
$524 = $473 << 30;
$525 = $473 >>> 2;
$526 = $524 | $525;
$527 = $523 << 5;
$528 = $523 >>> 27;
$529 = $527 | $528;
$530 = $526 ^ $507;
$531 = $504 & $530;
$532 = $531 ^ $507;
$533 = $128 ^ $66;
$534 = $533 ^ $314;
$535 = $534 ^ $469;
$536 = $535 << 1;
$537 = $535 >>> 31;
$538 = $536 | $537;
$539 = (($476) + 1518500249)|0;
$540 = (($539) + ($538))|0;
$541 = (($540) + ($532))|0;
$542 = (($541) + ($529))|0;
$543 = $504 << 30;
$544 = $504 >>> 2;
$545 = $543 | $544;
$546 = $542 << 5;
$547 = $542 >>> 27;
$548 = $546 | $547;
$549 = $545 ^ $526;
$550 = $523 & $549;
$551 = $550 ^ $526;
$552 = $159 ^ $97;
$553 = $552 ^ $345;
$554 = $553 ^ $500;
$555 = $554 << 1;
$556 = $554 >>> 31;
$557 = $555 | $556;
$558 = (($507) + 1518500249)|0;
$559 = (($558) + ($557))|0;
$560 = (($559) + ($551))|0;
$561 = (($560) + ($548))|0;
$562 = $523 << 30;
$563 = $523 >>> 2;
$564 = $562 | $563;
$565 = $561 << 5;
$566 = $561 >>> 27;
$567 = $565 | $566;
$568 = $564 ^ $545;
$569 = $542 & $568;
$570 = $569 ^ $545;
$571 = $190 ^ $128;
$572 = $571 ^ $376;
$573 = $572 ^ $519;
$574 = $573 << 1;
$575 = $573 >>> 31;
$576 = $574 | $575;
$577 = (($576) + 1518500249)|0;
$578 = (($577) + ($526))|0;
$579 = (($578) + ($570))|0;
$580 = (($579) + ($567))|0;
$581 = $542 << 30;
$582 = $542 >>> 2;
$583 = $581 | $582;
$584 = $580 << 5;
$585 = $580 >>> 27;
$586 = $584 | $585;
$587 = $583 ^ $564;
$588 = $587 ^ $561;
$589 = $221 ^ $159;
$590 = $589 ^ $407;
$591 = $590 ^ $538;
$592 = $591 << 1;
$593 = $591 >>> 31;
$594 = $592 | $593;
$595 = (($594) + 1859775393)|0;
$596 = (($595) + ($545))|0;
$597 = (($596) + ($588))|0;
$598 = (($597) + ($586))|0;
$599 = $561 << 30;
$600 = $561 >>> 2;
$601 = $599 | $600;
$602 = $598 << 5;
$603 = $598 >>> 27;
$604 = $602 | $603;
$605 = $601 ^ $583;
$606 = $605 ^ $580;
$607 = $252 ^ $190;
$608 = $607 ^ $438;
$609 = $608 ^ $557;
$610 = $609 << 1;
$611 = $609 >>> 31;
$612 = $610 | $611;
$613 = (($612) + 1859775393)|0;
$614 = (($613) + ($564))|0;
$615 = (($614) + ($606))|0;
$616 = (($615) + ($604))|0;
$617 = $580 << 30;
$618 = $580 >>> 2;
$619 = $617 | $618;
$620 = $616 << 5;
$621 = $616 >>> 27;
$622 = $620 | $621;
$623 = $619 ^ $601;
$624 = $623 ^ $598;
$625 = $283 ^ $221;
$626 = $625 ^ $469;
$627 = $626 ^ $576;
$628 = $627 << 1;
$629 = $627 >>> 31;
$630 = $628 | $629;
$631 = (($630) + 1859775393)|0;
$632 = (($631) + ($583))|0;
$633 = (($632) + ($624))|0;
$634 = (($633) + ($622))|0;
$635 = $598 << 30;
$636 = $598 >>> 2;
$637 = $635 | $636;
$638 = $634 << 5;
$639 = $634 >>> 27;
$640 = $638 | $639;
$641 = $637 ^ $619;
$642 = $641 ^ $616;
$643 = $314 ^ $252;
$644 = $643 ^ $500;
$645 = $644 ^ $594;
$646 = $645 << 1;
$647 = $645 >>> 31;
$648 = $646 | $647;
$649 = (($648) + 1859775393)|0;
$650 = (($649) + ($601))|0;
$651 = (($650) + ($642))|0;
$652 = (($651) + ($640))|0;
$653 = $616 << 30;
$654 = $616 >>> 2;
$655 = $653 | $654;
$656 = $652 << 5;
$657 = $652 >>> 27;
$658 = $656 | $657;
$659 = $655 ^ $637;
$660 = $659 ^ $634;
$661 = $345 ^ $283;
$662 = $661 ^ $519;
$663 = $662 ^ $612;
$664 = $663 << 1;
$665 = $663 >>> 31;
$666 = $664 | $665;
$667 = (($666) + 1859775393)|0;
$668 = (($667) + ($619))|0;
$669 = (($668) + ($660))|0;
$670 = (($669) + ($658))|0;
$671 = $634 << 30;
$672 = $634 >>> 2;
$673 = $671 | $672;
$674 = $670 << 5;
$675 = $670 >>> 27;
$676 = $674 | $675;
$677 = $673 ^ $655;
$678 = $677 ^ $652;
$679 = $376 ^ $314;
$680 = $679 ^ $538;
$681 = $680 ^ $630;
$682 = $681 << 1;
$683 = $681 >>> 31;
$684 = $682 | $683;
$685 = (($684) + 1859775393)|0;
$686 = (($685) + ($637))|0;
$687 = (($686) + ($678))|0;
$688 = (($687) + ($676))|0;
$689 = $652 << 30;
$690 = $652 >>> 2;
$691 = $689 | $690;
$692 = $688 << 5;
$693 = $688 >>> 27;
$694 = $692 | $693;
$695 = $691 ^ $673;
$696 = $695 ^ $670;
$697 = $407 ^ $345;
$698 = $697 ^ $557;
$699 = $698 ^ $648;
$700 = $699 << 1;
$701 = $699 >>> 31;
$702 = $700 | $701;
$703 = (($702) + 1859775393)|0;
$704 = (($703) + ($655))|0;
$705 = (($704) + ($696))|0;
$706 = (($705) + ($694))|0;
$707 = $670 << 30;
$708 = $670 >>> 2;
$709 = $707 | $708;
$710 = $706 << 5;
$711 = $706 >>> 27;
$712 = $710 | $711;
$713 = $709 ^ $691;
$714 = $713 ^ $688;
$715 = $438 ^ $376;
$716 = $715 ^ $576;
$717 = $716 ^ $666;
$718 = $717 << 1;
$719 = $717 >>> 31;
$720 = $718 | $719;
$721 = (($720) + 1859775393)|0;
$722 = (($721) + ($673))|0;
$723 = (($722) + ($714))|0;
$724 = (($723) + ($712))|0;
$725 = $688 << 30;
$726 = $688 >>> 2;
$727 = $725 | $726;
$728 = $724 << 5;
$729 = $724 >>> 27;
$730 = $728 | $729;
$731 = $727 ^ $709;
$732 = $731 ^ $706;
$733 = $469 ^ $407;
$734 = $733 ^ $594;
$735 = $734 ^ $684;
$736 = $735 << 1;
$737 = $735 >>> 31;
$738 = $736 | $737;
$739 = (($738) + 1859775393)|0;
$740 = (($739) + ($691))|0;
$741 = (($740) + ($732))|0;
$742 = (($741) + ($730))|0;
$743 = $706 << 30;
$744 = $706 >>> 2;
$745 = $743 | $744;
$746 = $742 << 5;
$747 = $742 >>> 27;
$748 = $746 | $747;
$749 = $745 ^ $727;
$750 = $749 ^ $724;
$751 = $500 ^ $438;
$752 = $751 ^ $612;
$753 = $752 ^ $702;
$754 = $753 << 1;
$755 = $753 >>> 31;
$756 = $754 | $755;
$757 = (($756) + 1859775393)|0;
$758 = (($757) + ($709))|0;
$759 = (($758) + ($750))|0;
$760 = (($759) + ($748))|0;
$761 = $724 << 30;
$762 = $724 >>> 2;
$763 = $761 | $762;
$764 = $760 << 5;
$765 = $760 >>> 27;
$766 = $764 | $765;
$767 = $763 ^ $745;
$768 = $767 ^ $742;
$769 = $469 ^ $519;
$770 = $769 ^ $630;
$771 = $770 ^ $720;
$772 = $771 << 1;
$773 = $771 >>> 31;
$774 = $772 | $773;
$775 = (($774) + 1859775393)|0;
$776 = (($775) + ($727))|0;
$777 = (($776) + ($768))|0;
$778 = (($777) + ($766))|0;
$779 = $742 << 30;
$780 = $742 >>> 2;
$781 = $779 | $780;
$782 = $778 << 5;
$783 = $778 >>> 27;
$784 = $782 | $783;
$785 = $781 ^ $763;
$786 = $785 ^ $760;
$787 = $500 ^ $538;
$788 = $787 ^ $648;
$789 = $788 ^ $738;
$790 = $789 << 1;
$791 = $789 >>> 31;
$792 = $790 | $791;
$793 = (($792) + 1859775393)|0;
$794 = (($793) + ($745))|0;
$795 = (($794) + ($786))|0;
$796 = (($795) + ($784))|0;
$797 = $760 << 30;
$798 = $760 >>> 2;
$799 = $797 | $798;
$800 = $796 << 5;
$801 = $796 >>> 27;
$802 = $800 | $801;
$803 = $799 ^ $781;
$804 = $803 ^ $778;
$805 = $557 ^ $519;
$806 = $805 ^ $666;
$807 = $806 ^ $756;
$808 = $807 << 1;
$809 = $807 >>> 31;
$810 = $808 | $809;
$811 = (($810) + 1859775393)|0;
$812 = (($811) + ($763))|0;
$813 = (($812) + ($804))|0;
$814 = (($813) + ($802))|0;
$815 = $778 << 30;
$816 = $778 >>> 2;
$817 = $815 | $816;
$818 = $814 << 5;
$819 = $814 >>> 27;
$820 = $818 | $819;
$821 = $817 ^ $799;
$822 = $821 ^ $796;
$823 = $538 ^ $576;
$824 = $823 ^ $684;
$825 = $824 ^ $774;
$826 = $825 << 1;
$827 = $825 >>> 31;
$828 = $826 | $827;
$829 = (($828) + 1859775393)|0;
$830 = (($829) + ($781))|0;
$831 = (($830) + ($822))|0;
$832 = (($831) + ($820))|0;
$833 = $796 << 30;
$834 = $796 >>> 2;
$835 = $833 | $834;
$836 = $832 << 5;
$837 = $832 >>> 27;
$838 = $836 | $837;
$839 = $835 ^ $817;
$840 = $839 ^ $814;
$841 = $557 ^ $594;
$842 = $841 ^ $702;
$843 = $842 ^ $792;
$844 = $843 << 1;
$845 = $843 >>> 31;
$846 = $844 | $845;
$847 = (($846) + 1859775393)|0;
$848 = (($847) + ($799))|0;
$849 = (($848) + ($840))|0;
$850 = (($849) + ($838))|0;
$851 = $814 << 30;
$852 = $814 >>> 2;
$853 = $851 | $852;
$854 = $850 << 5;
$855 = $850 >>> 27;
$856 = $854 | $855;
$857 = $853 ^ $835;
$858 = $857 ^ $832;
$859 = $612 ^ $576;
$860 = $859 ^ $720;
$861 = $860 ^ $810;
$862 = $861 << 1;
$863 = $861 >>> 31;
$864 = $862 | $863;
$865 = (($864) + 1859775393)|0;
$866 = (($865) + ($817))|0;
$867 = (($866) + ($858))|0;
$868 = (($867) + ($856))|0;
$869 = $832 << 30;
$870 = $832 >>> 2;
$871 = $869 | $870;
$872 = $868 << 5;
$873 = $868 >>> 27;
$874 = $872 | $873;
$875 = $871 ^ $853;
$876 = $875 ^ $850;
$877 = $594 ^ $630;
$878 = $877 ^ $738;
$879 = $878 ^ $828;
$880 = $879 << 1;
$881 = $879 >>> 31;
$882 = $880 | $881;
$883 = (($882) + 1859775393)|0;
$884 = (($883) + ($835))|0;
$885 = (($884) + ($876))|0;
$886 = (($885) + ($874))|0;
$887 = $850 << 30;
$888 = $850 >>> 2;
$889 = $887 | $888;
$890 = $886 << 5;
$891 = $886 >>> 27;
$892 = $890 | $891;
$893 = $889 ^ $871;
$894 = $893 ^ $868;
$895 = $612 ^ $648;
$896 = $895 ^ $756;
$897 = $896 ^ $846;
$898 = $897 << 1;
$899 = $897 >>> 31;
$900 = $898 | $899;
$901 = (($900) + 1859775393)|0;
$902 = (($901) + ($853))|0;
$903 = (($902) + ($894))|0;
$904 = (($903) + ($892))|0;
$905 = $868 << 30;
$906 = $868 >>> 2;
$907 = $905 | $906;
$908 = $904 << 5;
$909 = $904 >>> 27;
$910 = $908 | $909;
$911 = $907 ^ $889;
$912 = $911 ^ $886;
$913 = $666 ^ $630;
$914 = $913 ^ $774;
$915 = $914 ^ $864;
$916 = $915 << 1;
$917 = $915 >>> 31;
$918 = $916 | $917;
$919 = (($918) + 1859775393)|0;
$920 = (($919) + ($871))|0;
$921 = (($920) + ($912))|0;
$922 = (($921) + ($910))|0;
$923 = $886 << 30;
$924 = $886 >>> 2;
$925 = $923 | $924;
$926 = $922 << 5;
$927 = $922 >>> 27;
$928 = $926 | $927;
$929 = $925 ^ $907;
$930 = $929 ^ $904;
$931 = $648 ^ $684;
$932 = $931 ^ $792;
$933 = $932 ^ $882;
$934 = $933 << 1;
$935 = $933 >>> 31;
$936 = $934 | $935;
$937 = (($936) + 1859775393)|0;
$938 = (($937) + ($889))|0;
$939 = (($938) + ($930))|0;
$940 = (($939) + ($928))|0;
$941 = $904 << 30;
$942 = $904 >>> 2;
$943 = $941 | $942;
$944 = $940 << 5;
$945 = $940 >>> 27;
$946 = $944 | $945;
$947 = $922 & $943;
$948 = $922 | $943;
$949 = $948 & $925;
$950 = $949 | $947;
$951 = $666 ^ $702;
$952 = $951 ^ $810;
$953 = $952 ^ $900;
$954 = $953 << 1;
$955 = $953 >>> 31;
$956 = $954 | $955;
$957 = (($956) + -1894007588)|0;
$958 = (($957) + ($907))|0;
$959 = (($958) + ($950))|0;
$960 = (($959) + ($946))|0;
$961 = $922 << 30;
$962 = $922 >>> 2;
$963 = $961 | $962;
$964 = $960 << 5;
$965 = $960 >>> 27;
$966 = $964 | $965;
$967 = $940 & $963;
$968 = $940 | $963;
$969 = $968 & $943;
$970 = $969 | $967;
$971 = $720 ^ $684;
$972 = $971 ^ $828;
$973 = $972 ^ $918;
$974 = $973 << 1;
$975 = $973 >>> 31;
$976 = $974 | $975;
$977 = (($976) + -1894007588)|0;
$978 = (($977) + ($925))|0;
$979 = (($978) + ($970))|0;
$980 = (($979) + ($966))|0;
$981 = $940 << 30;
$982 = $940 >>> 2;
$983 = $981 | $982;
$984 = $980 << 5;
$985 = $980 >>> 27;
$986 = $984 | $985;
$987 = $960 & $983;
$988 = $960 | $983;
$989 = $988 & $963;
$990 = $989 | $987;
$991 = $702 ^ $738;
$992 = $991 ^ $846;
$993 = $992 ^ $936;
$994 = $993 << 1;
$995 = $993 >>> 31;
$996 = $994 | $995;
$997 = (($996) + -1894007588)|0;
$998 = (($997) + ($943))|0;
$999 = (($998) + ($990))|0;
$1000 = (($999) + ($986))|0;
$1001 = $960 << 30;
$1002 = $960 >>> 2;
$1003 = $1001 | $1002;
$1004 = $1000 << 5;
$1005 = $1000 >>> 27;
$1006 = $1004 | $1005;
$1007 = $980 & $1003;
$1008 = $980 | $1003;
$1009 = $1008 & $983;
$1010 = $1009 | $1007;
$1011 = $720 ^ $756;
$1012 = $1011 ^ $864;
$1013 = $1012 ^ $956;
$1014 = $1013 << 1;
$1015 = $1013 >>> 31;
$1016 = $1014 | $1015;
$1017 = (($1016) + -1894007588)|0;
$1018 = (($1017) + ($963))|0;
$1019 = (($1018) + ($1010))|0;
$1020 = (($1019) + ($1006))|0;
$1021 = $980 << 30;
$1022 = $980 >>> 2;
$1023 = $1021 | $1022;
$1024 = $1020 << 5;
$1025 = $1020 >>> 27;
$1026 = $1024 | $1025;
$1027 = $1000 & $1023;
$1028 = $1000 | $1023;
$1029 = $1028 & $1003;
$1030 = $1029 | $1027;
$1031 = $774 ^ $738;
$1032 = $1031 ^ $882;
$1033 = $1032 ^ $976;
$1034 = $1033 << 1;
$1035 = $1033 >>> 31;
$1036 = $1034 | $1035;
$1037 = (($1036) + -1894007588)|0;
$1038 = (($1037) + ($983))|0;
$1039 = (($1038) + ($1030))|0;
$1040 = (($1039) + ($1026))|0;
$1041 = $1000 << 30;
$1042 = $1000 >>> 2;
$1043 = $1041 | $1042;
$1044 = $1040 << 5;
$1045 = $1040 >>> 27;
$1046 = $1044 | $1045;
$1047 = $1020 & $1043;
$1048 = $1020 | $1043;
$1049 = $1048 & $1023;
$1050 = $1049 | $1047;
$1051 = $756 ^ $792;
$1052 = $1051 ^ $900;
$1053 = $1052 ^ $996;
$1054 = $1053 << 1;
$1055 = $1053 >>> 31;
$1056 = $1054 | $1055;
$1057 = (($1056) + -1894007588)|0;
$1058 = (($1057) + ($1003))|0;
$1059 = (($1058) + ($1050))|0;
$1060 = (($1059) + ($1046))|0;
$1061 = $1020 << 30;
$1062 = $1020 >>> 2;
$1063 = $1061 | $1062;
$1064 = $1060 << 5;
$1065 = $1060 >>> 27;
$1066 = $1064 | $1065;
$1067 = $1040 & $1063;
$1068 = $1040 | $1063;
$1069 = $1068 & $1043;
$1070 = $1069 | $1067;
$1071 = $774 ^ $810;
$1072 = $1071 ^ $918;
$1073 = $1072 ^ $1016;
$1074 = $1073 << 1;
$1075 = $1073 >>> 31;
$1076 = $1074 | $1075;
$1077 = (($1076) + -1894007588)|0;
$1078 = (($1077) + ($1023))|0;
$1079 = (($1078) + ($1070))|0;
$1080 = (($1079) + ($1066))|0;
$1081 = $1040 << 30;
$1082 = $1040 >>> 2;
$1083 = $1081 | $1082;
$1084 = $1080 << 5;
$1085 = $1080 >>> 27;
$1086 = $1084 | $1085;
$1087 = $1060 & $1083;
$1088 = $1060 | $1083;
$1089 = $1088 & $1063;
$1090 = $1089 | $1087;
$1091 = $828 ^ $792;
$1092 = $1091 ^ $936;
$1093 = $1092 ^ $1036;
$1094 = $1093 << 1;
$1095 = $1093 >>> 31;
$1096 = $1094 | $1095;
$1097 = (($1096) + -1894007588)|0;
$1098 = (($1097) + ($1043))|0;
$1099 = (($1098) + ($1090))|0;
$1100 = (($1099) + ($1086))|0;
$1101 = $1060 << 30;
$1102 = $1060 >>> 2;
$1103 = $1101 | $1102;
$1104 = $1100 << 5;
$1105 = $1100 >>> 27;
$1106 = $1104 | $1105;
$1107 = $1080 & $1103;
$1108 = $1080 | $1103;
$1109 = $1108 & $1083;
$1110 = $1109 | $1107;
$1111 = $810 ^ $846;
$1112 = $1111 ^ $956;
$1113 = $1112 ^ $1056;
$1114 = $1113 << 1;
$1115 = $1113 >>> 31;
$1116 = $1114 | $1115;
$1117 = (($1116) + -1894007588)|0;
$1118 = (($1117) + ($1063))|0;
$1119 = (($1118) + ($1110))|0;
$1120 = (($1119) + ($1106))|0;
$1121 = $1080 << 30;
$1122 = $1080 >>> 2;
$1123 = $1121 | $1122;
$1124 = $1120 << 5;
$1125 = $1120 >>> 27;
$1126 = $1124 | $1125;
$1127 = $1100 & $1123;
$1128 = $1100 | $1123;
$1129 = $1128 & $1103;
$1130 = $1129 | $1127;
$1131 = $828 ^ $864;
$1132 = $1131 ^ $976;
$1133 = $1132 ^ $1076;
$1134 = $1133 << 1;
$1135 = $1133 >>> 31;
$1136 = $1134 | $1135;
$1137 = (($1136) + -1894007588)|0;
$1138 = (($1137) + ($1083))|0;
$1139 = (($1138) + ($1130))|0;
$1140 = (($1139) + ($1126))|0;
$1141 = $1100 << 30;
$1142 = $1100 >>> 2;
$1143 = $1141 | $1142;
$1144 = $1140 << 5;
$1145 = $1140 >>> 27;
$1146 = $1144 | $1145;
$1147 = $1120 & $1143;
$1148 = $1120 | $1143;
$1149 = $1148 & $1123;
$1150 = $1149 | $1147;
$1151 = $882 ^ $846;
$1152 = $1151 ^ $996;
$1153 = $1152 ^ $1096;
$1154 = $1153 << 1;
$1155 = $1153 >>> 31;
$1156 = $1154 | $1155;
$1157 = (($1156) + -1894007588)|0;
$1158 = (($1157) + ($1103))|0;
$1159 = (($1158) + ($1150))|0;
$1160 = (($1159) + ($1146))|0;
$1161 = $1120 << 30;
$1162 = $1120 >>> 2;
$1163 = $1161 | $1162;
$1164 = $1160 << 5;
$1165 = $1160 >>> 27;
$1166 = $1164 | $1165;
$1167 = $1140 & $1163;
$1168 = $1140 | $1163;
$1169 = $1168 & $1143;
$1170 = $1169 | $1167;
$1171 = $864 ^ $900;
$1172 = $1171 ^ $1016;
$1173 = $1172 ^ $1116;
$1174 = $1173 << 1;
$1175 = $1173 >>> 31;
$1176 = $1174 | $1175;
$1177 = (($1176) + -1894007588)|0;
$1178 = (($1177) + ($1123))|0;
$1179 = (($1178) + ($1170))|0;
$1180 = (($1179) + ($1166))|0;
$1181 = $1140 << 30;
$1182 = $1140 >>> 2;
$1183 = $1181 | $1182;
$1184 = $1180 << 5;
$1185 = $1180 >>> 27;
$1186 = $1184 | $1185;
$1187 = $1160 & $1183;
$1188 = $1160 | $1183;
$1189 = $1188 & $1163;
$1190 = $1189 | $1187;
$1191 = $882 ^ $918;
$1192 = $1191 ^ $1036;
$1193 = $1192 ^ $1136;
$1194 = $1193 << 1;
$1195 = $1193 >>> 31;
$1196 = $1194 | $1195;
$1197 = (($1196) + -1894007588)|0;
$1198 = (($1197) + ($1143))|0;
$1199 = (($1198) + ($1190))|0;
$1200 = (($1199) + ($1186))|0;
$1201 = $1160 << 30;
$1202 = $1160 >>> 2;
$1203 = $1201 | $1202;
$1204 = $1200 << 5;
$1205 = $1200 >>> 27;
$1206 = $1204 | $1205;
$1207 = $1180 & $1203;
$1208 = $1180 | $1203;
$1209 = $1208 & $1183;
$1210 = $1209 | $1207;
$1211 = $936 ^ $900;
$1212 = $1211 ^ $1056;
$1213 = $1212 ^ $1156;
$1214 = $1213 << 1;
$1215 = $1213 >>> 31;
$1216 = $1214 | $1215;
$1217 = (($1216) + -1894007588)|0;
$1218 = (($1217) + ($1163))|0;
$1219 = (($1218) + ($1210))|0;
$1220 = (($1219) + ($1206))|0;
$1221 = $1180 << 30;
$1222 = $1180 >>> 2;
$1223 = $1221 | $1222;
$1224 = $1220 << 5;
$1225 = $1220 >>> 27;
$1226 = $1224 | $1225;
$1227 = $1200 & $1223;
$1228 = $1200 | $1223;
$1229 = $1228 & $1203;
$1230 = $1229 | $1227;
$1231 = $918 ^ $956;
$1232 = $1231 ^ $1076;
$1233 = $1232 ^ $1176;
$1234 = $1233 << 1;
$1235 = $1233 >>> 31;
$1236 = $1234 | $1235;
$1237 = (($1236) + -1894007588)|0;
$1238 = (($1237) + ($1183))|0;
$1239 = (($1238) + ($1230))|0;
$1240 = (($1239) + ($1226))|0;
$1241 = $1200 << 30;
$1242 = $1200 >>> 2;
$1243 = $1241 | $1242;
$1244 = $1240 << 5;
$1245 = $1240 >>> 27;
$1246 = $1244 | $1245;
$1247 = $1220 & $1243;
$1248 = $1220 | $1243;
$1249 = $1248 & $1223;
$1250 = $1249 | $1247;
$1251 = $936 ^ $976;
$1252 = $1251 ^ $1096;
$1253 = $1252 ^ $1196;
$1254 = $1253 << 1;
$1255 = $1253 >>> 31;
$1256 = $1254 | $1255;
$1257 = (($1256) + -1894007588)|0;
$1258 = (($1257) + ($1203))|0;
$1259 = (($1258) + ($1250))|0;
$1260 = (($1259) + ($1246))|0;
$1261 = $1220 << 30;
$1262 = $1220 >>> 2;
$1263 = $1261 | $1262;
$1264 = $1260 << 5;
$1265 = $1260 >>> 27;
$1266 = $1264 | $1265;
$1267 = $1240 & $1263;
$1268 = $1240 | $1263;
$1269 = $1268 & $1243;
$1270 = $1269 | $1267;
$1271 = $996 ^ $956;
$1272 = $1271 ^ $1116;
$1273 = $1272 ^ $1216;
$1274 = $1273 << 1;
$1275 = $1273 >>> 31;
$1276 = $1274 | $1275;
$1277 = (($1276) + -1894007588)|0;
$1278 = (($1277) + ($1223))|0;
$1279 = (($1278) + ($1270))|0;
$1280 = (($1279) + ($1266))|0;
$1281 = $1240 << 30;
$1282 = $1240 >>> 2;
$1283 = $1281 | $1282;
$1284 = $1280 << 5;
$1285 = $1280 >>> 27;
$1286 = $1284 | $1285;
$1287 = $1260 & $1283;
$1288 = $1260 | $1283;
$1289 = $1288 & $1263;
$1290 = $1289 | $1287;
$1291 = $976 ^ $1016;
$1292 = $1291 ^ $1136;
$1293 = $1292 ^ $1236;
$1294 = $1293 << 1;
$1295 = $1293 >>> 31;
$1296 = $1294 | $1295;
$1297 = (($1296) + -1894007588)|0;
$1298 = (($1297) + ($1243))|0;
$1299 = (($1298) + ($1290))|0;
$1300 = (($1299) + ($1286))|0;
$1301 = $1260 << 30;
$1302 = $1260 >>> 2;
$1303 = $1301 | $1302;
$1304 = $1300 << 5;
$1305 = $1300 >>> 27;
$1306 = $1304 | $1305;
$1307 = $1280 & $1303;
$1308 = $1280 | $1303;
$1309 = $1308 & $1283;
$1310 = $1309 | $1307;
$1311 = $996 ^ $1036;
$1312 = $1311 ^ $1156;
$1313 = $1312 ^ $1256;
$1314 = $1313 << 1;
$1315 = $1313 >>> 31;
$1316 = $1314 | $1315;
$1317 = (($1316) + -1894007588)|0;
$1318 = (($1317) + ($1263))|0;
$1319 = (($1318) + ($1310))|0;
$1320 = (($1319) + ($1306))|0;
$1321 = $1280 << 30;
$1322 = $1280 >>> 2;
$1323 = $1321 | $1322;
$1324 = $1320 << 5;
$1325 = $1320 >>> 27;
$1326 = $1324 | $1325;
$1327 = $1300 & $1323;
$1328 = $1300 | $1323;
$1329 = $1328 & $1303;
$1330 = $1329 | $1327;
$1331 = $1056 ^ $1016;
$1332 = $1331 ^ $1176;
$1333 = $1332 ^ $1276;
$1334 = $1333 << 1;
$1335 = $1333 >>> 31;
$1336 = $1334 | $1335;
$1337 = (($1336) + -1894007588)|0;
$1338 = (($1337) + ($1283))|0;
$1339 = (($1338) + ($1330))|0;
$1340 = (($1339) + ($1326))|0;
$1341 = $1300 << 30;
$1342 = $1300 >>> 2;
$1343 = $1341 | $1342;
$1344 = $1340 << 5;
$1345 = $1340 >>> 27;
$1346 = $1344 | $1345;
$1347 = $1343 ^ $1323;
$1348 = $1347 ^ $1320;
$1349 = $1036 ^ $1076;
$1350 = $1349 ^ $1196;
$1351 = $1350 ^ $1296;
$1352 = $1351 << 1;
$1353 = $1351 >>> 31;
$1354 = $1352 | $1353;
$1355 = (($1354) + -899497514)|0;
$1356 = (($1355) + ($1303))|0;
$1357 = (($1356) + ($1348))|0;
$1358 = (($1357) + ($1346))|0;
$1359 = $1320 << 30;
$1360 = $1320 >>> 2;
$1361 = $1359 | $1360;
$1362 = $1358 << 5;
$1363 = $1358 >>> 27;
$1364 = $1362 | $1363;
$1365 = $1361 ^ $1343;
$1366 = $1365 ^ $1340;
$1367 = $1056 ^ $1096;
$1368 = $1367 ^ $1216;
$1369 = $1368 ^ $1316;
$1370 = $1369 << 1;
$1371 = $1369 >>> 31;
$1372 = $1370 | $1371;
$1373 = (($1372) + -899497514)|0;
$1374 = (($1373) + ($1323))|0;
$1375 = (($1374) + ($1366))|0;
$1376 = (($1375) + ($1364))|0;
$1377 = $1340 << 30;
$1378 = $1340 >>> 2;
$1379 = $1377 | $1378;
$1380 = $1376 << 5;
$1381 = $1376 >>> 27;
$1382 = $1380 | $1381;
$1383 = $1379 ^ $1361;
$1384 = $1383 ^ $1358;
$1385 = $1116 ^ $1076;
$1386 = $1385 ^ $1236;
$1387 = $1386 ^ $1336;
$1388 = $1387 << 1;
$1389 = $1387 >>> 31;
$1390 = $1388 | $1389;
$1391 = (($1390) + -899497514)|0;
$1392 = (($1391) + ($1343))|0;
$1393 = (($1392) + ($1384))|0;
$1394 = (($1393) + ($1382))|0;
$1395 = $1358 << 30;
$1396 = $1358 >>> 2;
$1397 = $1395 | $1396;
$1398 = $1394 << 5;
$1399 = $1394 >>> 27;
$1400 = $1398 | $1399;
$1401 = $1397 ^ $1379;
$1402 = $1401 ^ $1376;
$1403 = $1096 ^ $1136;
$1404 = $1403 ^ $1256;
$1405 = $1404 ^ $1354;
$1406 = $1405 << 1;
$1407 = $1405 >>> 31;
$1408 = $1406 | $1407;
$1409 = (($1408) + -899497514)|0;
$1410 = (($1409) + ($1361))|0;
$1411 = (($1410) + ($1402))|0;
$1412 = (($1411) + ($1400))|0;
$1413 = $1376 << 30;
$1414 = $1376 >>> 2;
$1415 = $1413 | $1414;
$1416 = $1412 << 5;
$1417 = $1412 >>> 27;
$1418 = $1416 | $1417;
$1419 = $1415 ^ $1397;
$1420 = $1419 ^ $1394;
$1421 = $1116 ^ $1156;
$1422 = $1421 ^ $1276;
$1423 = $1422 ^ $1372;
$1424 = $1423 << 1;
$1425 = $1423 >>> 31;
$1426 = $1424 | $1425;
$1427 = (($1426) + -899497514)|0;
$1428 = (($1427) + ($1379))|0;
$1429 = (($1428) + ($1420))|0;
$1430 = (($1429) + ($1418))|0;
$1431 = $1394 << 30;
$1432 = $1394 >>> 2;
$1433 = $1431 | $1432;
$1434 = $1430 << 5;
$1435 = $1430 >>> 27;
$1436 = $1434 | $1435;
$1437 = $1433 ^ $1415;
$1438 = $1437 ^ $1412;
$1439 = $1176 ^ $1136;
$1440 = $1439 ^ $1296;
$1441 = $1440 ^ $1390;
$1442 = $1441 << 1;
$1443 = $1441 >>> 31;
$1444 = $1442 | $1443;
$1445 = (($1444) + -899497514)|0;
$1446 = (($1445) + ($1397))|0;
$1447 = (($1446) + ($1438))|0;
$1448 = (($1447) + ($1436))|0;
$1449 = $1412 << 30;
$1450 = $1412 >>> 2;
$1451 = $1449 | $1450;
$1452 = $1448 << 5;
$1453 = $1448 >>> 27;
$1454 = $1452 | $1453;
$1455 = $1451 ^ $1433;
$1456 = $1455 ^ $1430;
$1457 = $1156 ^ $1196;
$1458 = $1457 ^ $1316;
$1459 = $1458 ^ $1408;
$1460 = $1459 << 1;
$1461 = $1459 >>> 31;
$1462 = $1460 | $1461;
$1463 = (($1462) + -899497514)|0;
$1464 = (($1463) + ($1415))|0;
$1465 = (($1464) + ($1456))|0;
$1466 = (($1465) + ($1454))|0;
$1467 = $1430 << 30;
$1468 = $1430 >>> 2;
$1469 = $1467 | $1468;
$1470 = $1466 << 5;
$1471 = $1466 >>> 27;
$1472 = $1470 | $1471;
$1473 = $1469 ^ $1451;
$1474 = $1473 ^ $1448;
$1475 = $1176 ^ $1216;
$1476 = $1475 ^ $1336;
$1477 = $1476 ^ $1426;
$1478 = $1477 << 1;
$1479 = $1477 >>> 31;
$1480 = $1478 | $1479;
$1481 = (($1480) + -899497514)|0;
$1482 = (($1481) + ($1433))|0;
$1483 = (($1482) + ($1474))|0;
$1484 = (($1483) + ($1472))|0;
$1485 = $1448 << 30;
$1486 = $1448 >>> 2;
$1487 = $1485 | $1486;
$1488 = $1484 << 5;
$1489 = $1484 >>> 27;
$1490 = $1488 | $1489;
$1491 = $1487 ^ $1469;
$1492 = $1491 ^ $1466;
$1493 = $1236 ^ $1196;
$1494 = $1493 ^ $1354;
$1495 = $1494 ^ $1444;
$1496 = $1495 << 1;
$1497 = $1495 >>> 31;
$1498 = $1496 | $1497;
$1499 = (($1498) + -899497514)|0;
$1500 = (($1499) + ($1451))|0;
$1501 = (($1500) + ($1492))|0;
$1502 = (($1501) + ($1490))|0;
$1503 = $1466 << 30;
$1504 = $1466 >>> 2;
$1505 = $1503 | $1504;
$1506 = $1502 << 5;
$1507 = $1502 >>> 27;
$1508 = $1506 | $1507;
$1509 = $1505 ^ $1487;
$1510 = $1509 ^ $1484;
$1511 = $1216 ^ $1256;
$1512 = $1511 ^ $1372;
$1513 = $1512 ^ $1462;
$1514 = $1513 << 1;
$1515 = $1513 >>> 31;
$1516 = $1514 | $1515;
$1517 = (($1516) + -899497514)|0;
$1518 = (($1517) + ($1469))|0;
$1519 = (($1518) + ($1510))|0;
$1520 = (($1519) + ($1508))|0;
$1521 = $1484 << 30;
$1522 = $1484 >>> 2;
$1523 = $1521 | $1522;
$1524 = $1520 << 5;
$1525 = $1520 >>> 27;
$1526 = $1524 | $1525;
$1527 = $1523 ^ $1505;
$1528 = $1527 ^ $1502;
$1529 = $1236 ^ $1276;
$1530 = $1529 ^ $1390;
$1531 = $1530 ^ $1480;
$1532 = $1531 << 1;
$1533 = $1531 >>> 31;
$1534 = $1532 | $1533;
$1535 = (($1534) + -899497514)|0;
$1536 = (($1535) + ($1487))|0;
$1537 = (($1536) + ($1528))|0;
$1538 = (($1537) + ($1526))|0;
$1539 = $1502 << 30;
$1540 = $1502 >>> 2;
$1541 = $1539 | $1540;
$1542 = $1538 << 5;
$1543 = $1538 >>> 27;
$1544 = $1542 | $1543;
$1545 = $1541 ^ $1523;
$1546 = $1545 ^ $1520;
$1547 = $1296 ^ $1256;
$1548 = $1547 ^ $1408;
$1549 = $1548 ^ $1498;
$1550 = $1549 << 1;
$1551 = $1549 >>> 31;
$1552 = $1550 | $1551;
$1553 = (($1552) + -899497514)|0;
$1554 = (($1553) + ($1505))|0;
$1555 = (($1554) + ($1546))|0;
$1556 = (($1555) + ($1544))|0;
$1557 = $1520 << 30;
$1558 = $1520 >>> 2;
$1559 = $1557 | $1558;
$1560 = $1556 << 5;
$1561 = $1556 >>> 27;
$1562 = $1560 | $1561;
$1563 = $1559 ^ $1541;
$1564 = $1563 ^ $1538;
$1565 = $1276 ^ $1316;
$1566 = $1565 ^ $1426;
$1567 = $1566 ^ $1516;
$1568 = $1567 << 1;
$1569 = $1567 >>> 31;
$1570 = $1568 | $1569;
$1571 = (($1570) + -899497514)|0;
$1572 = (($1571) + ($1523))|0;
$1573 = (($1572) + ($1564))|0;
$1574 = (($1573) + ($1562))|0;
$1575 = $1538 << 30;
$1576 = $1538 >>> 2;
$1577 = $1575 | $1576;
$1578 = $1574 << 5;
$1579 = $1574 >>> 27;
$1580 = $1578 | $1579;
$1581 = $1577 ^ $1559;
$1582 = $1581 ^ $1556;
$1583 = $1296 ^ $1336;
$1584 = $1583 ^ $1444;
$1585 = $1584 ^ $1534;
$1586 = $1585 << 1;
$1587 = $1585 >>> 31;
$1588 = $1586 | $1587;
$1589 = (($1588) + -899497514)|0;
$1590 = (($1589) + ($1541))|0;
$1591 = (($1590) + ($1582))|0;
$1592 = (($1591) + ($1580))|0;
$1593 = $1556 << 30;
$1594 = $1556 >>> 2;
$1595 = $1593 | $1594;
$1596 = $1592 << 5;
$1597 = $1592 >>> 27;
$1598 = $1596 | $1597;
$1599 = $1595 ^ $1577;
$1600 = $1599 ^ $1574;
$1601 = $1354 ^ $1316;
$1602 = $1601 ^ $1462;
$1603 = $1602 ^ $1552;
$1604 = $1603 << 1;
$1605 = $1603 >>> 31;
$1606 = $1604 | $1605;
$1607 = (($1606) + -899497514)|0;
$1608 = (($1607) + ($1559))|0;
$1609 = (($1608) + ($1600))|0;
$1610 = (($1609) + ($1598))|0;
$1611 = $1574 << 30;
$1612 = $1574 >>> 2;
$1613 = $1611 | $1612;
$1614 = $1610 << 5;
$1615 = $1610 >>> 27;
$1616 = $1614 | $1615;
$1617 = $1613 ^ $1595;
$1618 = $1617 ^ $1592;
$1619 = $1336 ^ $1372;
$1620 = $1619 ^ $1480;
$1621 = $1620 ^ $1570;
$1622 = $1621 << 1;
$1623 = $1621 >>> 31;
$1624 = $1622 | $1623;
$1625 = (($1624) + -899497514)|0;
$1626 = (($1625) + ($1577))|0;
$1627 = (($1626) + ($1618))|0;
$1628 = (($1627) + ($1616))|0;
$1629 = $1592 << 30;
$1630 = $1592 >>> 2;
$1631 = $1629 | $1630;
$1632 = $1628 << 5;
$1633 = $1628 >>> 27;
$1634 = $1632 | $1633;
$1635 = $1631 ^ $1613;
$1636 = $1635 ^ $1610;
$1637 = $1354 ^ $1390;
$1638 = $1637 ^ $1498;
$1639 = $1638 ^ $1588;
$1640 = $1639 << 1;
$1641 = $1639 >>> 31;
$1642 = $1640 | $1641;
$1643 = (($1642) + -899497514)|0;
$1644 = (($1643) + ($1595))|0;
$1645 = (($1644) + ($1636))|0;
$1646 = (($1645) + ($1634))|0;
$1647 = $1610 << 30;
$1648 = $1610 >>> 2;
$1649 = $1647 | $1648;
$1650 = $1646 << 5;
$1651 = $1646 >>> 27;
$1652 = $1650 | $1651;
$1653 = $1649 ^ $1631;
$1654 = $1653 ^ $1628;
$1655 = $1408 ^ $1372;
$1656 = $1655 ^ $1516;
$1657 = $1656 ^ $1606;
$1658 = $1657 << 1;
$1659 = $1657 >>> 31;
$1660 = $1658 | $1659;
$1661 = (($1660) + -899497514)|0;
$1662 = (($1661) + ($1613))|0;
$1663 = (($1662) + ($1654))|0;
$1664 = (($1663) + ($1652))|0;
$1665 = $1628 << 30;
$1666 = $1628 >>> 2;
$1667 = $1665 | $1666;
$1668 = $1664 << 5;
$1669 = $1664 >>> 27;
$1670 = $1668 | $1669;
$1671 = $1667 ^ $1649;
$1672 = $1671 ^ $1646;
$1673 = $1390 ^ $1426;
$1674 = $1673 ^ $1534;
$1675 = $1674 ^ $1624;
$1676 = $1675 << 1;
$1677 = $1675 >>> 31;
$1678 = $1676 | $1677;
$1679 = (($1678) + -899497514)|0;
$1680 = (($1679) + ($1631))|0;
$1681 = (($1680) + ($1672))|0;
$1682 = (($1681) + ($1670))|0;
$1683 = $1646 << 30;
$1684 = $1646 >>> 2;
$1685 = $1683 | $1684;
$1686 = $1682 << 5;
$1687 = $1682 >>> 27;
$1688 = $1686 | $1687;
$1689 = $1685 ^ $1667;
$1690 = $1689 ^ $1664;
$1691 = $1408 ^ $1444;
$1692 = $1691 ^ $1552;
$1693 = $1692 ^ $1642;
$1694 = $1693 << 1;
$1695 = $1693 >>> 31;
$1696 = $1694 | $1695;
$1697 = $1664 << 30;
$1698 = $1664 >>> 2;
$1699 = $1697 | $1698;
$1700 = (($9) + -899497514)|0;
$1701 = (($1700) + ($1696))|0;
$1702 = (($1701) + ($1649))|0;
$1703 = (($1702) + ($1690))|0;
$1704 = (($1703) + ($1688))|0;
HEAP32[$3>>2] = $1704;
$1705 = (($1682) + ($16))|0;
HEAP32[$4>>2] = $1705;
$1706 = (($1699) + ($14))|0;
HEAP32[$5>>2] = $1706;
$1707 = (($1685) + ($13))|0;
HEAP32[$6>>2] = $1707;
$1708 = (($1667) + ($37))|0;
HEAP32[$7>>2] = $1708;
$1709 = ((($$0)) + 64|0);
$1710 = (($$08) + -1)|0;
$1711 = ($1710|0)==(0);
if ($1711) {
break;
} else {
$$0 = $1709;$$08 = $1710;$13 = $1707;$14 = $1706;$16 = $1705;$37 = $1708;$9 = $1704;
}
}
return 104;
}
function __gcry_sha1_hash_buffer($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
$3 = sp;
$4 = ((($3)) + 160|0);
HEAP32[$4>>2] = 1732584193;
$5 = ((($3)) + 164|0);
HEAP32[$5>>2] = -271733879;
$6 = ((($3)) + 168|0);
HEAP32[$6>>2] = -1732584194;
$7 = ((($3)) + 172|0);
HEAP32[$7>>2] = 271733878;
$8 = ((($3)) + 176|0);
HEAP32[$8>>2] = -1009589776;
$9 = ((($3)) + 128|0);
$10 = ((($3)) + 148|0);
;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0;HEAP32[$9+12>>2]=0|0;HEAP32[$9+16>>2]=0|0;
HEAP32[$10>>2] = 64;
$11 = ((($3)) + 152|0);
HEAP32[$11>>2] = 78;
__gcry_md_block_write($3,$1,$2);
_sha1_final($3);
dest=$0; src=$3; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
STACKTOP = sp;return;
}
function __gcry_sha1_hash_buffers($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$067 = 0, $$08 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
$3 = sp;
$4 = ((($3)) + 160|0);
HEAP32[$4>>2] = 1732584193;
$5 = ((($3)) + 164|0);
HEAP32[$5>>2] = -271733879;
$6 = ((($3)) + 168|0);
HEAP32[$6>>2] = -1732584194;
$7 = ((($3)) + 172|0);
HEAP32[$7>>2] = 271733878;
$8 = ((($3)) + 176|0);
HEAP32[$8>>2] = -1009589776;
$9 = ((($3)) + 128|0);
$10 = ((($3)) + 148|0);
;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP32[$9+8>>2]=0|0;HEAP32[$9+12>>2]=0|0;HEAP32[$9+16>>2]=0|0;
HEAP32[$10>>2] = 64;
$11 = ((($3)) + 152|0);
HEAP32[$11>>2] = 78;
$12 = ($2|0)>(0);
if (!($12)) {
_sha1_final($3);
dest=$0; src=$3; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
STACKTOP = sp;return;
}
$$067 = $1;$$08 = $2;
while(1) {
$13 = ((($$067)) + 12|0);
$14 = HEAP32[$13>>2]|0;
$15 = ((($$067)) + 4|0);
$16 = HEAP32[$15>>2]|0;
$17 = (($14) + ($16)|0);
$18 = ((($$067)) + 8|0);
$19 = HEAP32[$18>>2]|0;
__gcry_md_block_write($3,$17,$19);
$20 = ((($$067)) + 16|0);
$21 = (($$08) + -1)|0;
$22 = ($$08|0)>(1);
if ($22) {
$$067 = $20;$$08 = $21;
} else {
break;
}
}
_sha1_final($3);
dest=$0; src=$3; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
STACKTOP = sp;return;
}
function _sha224_init($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 160|0);
HEAP32[$2>>2] = -1056596264;
$3 = ((($0)) + 164|0);
HEAP32[$3>>2] = 914150663;
$4 = ((($0)) + 168|0);
HEAP32[$4>>2] = 812702999;
$5 = ((($0)) + 172|0);
HEAP32[$5>>2] = -150054599;
$6 = ((($0)) + 176|0);
HEAP32[$6>>2] = -4191439;
$7 = ((($0)) + 180|0);
HEAP32[$7>>2] = 1750603025;
$8 = ((($0)) + 184|0);
HEAP32[$8>>2] = 1694076839;
$9 = ((($0)) + 188|0);
HEAP32[$9>>2] = -1090891868;
$10 = ((($0)) + 128|0);
$11 = ((($0)) + 148|0);
;HEAP32[$10>>2]=0|0;HEAP32[$10+4>>2]=0|0;HEAP32[$10+8>>2]=0|0;HEAP32[$10+12>>2]=0|0;HEAP32[$10+16>>2]=0|0;
HEAP32[$11>>2] = 64;
$12 = ((($0)) + 152|0);
HEAP32[$12>>2] = 79;
return;
}
function _sha256_final($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
var $97 = 0, $98 = 0, $99 = 0, $spec$select = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
__gcry_md_block_write($0,0,0);
$1 = ((($0)) + 128|0);
$2 = $1;
$3 = $2;
$4 = HEAP32[$3>>2]|0;
$5 = (($2) + 4)|0;
$6 = $5;
$7 = HEAP32[$6>>2]|0;
$8 = $4 << 6;
$9 = (_bitshift64Lshr(($4|0),($7|0),26)|0);
$10 = tempRet0;
$11 = $9 & 536870848;
$12 = $4 >>> 26;
$13 = $11 | $12;
$14 = ((($0)) + 144|0);
$15 = HEAP32[$14>>2]|0;
$16 = (($8) + ($15))|0;
$17 = ($16>>>0)<($8>>>0);
$18 = $17&1;
$spec$select = (($13) + ($18))|0;
$19 = $16 << 3;
$20 = $spec$select << 3;
$21 = $16 >>> 29;
$22 = $20 | $21;
$23 = ($15|0)<(56);
$24 = (($15) + 1)|0;
HEAP32[$14>>2] = $24;
$25 = (($0) + ($15)|0);
HEAP8[$25>>0] = -128;
$26 = HEAP32[$14>>2]|0;
if ($23) {
$27 = ($26|0)<(56);
if ($27) {
$29 = $26;
while(1) {
$28 = (($29) + 1)|0;
HEAP32[$14>>2] = $28;
$30 = (($0) + ($29)|0);
HEAP8[$30>>0] = 0;
$31 = HEAP32[$14>>2]|0;
$32 = ($31|0)<(56);
if ($32) {
$29 = $31;
} else {
break;
}
}
}
} else {
$33 = ($26|0)<(64);
if ($33) {
$35 = $26;
while(1) {
$34 = (($35) + 1)|0;
HEAP32[$14>>2] = $34;
$36 = (($0) + ($35)|0);
HEAP8[$36>>0] = 0;
$37 = HEAP32[$14>>2]|0;
$38 = ($37|0)<(64);
if ($38) {
$35 = $37;
} else {
break;
}
}
}
__gcry_md_block_write($0,0,0);
dest=$0; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
}
$39 = ((($0)) + 56|0);
$40 = $spec$select >>> 21;
$41 = $40&255;
HEAP8[$39>>0] = $41;
$42 = $spec$select >>> 13;
$43 = $42&255;
$44 = ((($0)) + 57|0);
HEAP8[$44>>0] = $43;
$45 = $spec$select >>> 5;
$46 = $45&255;
$47 = ((($0)) + 58|0);
HEAP8[$47>>0] = $46;
$48 = $22&255;
$49 = ((($0)) + 59|0);
HEAP8[$49>>0] = $48;
$50 = ((($0)) + 60|0);
$51 = $16 >>> 21;
$52 = $51&255;
HEAP8[$50>>0] = $52;
$53 = $16 >>> 13;
$54 = $53&255;
$55 = ((($0)) + 61|0);
HEAP8[$55>>0] = $54;
$56 = $16 >>> 5;
$57 = $56&255;
$58 = ((($0)) + 62|0);
HEAP8[$58>>0] = $57;
$59 = $19&255;
$60 = ((($0)) + 63|0);
HEAP8[$60>>0] = $59;
(_transform_1345($0,$0,1)|0);
___gcry_burn_stack(328);
$61 = ((($0)) + 160|0);
$62 = HEAP32[$61>>2]|0;
$63 = $62 >>> 24;
$64 = $63&255;
HEAP8[$0>>0] = $64;
$65 = $62 >>> 16;
$66 = $65&255;
$67 = ((($0)) + 1|0);
HEAP8[$67>>0] = $66;
$68 = $62 >>> 8;
$69 = $68&255;
$70 = ((($0)) + 2|0);
HEAP8[$70>>0] = $69;
$71 = $62&255;
$72 = ((($0)) + 3|0);
HEAP8[$72>>0] = $71;
$73 = ((($0)) + 4|0);
$74 = ((($0)) + 164|0);
$75 = HEAP32[$74>>2]|0;
$76 = $75 >>> 24;
$77 = $76&255;
HEAP8[$73>>0] = $77;
$78 = $75 >>> 16;
$79 = $78&255;
$80 = ((($0)) + 5|0);
HEAP8[$80>>0] = $79;
$81 = $75 >>> 8;
$82 = $81&255;
$83 = ((($0)) + 6|0);
HEAP8[$83>>0] = $82;
$84 = $75&255;
$85 = ((($0)) + 7|0);
HEAP8[$85>>0] = $84;
$86 = ((($0)) + 8|0);
$87 = ((($0)) + 168|0);
$88 = HEAP32[$87>>2]|0;
$89 = $88 >>> 24;
$90 = $89&255;
HEAP8[$86>>0] = $90;
$91 = $88 >>> 16;
$92 = $91&255;
$93 = ((($0)) + 9|0);
HEAP8[$93>>0] = $92;
$94 = $88 >>> 8;
$95 = $94&255;
$96 = ((($0)) + 10|0);
HEAP8[$96>>0] = $95;
$97 = $88&255;
$98 = ((($0)) + 11|0);
HEAP8[$98>>0] = $97;
$99 = ((($0)) + 12|0);
$100 = ((($0)) + 172|0);
$101 = HEAP32[$100>>2]|0;
$102 = $101 >>> 24;
$103 = $102&255;
HEAP8[$99>>0] = $103;
$104 = $101 >>> 16;
$105 = $104&255;
$106 = ((($0)) + 13|0);
HEAP8[$106>>0] = $105;
$107 = $101 >>> 8;
$108 = $107&255;
$109 = ((($0)) + 14|0);
HEAP8[$109>>0] = $108;
$110 = $101&255;
$111 = ((($0)) + 15|0);
HEAP8[$111>>0] = $110;
$112 = ((($0)) + 16|0);
$113 = ((($0)) + 176|0);
$114 = HEAP32[$113>>2]|0;
$115 = $114 >>> 24;
$116 = $115&255;
HEAP8[$112>>0] = $116;
$117 = $114 >>> 16;
$118 = $117&255;
$119 = ((($0)) + 17|0);
HEAP8[$119>>0] = $118;
$120 = $114 >>> 8;
$121 = $120&255;
$122 = ((($0)) + 18|0);
HEAP8[$122>>0] = $121;
$123 = $114&255;
$124 = ((($0)) + 19|0);
HEAP8[$124>>0] = $123;
$125 = ((($0)) + 20|0);
$126 = ((($0)) + 180|0);
$127 = HEAP32[$126>>2]|0;
$128 = $127 >>> 24;
$129 = $128&255;
HEAP8[$125>>0] = $129;
$130 = $127 >>> 16;
$131 = $130&255;
$132 = ((($0)) + 21|0);
HEAP8[$132>>0] = $131;
$133 = $127 >>> 8;
$134 = $133&255;
$135 = ((($0)) + 22|0);
HEAP8[$135>>0] = $134;
$136 = $127&255;
$137 = ((($0)) + 23|0);
HEAP8[$137>>0] = $136;
$138 = ((($0)) + 24|0);
$139 = ((($0)) + 184|0);
$140 = HEAP32[$139>>2]|0;
$141 = $140 >>> 24;
$142 = $141&255;
HEAP8[$138>>0] = $142;
$143 = $140 >>> 16;
$144 = $143&255;
$145 = ((($0)) + 25|0);
HEAP8[$145>>0] = $144;
$146 = $140 >>> 8;
$147 = $146&255;
$148 = ((($0)) + 26|0);
HEAP8[$148>>0] = $147;
$149 = $140&255;
$150 = ((($0)) + 27|0);
HEAP8[$150>>0] = $149;
$151 = ((($0)) + 28|0);
$152 = ((($0)) + 188|0);
$153 = HEAP32[$152>>2]|0;
$154 = $153 >>> 24;
$155 = $154&255;
HEAP8[$151>>0] = $155;
$156 = $153 >>> 16;
$157 = $156&255;
$158 = ((($0)) + 29|0);
HEAP8[$158>>0] = $157;
$159 = $153 >>> 8;
$160 = $159&255;
$161 = ((($0)) + 30|0);
HEAP8[$161>>0] = $160;
$162 = $153&255;
$163 = ((($0)) + 31|0);
HEAP8[$163>>0] = $162;
return;
}
function _sha256_read($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return ($0|0);
}
function _run_selftests_1332($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$i = 0, $$0$i7 = 0, $$011$i = 0, $$011$i6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
switch ($0|0) {
case 11: {
$3 = (__gcry_hash_selftest_check_one(11,0,62920,3,62595,28)|0);
$4 = ($3|0)==(0|0);
if ($4) {
$5 = ($1|0)==(0);
if ($5) {
$$0 = 0;
return ($$0|0);
}
$6 = (__gcry_hash_selftest_check_one(11,0,62624,56,62681,28)|0);
$7 = ($6|0)==(0|0);
if ($7) {
$8 = (__gcry_hash_selftest_check_one(11,1,0,0,62710,28)|0);
$9 = ($8|0)==(0|0);
if ($9) {
$$0 = 0;
return ($$0|0);
} else {
$$0$i = $8;$$011$i = 63209;
}
} else {
$$0$i = $6;$$011$i = 63197;
}
} else {
$$0$i = $3;$$011$i = 63184;
}
$10 = ($2|0)==(0|0);
if ($10) {
$$0 = 50;
return ($$0|0);
}
FUNCTION_TABLE_viiii[$2 & 63](63225,11,$$011$i,$$0$i);
$$0 = 50;
return ($$0|0);
break;
}
case 8: {
$11 = (__gcry_hash_selftest_check_one(8,0,62920,3,62739,32)|0);
$12 = ($11|0)==(0|0);
if ($12) {
$13 = ($1|0)==(0);
if ($13) {
$$0 = 0;
return ($$0|0);
}
$14 = (__gcry_hash_selftest_check_one(8,0,62624,56,62772,32)|0);
$15 = ($14|0)==(0|0);
if ($15) {
$16 = (__gcry_hash_selftest_check_one(8,1,0,0,62805,32)|0);
$17 = ($16|0)==(0|0);
if ($17) {
$$0 = 0;
return ($$0|0);
} else {
$$0$i7 = $16;$$011$i6 = 63209;
}
} else {
$$0$i7 = $14;$$011$i6 = 63197;
}
} else {
$$0$i7 = $11;$$011$i6 = 63184;
}
$18 = ($2|0)==(0|0);
if ($18) {
$$0 = 50;
return ($$0|0);
}
FUNCTION_TABLE_viiii[$2 & 63](63225,8,$$011$i6,$$0$i7);
$$0 = 50;
return ($$0|0);
break;
}
default: {
$$0 = 5;
return ($$0|0);
}
}
return (0)|0;
}
function _transform_1345($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$01858$i = 0, $$01867$i = 0, $$01876$i = 0, $$01885$i = 0, $$01894$i = 0, $$01903$i = 0, $$01912$i = 0, $$01921$i = 0, $$08 = 0, $$110$i = 0, $$29$i = 0, $$pre = 0, $$pre23 = 0, $$pre24 = 0, $$pre25 = 0, $$pre26 = 0, $$pre27 = 0, $$pre28 = 0, $$pre29 = 0;
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0;
var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0;
var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0;
var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0;
var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0;
var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0;
var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0;
var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0;
var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0;
var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0;
var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0;
var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0;
var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0;
var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0;
var $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0;
var $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0;
var $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0;
var $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0;
var $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0;
var $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0;
var $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $7 = 0;
var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0);
$3 = sp;
$4 = ((($0)) + 160|0);
$5 = ((($0)) + 164|0);
$6 = ((($0)) + 168|0);
$7 = ((($0)) + 172|0);
$8 = ((($0)) + 176|0);
$9 = ((($0)) + 180|0);
$10 = ((($0)) + 184|0);
$11 = ((($0)) + 188|0);
$12 = ((($3)) + 4|0);
$13 = ((($3)) + 8|0);
$14 = ((($3)) + 12|0);
$15 = ((($3)) + 16|0);
$16 = ((($3)) + 20|0);
$17 = ((($3)) + 24|0);
$18 = ((($3)) + 28|0);
$19 = ((($3)) + 32|0);
$20 = ((($3)) + 36|0);
$21 = ((($3)) + 40|0);
$22 = ((($3)) + 44|0);
$23 = ((($3)) + 48|0);
$24 = ((($3)) + 52|0);
$25 = ((($3)) + 56|0);
$26 = ((($3)) + 60|0);
$$pre = HEAP32[$4>>2]|0;
$$pre23 = HEAP32[$5>>2]|0;
$$pre24 = HEAP32[$6>>2]|0;
$$pre25 = HEAP32[$7>>2]|0;
$$pre26 = HEAP32[$8>>2]|0;
$$pre27 = HEAP32[$9>>2]|0;
$$pre28 = HEAP32[$10>>2]|0;
$$pre29 = HEAP32[$11>>2]|0;
$$0 = $1;$$08 = $2;$677 = $$pre;$679 = $$pre23;$681 = $$pre24;$683 = $$pre25;$685 = $$pre26;$687 = $$pre27;$689 = $$pre28;$691 = $$pre29;
while(1) {
$27 = HEAP8[$$0>>0]|0;
$28 = $27&255;
$29 = $28 << 24;
$30 = ((($$0)) + 1|0);
$31 = HEAP8[$30>>0]|0;
$32 = $31&255;
$33 = $32 << 16;
$34 = $33 | $29;
$35 = ((($$0)) + 2|0);
$36 = HEAP8[$35>>0]|0;
$37 = $36&255;
$38 = $37 << 8;
$39 = $34 | $38;
$40 = ((($$0)) + 3|0);
$41 = HEAP8[$40>>0]|0;
$42 = $41&255;
$43 = $39 | $42;
HEAP32[$3>>2] = $43;
$44 = ((($$0)) + 4|0);
$45 = HEAP8[$44>>0]|0;
$46 = $45&255;
$47 = $46 << 24;
$48 = ((($$0)) + 5|0);
$49 = HEAP8[$48>>0]|0;
$50 = $49&255;
$51 = $50 << 16;
$52 = $51 | $47;
$53 = ((($$0)) + 6|0);
$54 = HEAP8[$53>>0]|0;
$55 = $54&255;
$56 = $55 << 8;
$57 = $52 | $56;
$58 = ((($$0)) + 7|0);
$59 = HEAP8[$58>>0]|0;
$60 = $59&255;
$61 = $57 | $60;
HEAP32[$12>>2] = $61;
$62 = ((($$0)) + 8|0);
$63 = HEAP8[$62>>0]|0;
$64 = $63&255;
$65 = $64 << 24;
$66 = ((($$0)) + 9|0);
$67 = HEAP8[$66>>0]|0;
$68 = $67&255;
$69 = $68 << 16;
$70 = $69 | $65;
$71 = ((($$0)) + 10|0);
$72 = HEAP8[$71>>0]|0;
$73 = $72&255;
$74 = $73 << 8;
$75 = $70 | $74;
$76 = ((($$0)) + 11|0);
$77 = HEAP8[$76>>0]|0;
$78 = $77&255;
$79 = $75 | $78;
HEAP32[$13>>2] = $79;
$80 = ((($$0)) + 12|0);
$81 = HEAP8[$80>>0]|0;
$82 = $81&255;
$83 = $82 << 24;
$84 = ((($$0)) + 13|0);
$85 = HEAP8[$84>>0]|0;
$86 = $85&255;
$87 = $86 << 16;
$88 = $87 | $83;
$89 = ((($$0)) + 14|0);
$90 = HEAP8[$89>>0]|0;
$91 = $90&255;
$92 = $91 << 8;
$93 = $88 | $92;
$94 = ((($$0)) + 15|0);
$95 = HEAP8[$94>>0]|0;
$96 = $95&255;
$97 = $93 | $96;
HEAP32[$14>>2] = $97;
$98 = ((($$0)) + 16|0);
$99 = HEAP8[$98>>0]|0;
$100 = $99&255;
$101 = $100 << 24;
$102 = ((($$0)) + 17|0);
$103 = HEAP8[$102>>0]|0;
$104 = $103&255;
$105 = $104 << 16;
$106 = $105 | $101;
$107 = ((($$0)) + 18|0);
$108 = HEAP8[$107>>0]|0;
$109 = $108&255;
$110 = $109 << 8;
$111 = $106 | $110;
$112 = ((($$0)) + 19|0);
$113 = HEAP8[$112>>0]|0;
$114 = $113&255;
$115 = $111 | $114;
HEAP32[$15>>2] = $115;
$116 = ((($$0)) + 20|0);
$117 = HEAP8[$116>>0]|0;
$118 = $117&255;
$119 = $118 << 24;
$120 = ((($$0)) + 21|0);
$121 = HEAP8[$120>>0]|0;
$122 = $121&255;
$123 = $122 << 16;
$124 = $123 | $119;
$125 = ((($$0)) + 22|0);
$126 = HEAP8[$125>>0]|0;
$127 = $126&255;
$128 = $127 << 8;
$129 = $124 | $128;
$130 = ((($$0)) + 23|0);
$131 = HEAP8[$130>>0]|0;
$132 = $131&255;
$133 = $129 | $132;
HEAP32[$16>>2] = $133;
$134 = ((($$0)) + 24|0);
$135 = HEAP8[$134>>0]|0;
$136 = $135&255;
$137 = $136 << 24;
$138 = ((($$0)) + 25|0);
$139 = HEAP8[$138>>0]|0;
$140 = $139&255;
$141 = $140 << 16;
$142 = $141 | $137;
$143 = ((($$0)) + 26|0);
$144 = HEAP8[$143>>0]|0;
$145 = $144&255;
$146 = $145 << 8;
$147 = $142 | $146;
$148 = ((($$0)) + 27|0);
$149 = HEAP8[$148>>0]|0;
$150 = $149&255;
$151 = $147 | $150;
HEAP32[$17>>2] = $151;
$152 = ((($$0)) + 28|0);
$153 = HEAP8[$152>>0]|0;
$154 = $153&255;
$155 = $154 << 24;
$156 = ((($$0)) + 29|0);
$157 = HEAP8[$156>>0]|0;
$158 = $157&255;
$159 = $158 << 16;
$160 = $159 | $155;
$161 = ((($$0)) + 30|0);
$162 = HEAP8[$161>>0]|0;
$163 = $162&255;
$164 = $163 << 8;
$165 = $160 | $164;
$166 = ((($$0)) + 31|0);
$167 = HEAP8[$166>>0]|0;
$168 = $167&255;
$169 = $165 | $168;
HEAP32[$18>>2] = $169;
$170 = ((($$0)) + 32|0);
$171 = HEAP8[$170>>0]|0;
$172 = $171&255;
$173 = $172 << 24;
$174 = ((($$0)) + 33|0);
$175 = HEAP8[$174>>0]|0;
$176 = $175&255;
$177 = $176 << 16;
$178 = $177 | $173;
$179 = ((($$0)) + 34|0);
$180 = HEAP8[$179>>0]|0;
$181 = $180&255;
$182 = $181 << 8;
$183 = $178 | $182;
$184 = ((($$0)) + 35|0);
$185 = HEAP8[$184>>0]|0;
$186 = $185&255;
$187 = $183 | $186;
HEAP32[$19>>2] = $187;
$188 = ((($$0)) + 36|0);
$189 = HEAP8[$188>>0]|0;
$190 = $189&255;
$191 = $190 << 24;
$192 = ((($$0)) + 37|0);
$193 = HEAP8[$192>>0]|0;
$194 = $193&255;
$195 = $194 << 16;
$196 = $195 | $191;
$197 = ((($$0)) + 38|0);
$198 = HEAP8[$197>>0]|0;
$199 = $198&255;
$200 = $199 << 8;
$201 = $196 | $200;
$202 = ((($$0)) + 39|0);
$203 = HEAP8[$202>>0]|0;
$204 = $203&255;
$205 = $201 | $204;
HEAP32[$20>>2] = $205;
$206 = ((($$0)) + 40|0);
$207 = HEAP8[$206>>0]|0;
$208 = $207&255;
$209 = $208 << 24;
$210 = ((($$0)) + 41|0);
$211 = HEAP8[$210>>0]|0;
$212 = $211&255;
$213 = $212 << 16;
$214 = $213 | $209;
$215 = ((($$0)) + 42|0);
$216 = HEAP8[$215>>0]|0;
$217 = $216&255;
$218 = $217 << 8;
$219 = $214 | $218;
$220 = ((($$0)) + 43|0);
$221 = HEAP8[$220>>0]|0;
$222 = $221&255;
$223 = $219 | $222;
HEAP32[$21>>2] = $223;
$224 = ((($$0)) + 44|0);
$225 = HEAP8[$224>>0]|0;
$226 = $225&255;
$227 = $226 << 24;
$228 = ((($$0)) + 45|0);
$229 = HEAP8[$228>>0]|0;
$230 = $229&255;
$231 = $230 << 16;
$232 = $231 | $227;
$233 = ((($$0)) + 46|0);
$234 = HEAP8[$233>>0]|0;
$235 = $234&255;
$236 = $235 << 8;
$237 = $232 | $236;
$238 = ((($$0)) + 47|0);
$239 = HEAP8[$238>>0]|0;
$240 = $239&255;
$241 = $237 | $240;
HEAP32[$22>>2] = $241;
$242 = ((($$0)) + 48|0);
$243 = HEAP8[$242>>0]|0;
$244 = $243&255;
$245 = $244 << 24;
$246 = ((($$0)) + 49|0);
$247 = HEAP8[$246>>0]|0;
$248 = $247&255;
$249 = $248 << 16;
$250 = $249 | $245;
$251 = ((($$0)) + 50|0);
$252 = HEAP8[$251>>0]|0;
$253 = $252&255;
$254 = $253 << 8;
$255 = $250 | $254;
$256 = ((($$0)) + 51|0);
$257 = HEAP8[$256>>0]|0;
$258 = $257&255;
$259 = $255 | $258;
HEAP32[$23>>2] = $259;
$260 = ((($$0)) + 52|0);
$261 = HEAP8[$260>>0]|0;
$262 = $261&255;
$263 = $262 << 24;
$264 = ((($$0)) + 53|0);
$265 = HEAP8[$264>>0]|0;
$266 = $265&255;
$267 = $266 << 16;
$268 = $267 | $263;
$269 = ((($$0)) + 54|0);
$270 = HEAP8[$269>>0]|0;
$271 = $270&255;
$272 = $271 << 8;
$273 = $268 | $272;
$274 = ((($$0)) + 55|0);
$275 = HEAP8[$274>>0]|0;
$276 = $275&255;
$277 = $273 | $276;
HEAP32[$24>>2] = $277;
$278 = ((($$0)) + 56|0);
$279 = HEAP8[$278>>0]|0;
$280 = $279&255;
$281 = $280 << 24;
$282 = ((($$0)) + 57|0);
$283 = HEAP8[$282>>0]|0;
$284 = $283&255;
$285 = $284 << 16;
$286 = $285 | $281;
$287 = ((($$0)) + 58|0);
$288 = HEAP8[$287>>0]|0;
$289 = $288&255;
$290 = $289 << 8;
$291 = $286 | $290;
$292 = ((($$0)) + 59|0);
$293 = HEAP8[$292>>0]|0;
$294 = $293&255;
$295 = $291 | $294;
HEAP32[$25>>2] = $295;
$296 = ((($$0)) + 60|0);
$297 = HEAP8[$296>>0]|0;
$298 = $297&255;
$299 = $298 << 24;
$300 = ((($$0)) + 61|0);
$301 = HEAP8[$300>>0]|0;
$302 = $301&255;
$303 = $302 << 16;
$304 = $303 | $299;
$305 = ((($$0)) + 62|0);
$306 = HEAP8[$305>>0]|0;
$307 = $306&255;
$308 = $307 << 8;
$309 = $304 | $308;
$310 = ((($$0)) + 63|0);
$311 = HEAP8[$310>>0]|0;
$312 = $311&255;
$313 = $309 | $312;
HEAP32[$26>>2] = $313;
$$110$i = 16;$342 = $43;
while(1) {
$314 = (($$110$i) + -2)|0;
$315 = (($3) + ($314<<2)|0);
$316 = HEAP32[$315>>2]|0;
$317 = $316 >>> 17;
$318 = $316 << 15;
$319 = $317 | $318;
$320 = $316 >>> 19;
$321 = $316 << 13;
$322 = $320 | $321;
$323 = $316 >>> 10;
$324 = $322 ^ $323;
$325 = $324 ^ $319;
$326 = (($$110$i) + -7)|0;
$327 = (($3) + ($326<<2)|0);
$328 = HEAP32[$327>>2]|0;
$329 = (($$110$i) + -15)|0;
$330 = (($3) + ($329<<2)|0);
$331 = HEAP32[$330>>2]|0;
$332 = $331 >>> 7;
$333 = $331 << 25;
$334 = $332 | $333;
$335 = $331 >>> 18;
$336 = $331 << 14;
$337 = $335 | $336;
$338 = $331 >>> 3;
$339 = $337 ^ $338;
$340 = $339 ^ $334;
$341 = (($328) + ($342))|0;
$343 = (($341) + ($325))|0;
$344 = (($343) + ($340))|0;
$345 = (($3) + ($$110$i<<2)|0);
HEAP32[$345>>2] = $344;
$346 = (($$110$i) + 1)|0;
$exitcond$i = ($346|0)==(64);
if ($exitcond$i) {
break;
} else {
$$110$i = $346;$342 = $331;
}
}
$$01858$i = $677;$$01867$i = $679;$$01876$i = $691;$$01885$i = $689;$$01894$i = $687;$$01903$i = $685;$$01912$i = $683;$$01921$i = $681;$$29$i = 0;
while(1) {
$347 = $$01903$i >>> 6;
$348 = $$01903$i << 26;
$349 = $347 | $348;
$350 = $$01903$i >>> 11;
$351 = $$01903$i << 21;
$352 = $350 | $351;
$353 = $349 ^ $352;
$354 = $$01903$i >>> 25;
$355 = $$01903$i << 7;
$356 = $354 | $355;
$357 = $353 ^ $356;
$358 = $$01894$i ^ $$01885$i;
$359 = $358 & $$01903$i;
$360 = $359 ^ $$01885$i;
$361 = (15440 + ($$29$i<<2)|0);
$362 = HEAP32[$361>>2]|0;
$363 = (($3) + ($$29$i<<2)|0);
$364 = HEAP32[$363>>2]|0;
$365 = (($360) + ($$01876$i))|0;
$366 = (($365) + ($362))|0;
$367 = (($366) + ($357))|0;
$368 = (($367) + ($364))|0;
$369 = $$01858$i >>> 2;
$370 = $$01858$i << 30;
$371 = $369 | $370;
$372 = $$01858$i >>> 13;
$373 = $$01858$i << 19;
$374 = $372 | $373;
$375 = $371 ^ $374;
$376 = $$01858$i >>> 22;
$377 = $$01858$i << 10;
$378 = $376 | $377;
$379 = $375 ^ $378;
$380 = $$01867$i & $$01858$i;
$381 = $$01867$i | $$01858$i;
$382 = $$01921$i & $381;
$383 = $382 | $380;
$384 = (($383) + ($379))|0;
$385 = (($368) + ($$01912$i))|0;
$386 = (($384) + ($368))|0;
$387 = $385 >>> 6;
$388 = $385 << 26;
$389 = $387 | $388;
$390 = $385 >>> 11;
$391 = $385 << 21;
$392 = $390 | $391;
$393 = $389 ^ $392;
$394 = $385 >>> 25;
$395 = $385 << 7;
$396 = $394 | $395;
$397 = $393 ^ $396;
$398 = $$01903$i ^ $$01894$i;
$399 = $385 & $398;
$400 = $399 ^ $$01894$i;
$401 = $$29$i | 1;
$402 = (15440 + ($401<<2)|0);
$403 = HEAP32[$402>>2]|0;
$404 = (($3) + ($401<<2)|0);
$405 = HEAP32[$404>>2]|0;
$406 = (($403) + ($$01885$i))|0;
$407 = (($406) + ($405))|0;
$408 = (($407) + ($400))|0;
$409 = (($408) + ($397))|0;
$410 = $386 >>> 2;
$411 = $386 << 30;
$412 = $410 | $411;
$413 = $386 >>> 13;
$414 = $386 << 19;
$415 = $413 | $414;
$416 = $412 ^ $415;
$417 = $386 >>> 22;
$418 = $386 << 10;
$419 = $417 | $418;
$420 = $416 ^ $419;
$421 = $386 & $$01858$i;
$422 = $386 | $$01858$i;
$423 = $422 & $$01867$i;
$424 = $423 | $421;
$425 = (($420) + ($424))|0;
$426 = (($409) + ($$01921$i))|0;
$427 = (($425) + ($409))|0;
$428 = $426 >>> 6;
$429 = $426 << 26;
$430 = $428 | $429;
$431 = $426 >>> 11;
$432 = $426 << 21;
$433 = $431 | $432;
$434 = $430 ^ $433;
$435 = $426 >>> 25;
$436 = $426 << 7;
$437 = $435 | $436;
$438 = $434 ^ $437;
$439 = $385 ^ $$01903$i;
$440 = $426 & $439;
$441 = $440 ^ $$01903$i;
$442 = $$29$i | 2;
$443 = (15440 + ($442<<2)|0);
$444 = HEAP32[$443>>2]|0;
$445 = (($3) + ($442<<2)|0);
$446 = HEAP32[$445>>2]|0;
$447 = (($444) + ($$01894$i))|0;
$448 = (($447) + ($446))|0;
$449 = (($448) + ($441))|0;
$450 = (($449) + ($438))|0;
$451 = $427 >>> 2;
$452 = $427 << 30;
$453 = $451 | $452;
$454 = $427 >>> 13;
$455 = $427 << 19;
$456 = $454 | $455;
$457 = $453 ^ $456;
$458 = $427 >>> 22;
$459 = $427 << 10;
$460 = $458 | $459;
$461 = $457 ^ $460;
$462 = $427 & $386;
$463 = $427 | $386;
$464 = $463 & $$01858$i;
$465 = $464 | $462;
$466 = (($461) + ($465))|0;
$467 = (($450) + ($$01867$i))|0;
$468 = (($466) + ($450))|0;
$469 = $467 >>> 6;
$470 = $467 << 26;
$471 = $469 | $470;
$472 = $467 >>> 11;
$473 = $467 << 21;
$474 = $472 | $473;
$475 = $471 ^ $474;
$476 = $467 >>> 25;
$477 = $467 << 7;
$478 = $476 | $477;
$479 = $475 ^ $478;
$480 = $426 ^ $385;
$481 = $467 & $480;
$482 = $481 ^ $385;
$483 = $$29$i | 3;
$484 = (15440 + ($483<<2)|0);
$485 = HEAP32[$484>>2]|0;
$486 = (($3) + ($483<<2)|0);
$487 = HEAP32[$486>>2]|0;
$488 = (($485) + ($$01903$i))|0;
$489 = (($488) + ($487))|0;
$490 = (($489) + ($482))|0;
$491 = (($490) + ($479))|0;
$492 = $468 >>> 2;
$493 = $468 << 30;
$494 = $492 | $493;
$495 = $468 >>> 13;
$496 = $468 << 19;
$497 = $495 | $496;
$498 = $494 ^ $497;
$499 = $468 >>> 22;
$500 = $468 << 10;
$501 = $499 | $500;
$502 = $498 ^ $501;
$503 = $468 & $427;
$504 = $468 | $427;
$505 = $504 & $386;
$506 = $505 | $503;
$507 = (($502) + ($506))|0;
$508 = (($491) + ($$01858$i))|0;
$509 = (($507) + ($491))|0;
$510 = $508 >>> 6;
$511 = $508 << 26;
$512 = $510 | $511;
$513 = $508 >>> 11;
$514 = $508 << 21;
$515 = $513 | $514;
$516 = $512 ^ $515;
$517 = $508 >>> 25;
$518 = $508 << 7;
$519 = $517 | $518;
$520 = $516 ^ $519;
$521 = $467 ^ $426;
$522 = $508 & $521;
$523 = $522 ^ $426;
$524 = $$29$i | 4;
$525 = (15440 + ($524<<2)|0);
$526 = HEAP32[$525>>2]|0;
$527 = (($3) + ($524<<2)|0);
$528 = HEAP32[$527>>2]|0;
$529 = (($526) + ($385))|0;
$530 = (($529) + ($528))|0;
$531 = (($530) + ($523))|0;
$532 = (($531) + ($520))|0;
$533 = $509 >>> 2;
$534 = $509 << 30;
$535 = $533 | $534;
$536 = $509 >>> 13;
$537 = $509 << 19;
$538 = $536 | $537;
$539 = $535 ^ $538;
$540 = $509 >>> 22;
$541 = $509 << 10;
$542 = $540 | $541;
$543 = $539 ^ $542;
$544 = $509 & $468;
$545 = $509 | $468;
$546 = $545 & $427;
$547 = $546 | $544;
$548 = (($543) + ($547))|0;
$549 = (($532) + ($386))|0;
$550 = (($548) + ($532))|0;
$551 = $549 >>> 6;
$552 = $549 << 26;
$553 = $551 | $552;
$554 = $549 >>> 11;
$555 = $549 << 21;
$556 = $554 | $555;
$557 = $553 ^ $556;
$558 = $549 >>> 25;
$559 = $549 << 7;
$560 = $558 | $559;
$561 = $557 ^ $560;
$562 = $508 ^ $467;
$563 = $549 & $562;
$564 = $563 ^ $467;
$565 = $$29$i | 5;
$566 = (15440 + ($565<<2)|0);
$567 = HEAP32[$566>>2]|0;
$568 = (($3) + ($565<<2)|0);
$569 = HEAP32[$568>>2]|0;
$570 = (($569) + ($567))|0;
$571 = (($570) + ($426))|0;
$572 = (($571) + ($564))|0;
$573 = (($572) + ($561))|0;
$574 = $550 >>> 2;
$575 = $550 << 30;
$576 = $574 | $575;
$577 = $550 >>> 13;
$578 = $550 << 19;
$579 = $577 | $578;
$580 = $576 ^ $579;
$581 = $550 >>> 22;
$582 = $550 << 10;
$583 = $581 | $582;
$584 = $580 ^ $583;
$585 = $550 & $509;
$586 = $550 | $509;
$587 = $586 & $468;
$588 = $587 | $585;
$589 = (($584) + ($588))|0;
$590 = (($573) + ($427))|0;
$591 = (($589) + ($573))|0;
$592 = $590 >>> 6;
$593 = $590 << 26;
$594 = $592 | $593;
$595 = $590 >>> 11;
$596 = $590 << 21;
$597 = $595 | $596;
$598 = $594 ^ $597;
$599 = $590 >>> 25;
$600 = $590 << 7;
$601 = $599 | $600;
$602 = $598 ^ $601;
$603 = $549 ^ $508;
$604 = $590 & $603;
$605 = $604 ^ $508;
$606 = $$29$i | 6;
$607 = (15440 + ($606<<2)|0);
$608 = HEAP32[$607>>2]|0;
$609 = (($3) + ($606<<2)|0);
$610 = HEAP32[$609>>2]|0;
$611 = (($610) + ($608))|0;
$612 = (($611) + ($467))|0;
$613 = (($612) + ($605))|0;
$614 = (($613) + ($602))|0;
$615 = $591 >>> 2;
$616 = $591 << 30;
$617 = $615 | $616;
$618 = $591 >>> 13;
$619 = $591 << 19;
$620 = $618 | $619;
$621 = $617 ^ $620;
$622 = $591 >>> 22;
$623 = $591 << 10;
$624 = $622 | $623;
$625 = $621 ^ $624;
$626 = $591 & $550;
$627 = $591 | $550;
$628 = $627 & $509;
$629 = $628 | $626;
$630 = (($625) + ($629))|0;
$631 = (($614) + ($468))|0;
$632 = (($630) + ($614))|0;
$633 = $631 >>> 6;
$634 = $631 << 26;
$635 = $633 | $634;
$636 = $631 >>> 11;
$637 = $631 << 21;
$638 = $636 | $637;
$639 = $635 ^ $638;
$640 = $631 >>> 25;
$641 = $631 << 7;
$642 = $640 | $641;
$643 = $639 ^ $642;
$644 = $590 ^ $549;
$645 = $631 & $644;
$646 = $645 ^ $549;
$647 = $$29$i | 7;
$648 = (15440 + ($647<<2)|0);
$649 = HEAP32[$648>>2]|0;
$650 = (($3) + ($647<<2)|0);
$651 = HEAP32[$650>>2]|0;
$652 = (($651) + ($649))|0;
$653 = (($652) + ($508))|0;
$654 = (($653) + ($646))|0;
$655 = (($654) + ($643))|0;
$656 = $632 >>> 2;
$657 = $632 << 30;
$658 = $656 | $657;
$659 = $632 >>> 13;
$660 = $632 << 19;
$661 = $659 | $660;
$662 = $658 ^ $661;
$663 = $632 >>> 22;
$664 = $632 << 10;
$665 = $663 | $664;
$666 = $662 ^ $665;
$667 = $632 & $591;
$668 = $632 | $591;
$669 = $668 & $550;
$670 = $669 | $667;
$671 = (($666) + ($670))|0;
$672 = (($655) + ($509))|0;
$673 = (($671) + ($655))|0;
$674 = (($$29$i) + 8)|0;
$675 = ($674>>>0)<(64);
if ($675) {
$$01858$i = $673;$$01867$i = $632;$$01876$i = $549;$$01885$i = $590;$$01894$i = $631;$$01903$i = $672;$$01912$i = $550;$$01921$i = $591;$$29$i = $674;
} else {
break;
}
}
$676 = (($673) + ($677))|0;
HEAP32[$4>>2] = $676;
$678 = (($632) + ($679))|0;
HEAP32[$5>>2] = $678;
$680 = (($591) + ($681))|0;
HEAP32[$6>>2] = $680;
$682 = (($550) + ($683))|0;
HEAP32[$7>>2] = $682;
$684 = (($672) + ($685))|0;
HEAP32[$8>>2] = $684;
$686 = (($631) + ($687))|0;
HEAP32[$9>>2] = $686;
$688 = (($590) + ($689))|0;
HEAP32[$10>>2] = $688;
$690 = (($549) + ($691))|0;
HEAP32[$11>>2] = $690;
$692 = ((($$0)) + 64|0);
$693 = (($$08) + -1)|0;
$694 = ($693|0)==(0);
if ($694) {
break;
} else {
$$0 = $692;$$08 = $693;$677 = $676;$679 = $678;$681 = $680;$683 = $682;$685 = $684;$687 = $686;$689 = $688;$691 = $690;
}
}
STACKTOP = sp;return 328;
}
function _sha256_init($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 160|0);
HEAP32[$2>>2] = 1779033703;
$3 = ((($0)) + 164|0);
HEAP32[$3>>2] = -1150833019;
$4 = ((($0)) + 168|0);
HEAP32[$4>>2] = 1013904242;
$5 = ((($0)) + 172|0);
HEAP32[$5>>2] = -1521486534;
$6 = ((($0)) + 176|0);
HEAP32[$6>>2] = 1359893119;
$7 = ((($0)) + 180|0);
HEAP32[$7>>2] = -1694144372;
$8 = ((($0)) + 184|0);
HEAP32[$8>>2] = 528734635;
$9 = ((($0)) + 188|0);
HEAP32[$9>>2] = 1541459225;
$10 = ((($0)) + 128|0);
$11 = ((($0)) + 148|0);
;HEAP32[$10>>2]=0|0;HEAP32[$10+4>>2]=0|0;HEAP32[$10+8>>2]=0|0;HEAP32[$10+12>>2]=0|0;HEAP32[$10+16>>2]=0|0;
HEAP32[$11>>2] = 64;
$12 = ((($0)) + 152|0);
HEAP32[$12>>2] = 79;
return;
}
function _sha512_init($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 160|0);
$3 = $2;
$4 = $3;
HEAP32[$4>>2] = -205731576;
$5 = (($3) + 4)|0;
$6 = $5;
HEAP32[$6>>2] = 1779033703;
$7 = ((($0)) + 168|0);
$8 = $7;
$9 = $8;
HEAP32[$9>>2] = -2067093701;
$10 = (($8) + 4)|0;
$11 = $10;
HEAP32[$11>>2] = -1150833019;
$12 = ((($0)) + 176|0);
$13 = $12;
$14 = $13;
HEAP32[$14>>2] = -23791573;
$15 = (($13) + 4)|0;
$16 = $15;
HEAP32[$16>>2] = 1013904242;
$17 = ((($0)) + 184|0);
$18 = $17;
$19 = $18;
HEAP32[$19>>2] = 1595750129;
$20 = (($18) + 4)|0;
$21 = $20;
HEAP32[$21>>2] = -1521486534;
$22 = ((($0)) + 192|0);
$23 = $22;
$24 = $23;
HEAP32[$24>>2] = -1377402159;
$25 = (($23) + 4)|0;
$26 = $25;
HEAP32[$26>>2] = 1359893119;
$27 = ((($0)) + 200|0);
$28 = $27;
$29 = $28;
HEAP32[$29>>2] = 725511199;
$30 = (($28) + 4)|0;
$31 = $30;
HEAP32[$31>>2] = -1694144372;
$32 = ((($0)) + 208|0);
$33 = $32;
$34 = $33;
HEAP32[$34>>2] = -79577749;
$35 = (($33) + 4)|0;
$36 = $35;
HEAP32[$36>>2] = 528734635;
$37 = ((($0)) + 216|0);
$38 = $37;
$39 = $38;
HEAP32[$39>>2] = 327033209;
$40 = (($38) + 4)|0;
$41 = $40;
HEAP32[$41>>2] = 1541459225;
$42 = ((($0)) + 128|0);
$43 = ((($0)) + 148|0);
;HEAP32[$42>>2]=0|0;HEAP32[$42+4>>2]=0|0;HEAP32[$42+8>>2]=0|0;HEAP32[$42+12>>2]=0|0;HEAP32[$42+16>>2]=0|0;
HEAP32[$43>>2] = 128;
$44 = ((($0)) + 152|0);
HEAP32[$44>>2] = 80;
return;
}
function _sha512_final($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0;
var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0;
var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0;
var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0;
var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0;
var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0;
var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0;
var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0;
var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0;
var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0;
var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0;
var stop = 0;
sp = STACKTOP;
__gcry_md_block_write($0,0,0);
$1 = ((($0)) + 128|0);
$2 = $1;
$3 = $2;
$4 = HEAP32[$3>>2]|0;
$5 = (($2) + 4)|0;
$6 = $5;
$7 = HEAP32[$6>>2]|0;
$8 = ((($0)) + 136|0);
$9 = $8;
$10 = $9;
$11 = HEAP32[$10>>2]|0;
$12 = (($9) + 4)|0;
$13 = $12;
$14 = HEAP32[$13>>2]|0;
$15 = (_bitshift64Shl(($4|0),($7|0),7)|0);
$16 = tempRet0;
$17 = (_bitshift64Shl(($11|0),($14|0),7)|0);
$18 = tempRet0;
$19 = (_bitshift64Lshr(($4|0),($7|0),57)|0);
$20 = tempRet0;
$21 = $17 | $19;
$22 = $18 | $20;
$23 = ((($0)) + 144|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($24|0)<(0);
$26 = $25 << 31 >> 31;
$27 = (_i64Add(($15|0),($16|0),($24|0),($26|0))|0);
$28 = tempRet0;
$29 = ($28>>>0)<($16>>>0);
$30 = ($27>>>0)<($15>>>0);
$31 = ($28|0)==($16|0);
$32 = $31 & $30;
$33 = $29 | $32;
$34 = $33&1;
$35 = (_i64Add(($21|0),($22|0),($34|0),0)|0);
$36 = tempRet0;
$37 = (_bitshift64Shl(($35|0),($36|0),3)|0);
$38 = tempRet0;
$39 = (_bitshift64Lshr(($27|0),($28|0),61)|0);
$40 = tempRet0;
$41 = $37 | $39;
$38 | $40;
$42 = ($24|0)<(112);
$43 = (($24) + 1)|0;
HEAP32[$23>>2] = $43;
$44 = (($0) + ($24)|0);
HEAP8[$44>>0] = -128;
$45 = HEAP32[$23>>2]|0;
if ($42) {
$46 = ($45|0)<(112);
if ($46) {
$48 = $45;
while(1) {
$47 = (($48) + 1)|0;
HEAP32[$23>>2] = $47;
$49 = (($0) + ($48)|0);
HEAP8[$49>>0] = 0;
$50 = HEAP32[$23>>2]|0;
$51 = ($50|0)<(112);
if ($51) {
$48 = $50;
} else {
break;
}
}
}
} else {
$52 = ($45|0)<(128);
if ($52) {
$54 = $45;
while(1) {
$53 = (($54) + 1)|0;
HEAP32[$23>>2] = $53;
$55 = (($0) + ($54)|0);
HEAP8[$55>>0] = 0;
$56 = HEAP32[$23>>2]|0;
$57 = ($56|0)<(128);
if ($57) {
$54 = $56;
} else {
break;
}
}
}
__gcry_md_block_write($0,0,0);
dest=$0; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
}
$58 = ((($0)) + 112|0);
$59 = (_bitshift64Lshr(($35|0),($36|0),53)|0);
$60 = tempRet0;
$61 = $59&255;
HEAP8[$58>>0] = $61;
$62 = (_bitshift64Lshr(($35|0),($36|0),45)|0);
$63 = tempRet0;
$64 = $62&255;
$65 = ((($0)) + 113|0);
HEAP8[$65>>0] = $64;
$66 = (_bitshift64Lshr(($35|0),($36|0),37)|0);
$67 = tempRet0;
$68 = $66&255;
$69 = ((($0)) + 114|0);
HEAP8[$69>>0] = $68;
$70 = (_bitshift64Lshr(($35|0),($36|0),29)|0);
$71 = tempRet0;
$72 = $70&255;
$73 = ((($0)) + 115|0);
HEAP8[$73>>0] = $72;
$74 = (_bitshift64Lshr(($35|0),($36|0),21)|0);
$75 = tempRet0;
$76 = $74&255;
$77 = ((($0)) + 116|0);
HEAP8[$77>>0] = $76;
$78 = (_bitshift64Lshr(($35|0),($36|0),13)|0);
$79 = tempRet0;
$80 = $78&255;
$81 = ((($0)) + 117|0);
HEAP8[$81>>0] = $80;
$82 = (_bitshift64Lshr(($35|0),($36|0),5)|0);
$83 = tempRet0;
$84 = $82&255;
$85 = ((($0)) + 118|0);
HEAP8[$85>>0] = $84;
$86 = $41&255;
$87 = ((($0)) + 119|0);
HEAP8[$87>>0] = $86;
$88 = ((($0)) + 120|0);
$89 = (_bitshift64Lshr(($27|0),($28|0),53)|0);
$90 = tempRet0;
$91 = $89&255;
HEAP8[$88>>0] = $91;
$92 = (_bitshift64Lshr(($27|0),($28|0),45)|0);
$93 = tempRet0;
$94 = $92&255;
$95 = ((($0)) + 121|0);
HEAP8[$95>>0] = $94;
$96 = (_bitshift64Lshr(($27|0),($28|0),37)|0);
$97 = tempRet0;
$98 = $96&255;
$99 = ((($0)) + 122|0);
HEAP8[$99>>0] = $98;
$100 = (_bitshift64Lshr(($27|0),($28|0),29)|0);
$101 = tempRet0;
$102 = $100&255;
$103 = ((($0)) + 123|0);
HEAP8[$103>>0] = $102;
$104 = (_bitshift64Lshr(($27|0),($28|0),21)|0);
$105 = tempRet0;
$106 = $104&255;
$107 = ((($0)) + 124|0);
HEAP8[$107>>0] = $106;
$108 = (_bitshift64Lshr(($27|0),($28|0),13)|0);
$109 = tempRet0;
$110 = $108&255;
$111 = ((($0)) + 125|0);
HEAP8[$111>>0] = $110;
$112 = (_bitshift64Lshr(($27|0),($28|0),5)|0);
$113 = tempRet0;
$114 = $112&255;
$115 = ((($0)) + 126|0);
HEAP8[$115>>0] = $114;
$116 = $27&255;
$117 = ($116 << 3)&255;
$118 = ((($0)) + 127|0);
HEAP8[$118>>0] = $117;
(_transform_1368($0,$0,1)|0);
___gcry_burn_stack(220);
$119 = ((($0)) + 160|0);
$120 = $119;
$121 = $120;
$122 = HEAP32[$121>>2]|0;
$123 = (($120) + 4)|0;
$124 = $123;
$125 = HEAP32[$124>>2]|0;
$126 = (_bitshift64Lshr(($122|0),($125|0),56)|0);
$127 = tempRet0;
$128 = $126&255;
HEAP8[$0>>0] = $128;
$129 = (_bitshift64Lshr(($122|0),($125|0),48)|0);
$130 = tempRet0;
$131 = $129&255;
$132 = ((($0)) + 1|0);
HEAP8[$132>>0] = $131;
$133 = (_bitshift64Lshr(($122|0),($125|0),40)|0);
$134 = tempRet0;
$135 = $133&255;
$136 = ((($0)) + 2|0);
HEAP8[$136>>0] = $135;
$137 = $125&255;
$138 = ((($0)) + 3|0);
HEAP8[$138>>0] = $137;
$139 = (_bitshift64Lshr(($122|0),($125|0),24)|0);
$140 = tempRet0;
$141 = $139&255;
$142 = ((($0)) + 4|0);
HEAP8[$142>>0] = $141;
$143 = (_bitshift64Lshr(($122|0),($125|0),16)|0);
$144 = tempRet0;
$145 = $143&255;
$146 = ((($0)) + 5|0);
HEAP8[$146>>0] = $145;
$147 = (_bitshift64Lshr(($122|0),($125|0),8)|0);
$148 = tempRet0;
$149 = $147&255;
$150 = ((($0)) + 6|0);
HEAP8[$150>>0] = $149;
$151 = $122&255;
$152 = ((($0)) + 7|0);
HEAP8[$152>>0] = $151;
$153 = ((($0)) + 8|0);
$154 = ((($0)) + 168|0);
$155 = $154;
$156 = $155;
$157 = HEAP32[$156>>2]|0;
$158 = (($155) + 4)|0;
$159 = $158;
$160 = HEAP32[$159>>2]|0;
$161 = (_bitshift64Lshr(($157|0),($160|0),56)|0);
$162 = tempRet0;
$163 = $161&255;
HEAP8[$153>>0] = $163;
$164 = (_bitshift64Lshr(($157|0),($160|0),48)|0);
$165 = tempRet0;
$166 = $164&255;
$167 = ((($0)) + 9|0);
HEAP8[$167>>0] = $166;
$168 = (_bitshift64Lshr(($157|0),($160|0),40)|0);
$169 = tempRet0;
$170 = $168&255;
$171 = ((($0)) + 10|0);
HEAP8[$171>>0] = $170;
$172 = $160&255;
$173 = ((($0)) + 11|0);
HEAP8[$173>>0] = $172;
$174 = (_bitshift64Lshr(($157|0),($160|0),24)|0);
$175 = tempRet0;
$176 = $174&255;
$177 = ((($0)) + 12|0);
HEAP8[$177>>0] = $176;
$178 = (_bitshift64Lshr(($157|0),($160|0),16)|0);
$179 = tempRet0;
$180 = $178&255;
$181 = ((($0)) + 13|0);
HEAP8[$181>>0] = $180;
$182 = (_bitshift64Lshr(($157|0),($160|0),8)|0);
$183 = tempRet0;
$184 = $182&255;
$185 = ((($0)) + 14|0);
HEAP8[$185>>0] = $184;
$186 = $157&255;
$187 = ((($0)) + 15|0);
HEAP8[$187>>0] = $186;
$188 = ((($0)) + 16|0);
$189 = ((($0)) + 176|0);
$190 = $189;
$191 = $190;
$192 = HEAP32[$191>>2]|0;
$193 = (($190) + 4)|0;
$194 = $193;
$195 = HEAP32[$194>>2]|0;
$196 = (_bitshift64Lshr(($192|0),($195|0),56)|0);
$197 = tempRet0;
$198 = $196&255;
HEAP8[$188>>0] = $198;
$199 = (_bitshift64Lshr(($192|0),($195|0),48)|0);
$200 = tempRet0;
$201 = $199&255;
$202 = ((($0)) + 17|0);
HEAP8[$202>>0] = $201;
$203 = (_bitshift64Lshr(($192|0),($195|0),40)|0);
$204 = tempRet0;
$205 = $203&255;
$206 = ((($0)) + 18|0);
HEAP8[$206>>0] = $205;
$207 = $195&255;
$208 = ((($0)) + 19|0);
HEAP8[$208>>0] = $207;
$209 = (_bitshift64Lshr(($192|0),($195|0),24)|0);
$210 = tempRet0;
$211 = $209&255;
$212 = ((($0)) + 20|0);
HEAP8[$212>>0] = $211;
$213 = (_bitshift64Lshr(($192|0),($195|0),16)|0);
$214 = tempRet0;
$215 = $213&255;
$216 = ((($0)) + 21|0);
HEAP8[$216>>0] = $215;
$217 = (_bitshift64Lshr(($192|0),($195|0),8)|0);
$218 = tempRet0;
$219 = $217&255;
$220 = ((($0)) + 22|0);
HEAP8[$220>>0] = $219;
$221 = $192&255;
$222 = ((($0)) + 23|0);
HEAP8[$222>>0] = $221;
$223 = ((($0)) + 24|0);
$224 = ((($0)) + 184|0);
$225 = $224;
$226 = $225;
$227 = HEAP32[$226>>2]|0;
$228 = (($225) + 4)|0;
$229 = $228;
$230 = HEAP32[$229>>2]|0;
$231 = (_bitshift64Lshr(($227|0),($230|0),56)|0);
$232 = tempRet0;
$233 = $231&255;
HEAP8[$223>>0] = $233;
$234 = (_bitshift64Lshr(($227|0),($230|0),48)|0);
$235 = tempRet0;
$236 = $234&255;
$237 = ((($0)) + 25|0);
HEAP8[$237>>0] = $236;
$238 = (_bitshift64Lshr(($227|0),($230|0),40)|0);
$239 = tempRet0;
$240 = $238&255;
$241 = ((($0)) + 26|0);
HEAP8[$241>>0] = $240;
$242 = $230&255;
$243 = ((($0)) + 27|0);
HEAP8[$243>>0] = $242;
$244 = (_bitshift64Lshr(($227|0),($230|0),24)|0);
$245 = tempRet0;
$246 = $244&255;
$247 = ((($0)) + 28|0);
HEAP8[$247>>0] = $246;
$248 = (_bitshift64Lshr(($227|0),($230|0),16)|0);
$249 = tempRet0;
$250 = $248&255;
$251 = ((($0)) + 29|0);
HEAP8[$251>>0] = $250;
$252 = (_bitshift64Lshr(($227|0),($230|0),8)|0);
$253 = tempRet0;
$254 = $252&255;
$255 = ((($0)) + 30|0);
HEAP8[$255>>0] = $254;
$256 = $227&255;
$257 = ((($0)) + 31|0);
HEAP8[$257>>0] = $256;
$258 = ((($0)) + 32|0);
$259 = ((($0)) + 192|0);
$260 = $259;
$261 = $260;
$262 = HEAP32[$261>>2]|0;
$263 = (($260) + 4)|0;
$264 = $263;
$265 = HEAP32[$264>>2]|0;
$266 = (_bitshift64Lshr(($262|0),($265|0),56)|0);
$267 = tempRet0;
$268 = $266&255;
HEAP8[$258>>0] = $268;
$269 = (_bitshift64Lshr(($262|0),($265|0),48)|0);
$270 = tempRet0;
$271 = $269&255;
$272 = ((($0)) + 33|0);
HEAP8[$272>>0] = $271;
$273 = (_bitshift64Lshr(($262|0),($265|0),40)|0);
$274 = tempRet0;
$275 = $273&255;
$276 = ((($0)) + 34|0);
HEAP8[$276>>0] = $275;
$277 = $265&255;
$278 = ((($0)) + 35|0);
HEAP8[$278>>0] = $277;
$279 = (_bitshift64Lshr(($262|0),($265|0),24)|0);
$280 = tempRet0;
$281 = $279&255;
$282 = ((($0)) + 36|0);
HEAP8[$282>>0] = $281;
$283 = (_bitshift64Lshr(($262|0),($265|0),16)|0);
$284 = tempRet0;
$285 = $283&255;
$286 = ((($0)) + 37|0);
HEAP8[$286>>0] = $285;
$287 = (_bitshift64Lshr(($262|0),($265|0),8)|0);
$288 = tempRet0;
$289 = $287&255;
$290 = ((($0)) + 38|0);
HEAP8[$290>>0] = $289;
$291 = $262&255;
$292 = ((($0)) + 39|0);
HEAP8[$292>>0] = $291;
$293 = ((($0)) + 40|0);
$294 = ((($0)) + 200|0);
$295 = $294;
$296 = $295;
$297 = HEAP32[$296>>2]|0;
$298 = (($295) + 4)|0;
$299 = $298;
$300 = HEAP32[$299>>2]|0;
$301 = (_bitshift64Lshr(($297|0),($300|0),56)|0);
$302 = tempRet0;
$303 = $301&255;
HEAP8[$293>>0] = $303;
$304 = (_bitshift64Lshr(($297|0),($300|0),48)|0);
$305 = tempRet0;
$306 = $304&255;
$307 = ((($0)) + 41|0);
HEAP8[$307>>0] = $306;
$308 = (_bitshift64Lshr(($297|0),($300|0),40)|0);
$309 = tempRet0;
$310 = $308&255;
$311 = ((($0)) + 42|0);
HEAP8[$311>>0] = $310;
$312 = $300&255;
$313 = ((($0)) + 43|0);
HEAP8[$313>>0] = $312;
$314 = (_bitshift64Lshr(($297|0),($300|0),24)|0);
$315 = tempRet0;
$316 = $314&255;
$317 = ((($0)) + 44|0);
HEAP8[$317>>0] = $316;
$318 = (_bitshift64Lshr(($297|0),($300|0),16)|0);
$319 = tempRet0;
$320 = $318&255;
$321 = ((($0)) + 45|0);
HEAP8[$321>>0] = $320;
$322 = (_bitshift64Lshr(($297|0),($300|0),8)|0);
$323 = tempRet0;
$324 = $322&255;
$325 = ((($0)) + 46|0);
HEAP8[$325>>0] = $324;
$326 = $297&255;
$327 = ((($0)) + 47|0);
HEAP8[$327>>0] = $326;
$328 = ((($0)) + 48|0);
$329 = ((($0)) + 208|0);
$330 = $329;
$331 = $330;
$332 = HEAP32[$331>>2]|0;
$333 = (($330) + 4)|0;
$334 = $333;
$335 = HEAP32[$334>>2]|0;
$336 = (_bitshift64Lshr(($332|0),($335|0),56)|0);
$337 = tempRet0;
$338 = $336&255;
HEAP8[$328>>0] = $338;
$339 = (_bitshift64Lshr(($332|0),($335|0),48)|0);
$340 = tempRet0;
$341 = $339&255;
$342 = ((($0)) + 49|0);
HEAP8[$342>>0] = $341;
$343 = (_bitshift64Lshr(($332|0),($335|0),40)|0);
$344 = tempRet0;
$345 = $343&255;
$346 = ((($0)) + 50|0);
HEAP8[$346>>0] = $345;
$347 = $335&255;
$348 = ((($0)) + 51|0);
HEAP8[$348>>0] = $347;
$349 = (_bitshift64Lshr(($332|0),($335|0),24)|0);
$350 = tempRet0;
$351 = $349&255;
$352 = ((($0)) + 52|0);
HEAP8[$352>>0] = $351;
$353 = (_bitshift64Lshr(($332|0),($335|0),16)|0);
$354 = tempRet0;
$355 = $353&255;
$356 = ((($0)) + 53|0);
HEAP8[$356>>0] = $355;
$357 = (_bitshift64Lshr(($332|0),($335|0),8)|0);
$358 = tempRet0;
$359 = $357&255;
$360 = ((($0)) + 54|0);
HEAP8[$360>>0] = $359;
$361 = $332&255;
$362 = ((($0)) + 55|0);
HEAP8[$362>>0] = $361;
$363 = ((($0)) + 56|0);
$364 = ((($0)) + 216|0);
$365 = $364;
$366 = $365;
$367 = HEAP32[$366>>2]|0;
$368 = (($365) + 4)|0;
$369 = $368;
$370 = HEAP32[$369>>2]|0;
$371 = (_bitshift64Lshr(($367|0),($370|0),56)|0);
$372 = tempRet0;
$373 = $371&255;
HEAP8[$363>>0] = $373;
$374 = (_bitshift64Lshr(($367|0),($370|0),48)|0);
$375 = tempRet0;
$376 = $374&255;
$377 = ((($0)) + 57|0);
HEAP8[$377>>0] = $376;
$378 = (_bitshift64Lshr(($367|0),($370|0),40)|0);
$379 = tempRet0;
$380 = $378&255;
$381 = ((($0)) + 58|0);
HEAP8[$381>>0] = $380;
$382 = $370&255;
$383 = ((($0)) + 59|0);
HEAP8[$383>>0] = $382;
$384 = (_bitshift64Lshr(($367|0),($370|0),24)|0);
$385 = tempRet0;
$386 = $384&255;
$387 = ((($0)) + 60|0);
HEAP8[$387>>0] = $386;
$388 = (_bitshift64Lshr(($367|0),($370|0),16)|0);
$389 = tempRet0;
$390 = $388&255;
$391 = ((($0)) + 61|0);
HEAP8[$391>>0] = $390;
$392 = (_bitshift64Lshr(($367|0),($370|0),8)|0);
$393 = tempRet0;
$394 = $392&255;
$395 = ((($0)) + 62|0);
HEAP8[$395>>0] = $394;
$396 = $367&255;
$397 = ((($0)) + 63|0);
HEAP8[$397>>0] = $396;
return;
}
function _sha512_read($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return ($0|0);
}
function _run_selftests_1355($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$i = 0, $$0$i7 = 0, $$011$i = 0, $$011$i6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
switch ($0|0) {
case 9: {
$3 = (__gcry_hash_selftest_check_one(9,0,62920,3,62924,48)|0);
$4 = ($3|0)==(0|0);
if ($4) {
$5 = ($1|0)==(0);
if ($5) {
$$0 = 0;
return ($$0|0);
}
$6 = (__gcry_hash_selftest_check_one(9,0,62973,112,63086,48)|0);
$7 = ($6|0)==(0|0);
if ($7) {
$8 = (__gcry_hash_selftest_check_one(9,1,0,0,63135,48)|0);
$9 = ($8|0)==(0|0);
if ($9) {
$$0 = 0;
return ($$0|0);
} else {
$$0$i = $8;$$011$i = 63209;
}
} else {
$$0$i = $6;$$011$i = 63197;
}
} else {
$$0$i = $3;$$011$i = 63184;
}
$10 = ($2|0)==(0|0);
if ($10) {
$$0 = 50;
return ($$0|0);
}
FUNCTION_TABLE_viiii[$2 & 63](63225,9,$$011$i,$$0$i);
$$0 = 50;
return ($$0|0);
break;
}
case 10: {
$11 = (__gcry_hash_selftest_check_one(10,0,62920,3,63232,64)|0);
$12 = ($11|0)==(0|0);
if ($12) {
$13 = ($1|0)==(0);
if ($13) {
$$0 = 0;
return ($$0|0);
}
$14 = (__gcry_hash_selftest_check_one(10,0,62973,112,63297,64)|0);
$15 = ($14|0)==(0|0);
if ($15) {
$16 = (__gcry_hash_selftest_check_one(10,1,0,0,63362,64)|0);
$17 = ($16|0)==(0|0);
if ($17) {
$$0 = 0;
return ($$0|0);
} else {
$$0$i7 = $16;$$011$i6 = 63209;
}
} else {
$$0$i7 = $14;$$011$i6 = 63197;
}
} else {
$$0$i7 = $11;$$011$i6 = 63184;
}
$18 = ($2|0)==(0|0);
if ($18) {
$$0 = 50;
return ($$0|0);
}
FUNCTION_TABLE_viiii[$2 & 63](63225,10,$$011$i6,$$0$i7);
$$0 = 50;
return ($$0|0);
break;
}
default: {
$$0 = 5;
return ($$0|0);
}
}
return (0)|0;
}
function _transform_1368($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$051156$i = 0, $$08 = 0, $$151221$i = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0;
var $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0;
var $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0;
var $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0;
var $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0;
var $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0;
var $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0;
var $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0;
var $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0;
var $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0;
var $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0;
var $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0;
var $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0;
var $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0;
var $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0;
var $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0;
var $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0;
var $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0;
var $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0;
var $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0;
var $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0;
var $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0;
var $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0;
var $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0;
var $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0;
var $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0;
var $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0;
var $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0;
var $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0;
var $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0;
var $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0;
var $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0;
var $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0;
var $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0;
var $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0;
var $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0;
var $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0;
var $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0;
var $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0;
var $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0;
var $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0;
var $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0;
var $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0;
var $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0;
var $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0;
var $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0;
var $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0;
var $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0;
var $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0;
var $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0;
var $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0;
var $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0;
var $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0;
var $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0;
var $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0;
var $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0;
var $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0;
var $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0;
var $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0;
var $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0;
var $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0;
var $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0;
var $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0;
var $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0;
var $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0;
var $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0;
var $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0;
var $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0;
var $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0;
var $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0;
var $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0;
var $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0;
var $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0;
var $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0;
var $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0;
var $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0;
var $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0;
var $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0;
var $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0;
var $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0;
var $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0;
var $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0;
var $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0;
var $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0;
var $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0;
var $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0;
var $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0;
var $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0;
var $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0;
var $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0;
var $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0;
var $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0;
var $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0;
var $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0;
var $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0;
var $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0;
var $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0;
var $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0;
var $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0;
var $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0;
var $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0;
var $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0;
var $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0;
var $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0;
var $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0;
var $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0;
var $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0;
var $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0;
var $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0;
var $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0;
var $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0;
var $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0;
var $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0;
var $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0, $3046 = 0, $3047 = 0, $3048 = 0;
var $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0;
var $3067 = 0, $3068 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0, $3081 = 0, $3082 = 0, $3083 = 0, $3084 = 0;
var $3085 = 0, $3086 = 0, $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $310 = 0, $3100 = 0, $3101 = 0;
var $3102 = 0, $3103 = 0, $3104 = 0, $3105 = 0, $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0, $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0, $312 = 0;
var $3120 = 0, $3121 = 0, $3122 = 0, $3123 = 0, $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0, $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0, $3135 = 0, $3136 = 0, $3137 = 0, $3138 = 0;
var $3139 = 0, $314 = 0, $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0;
var $3157 = 0, $3158 = 0, $3159 = 0, $316 = 0, $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0, $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0, $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0;
var $3175 = 0, $3176 = 0, $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0;
var $3193 = 0, $3194 = 0, $3195 = 0, $3196 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0, $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0;
var $3210 = 0, $3211 = 0, $3212 = 0, $3213 = 0, $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0, $3225 = 0, $3226 = 0, $3227 = 0, $3228 = 0;
var $3229 = 0, $323 = 0, $3230 = 0, $3231 = 0, $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0, $3243 = 0, $3244 = 0, $3245 = 0, $3246 = 0;
var $3247 = 0, $3248 = 0, $3249 = 0, $325 = 0, $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0, $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0, $3264 = 0;
var $3265 = 0, $3266 = 0, $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0, $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0, $328 = 0, $3280 = 0, $3281 = 0, $3282 = 0;
var $3283 = 0, $3284 = 0, $3285 = 0, $3286 = 0, $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $33 = 0, $330 = 0;
var $3300 = 0, $3301 = 0, $3302 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0, $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3316 = 0, $3317 = 0, $3318 = 0;
var $3319 = 0, $332 = 0, $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0, $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3334 = 0, $3335 = 0, $3336 = 0;
var $3337 = 0, $3338 = 0, $3339 = 0, $334 = 0, $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0, $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0, $3351 = 0, $3352 = 0, $3353 = 0, $3354 = 0;
var $3355 = 0, $3356 = 0, $3357 = 0, $3358 = 0, $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0, $337 = 0, $3370 = 0, $3371 = 0, $3372 = 0;
var $3373 = 0, $3374 = 0, $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0, $3388 = 0, $3389 = 0, $339 = 0, $3390 = 0;
var $3391 = 0, $3392 = 0, $3393 = 0, $3394 = 0, $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0, $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0, $3408 = 0;
var $3409 = 0, $341 = 0, $3410 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0, $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0, $3423 = 0, $3424 = 0, $3425 = 0, $3426 = 0;
var $3427 = 0, $3428 = 0, $3429 = 0, $343 = 0, $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0, $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0, $3441 = 0, $3442 = 0, $3443 = 0, $3444 = 0;
var $3445 = 0, $3446 = 0, $3447 = 0, $3448 = 0, $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3460 = 0, $3461 = 0, $3462 = 0;
var $3463 = 0, $3464 = 0, $3465 = 0, $3466 = 0, $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $348 = 0, $3480 = 0;
var $3481 = 0, $3482 = 0, $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0, $3496 = 0, $3497 = 0, $3498 = 0, $3499 = 0;
var $35 = 0, $350 = 0, $3500 = 0, $3501 = 0, $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0, $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0, $3513 = 0, $3514 = 0, $3515 = 0, $3516 = 0;
var $3517 = 0, $3518 = 0, $3519 = 0, $352 = 0, $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0, $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0, $3531 = 0, $3532 = 0, $3533 = 0, $3534 = 0;
var $3535 = 0, $3536 = 0, $3537 = 0, $3538 = 0, $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0, $355 = 0, $3550 = 0, $3551 = 0, $3552 = 0;
var $3553 = 0, $3554 = 0, $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0;
var $3571 = 0, $3572 = 0, $3573 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0;
var $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0;
var $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0;
var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0;
var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0;
var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0;
var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0;
var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0;
var $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0;
var $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0;
var $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0;
var $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0;
var $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0;
var $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0;
var $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0;
var $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0;
var $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0;
var $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0;
var $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0;
var $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0;
var $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0;
var $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0;
var $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0;
var $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0;
var $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0;
var $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0;
var $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0;
var $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0;
var $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0;
var $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0;
var $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0;
var $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0;
var $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0;
var $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0;
var $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0;
var $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $exitcond$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$3 = sp;
$4 = ((($0)) + 160|0);
$5 = ((($0)) + 168|0);
$6 = ((($0)) + 176|0);
$7 = ((($0)) + 184|0);
$8 = ((($0)) + 192|0);
$9 = ((($0)) + 200|0);
$10 = ((($0)) + 208|0);
$11 = ((($0)) + 216|0);
$12 = ((($3)) + 112|0);
$13 = ((($3)) + 72|0);
$14 = ((($3)) + 8|0);
$15 = ((($3)) + 120|0);
$16 = ((($3)) + 80|0);
$17 = ((($3)) + 16|0);
$18 = ((($3)) + 88|0);
$19 = ((($3)) + 24|0);
$20 = ((($3)) + 96|0);
$21 = ((($3)) + 32|0);
$22 = ((($3)) + 104|0);
$23 = ((($3)) + 40|0);
$24 = ((($3)) + 48|0);
$25 = ((($3)) + 56|0);
$26 = ((($3)) + 64|0);
$27 = $4;
$28 = $27;
$29 = HEAP32[$28>>2]|0;
$30 = (($27) + 4)|0;
$31 = $30;
$32 = HEAP32[$31>>2]|0;
$33 = $5;
$34 = $33;
$35 = HEAP32[$34>>2]|0;
$36 = (($33) + 4)|0;
$37 = $36;
$38 = HEAP32[$37>>2]|0;
$39 = $6;
$40 = $39;
$41 = HEAP32[$40>>2]|0;
$42 = (($39) + 4)|0;
$43 = $42;
$44 = HEAP32[$43>>2]|0;
$45 = $7;
$46 = $45;
$47 = HEAP32[$46>>2]|0;
$48 = (($45) + 4)|0;
$49 = $48;
$50 = HEAP32[$49>>2]|0;
$51 = $8;
$52 = $51;
$53 = HEAP32[$52>>2]|0;
$54 = (($51) + 4)|0;
$55 = $54;
$56 = HEAP32[$55>>2]|0;
$57 = $9;
$58 = $57;
$59 = HEAP32[$58>>2]|0;
$60 = (($57) + 4)|0;
$61 = $60;
$62 = HEAP32[$61>>2]|0;
$63 = $10;
$64 = $63;
$65 = HEAP32[$64>>2]|0;
$66 = (($63) + 4)|0;
$67 = $66;
$68 = HEAP32[$67>>2]|0;
$69 = $11;
$70 = $69;
$71 = HEAP32[$70>>2]|0;
$72 = (($69) + 4)|0;
$73 = $72;
$74 = HEAP32[$73>>2]|0;
$$0 = $1;$$08 = $2;$3501 = $29;$3502 = $32;$3513 = $35;$3514 = $38;$3521 = $41;$3522 = $44;$3529 = $47;$3530 = $50;$3537 = $53;$3538 = $56;$3547 = $59;$3548 = $62;$3555 = $65;$3556 = $68;$3563 = $71;$3564 = $74;
while(1) {
$$051156$i = 0;
while(1) {
$75 = $$051156$i << 3;
$76 = (($$0) + ($75)|0);
$77 = HEAP8[$76>>0]|0;
$78 = $77&255;
$79 = (_bitshift64Shl(($78|0),0,56)|0);
$80 = tempRet0;
$81 = ((($76)) + 1|0);
$82 = HEAP8[$81>>0]|0;
$83 = $82&255;
$84 = (_bitshift64Shl(($83|0),0,48)|0);
$85 = tempRet0;
$86 = $84 | $79;
$87 = $85 | $80;
$88 = ((($76)) + 2|0);
$89 = HEAP8[$88>>0]|0;
$90 = $89&255;
$91 = (_bitshift64Shl(($90|0),0,40)|0);
$92 = tempRet0;
$93 = $86 | $91;
$94 = $87 | $92;
$95 = ((($76)) + 3|0);
$96 = HEAP8[$95>>0]|0;
$97 = $96&255;
$98 = $94 | $97;
$99 = ((($76)) + 4|0);
$100 = HEAP8[$99>>0]|0;
$101 = $100&255;
$102 = (_bitshift64Shl(($101|0),0,24)|0);
$103 = tempRet0;
$104 = $93 | $102;
$105 = $98 | $103;
$106 = ((($76)) + 5|0);
$107 = HEAP8[$106>>0]|0;
$108 = $107&255;
$109 = (_bitshift64Shl(($108|0),0,16)|0);
$110 = tempRet0;
$111 = $104 | $109;
$112 = $105 | $110;
$113 = ((($76)) + 6|0);
$114 = HEAP8[$113>>0]|0;
$115 = $114&255;
$116 = (_bitshift64Shl(($115|0),0,8)|0);
$117 = tempRet0;
$118 = $111 | $116;
$119 = $112 | $117;
$120 = ((($76)) + 7|0);
$121 = HEAP8[$120>>0]|0;
$122 = $121&255;
$123 = $118 | $122;
$124 = (($3) + ($$051156$i<<3)|0);
$125 = $124;
$126 = $125;
HEAP32[$126>>2] = $123;
$127 = (($125) + 4)|0;
$128 = $127;
HEAP32[$128>>2] = $119;
$129 = (($$051156$i) + 1)|0;
$exitcond$i = ($129|0)==(16);
if ($exitcond$i) {
break;
} else {
$$051156$i = $129;
}
}
$130 = $3;
$131 = $130;
$132 = HEAP32[$131>>2]|0;
$133 = (($130) + 4)|0;
$134 = $133;
$135 = HEAP32[$134>>2]|0;
$136 = $12;
$137 = $136;
$138 = HEAP32[$137>>2]|0;
$139 = (($136) + 4)|0;
$140 = $139;
$141 = HEAP32[$140>>2]|0;
$142 = $13;
$143 = $142;
$144 = HEAP32[$143>>2]|0;
$145 = (($142) + 4)|0;
$146 = $145;
$147 = HEAP32[$146>>2]|0;
$148 = $14;
$149 = $148;
$150 = HEAP32[$149>>2]|0;
$151 = (($148) + 4)|0;
$152 = $151;
$153 = HEAP32[$152>>2]|0;
$154 = $15;
$155 = $154;
$156 = HEAP32[$155>>2]|0;
$157 = (($154) + 4)|0;
$158 = $157;
$159 = HEAP32[$158>>2]|0;
$160 = $16;
$161 = $160;
$162 = HEAP32[$161>>2]|0;
$163 = (($160) + 4)|0;
$164 = $163;
$165 = HEAP32[$164>>2]|0;
$166 = $17;
$167 = $166;
$168 = HEAP32[$167>>2]|0;
$169 = (($166) + 4)|0;
$170 = $169;
$171 = HEAP32[$170>>2]|0;
$172 = $18;
$173 = $172;
$174 = HEAP32[$173>>2]|0;
$175 = (($172) + 4)|0;
$176 = $175;
$177 = HEAP32[$176>>2]|0;
$178 = $19;
$179 = $178;
$180 = HEAP32[$179>>2]|0;
$181 = (($178) + 4)|0;
$182 = $181;
$183 = HEAP32[$182>>2]|0;
$184 = $20;
$185 = $184;
$186 = HEAP32[$185>>2]|0;
$187 = (($184) + 4)|0;
$188 = $187;
$189 = HEAP32[$188>>2]|0;
$190 = $21;
$191 = $190;
$192 = HEAP32[$191>>2]|0;
$193 = (($190) + 4)|0;
$194 = $193;
$195 = HEAP32[$194>>2]|0;
$196 = $22;
$197 = $196;
$198 = HEAP32[$197>>2]|0;
$199 = (($196) + 4)|0;
$200 = $199;
$201 = HEAP32[$200>>2]|0;
$202 = $23;
$203 = $202;
$204 = HEAP32[$203>>2]|0;
$205 = (($202) + 4)|0;
$206 = $205;
$207 = HEAP32[$206>>2]|0;
$208 = $24;
$209 = $208;
$210 = HEAP32[$209>>2]|0;
$211 = (($208) + 4)|0;
$212 = $211;
$213 = HEAP32[$212>>2]|0;
$214 = $25;
$215 = $214;
$216 = HEAP32[$215>>2]|0;
$217 = (($214) + 4)|0;
$218 = $217;
$219 = HEAP32[$218>>2]|0;
$220 = $26;
$221 = $220;
$222 = HEAP32[$221>>2]|0;
$223 = (($220) + 4)|0;
$224 = $223;
$225 = HEAP32[$224>>2]|0;
$$151221$i = 0;$1077 = $216;$1078 = $219;$1203 = $222;$1204 = $225;$226 = $3537;$227 = $3538;$251 = $3547;$253 = $3548;$257 = $3555;$259 = $3556;$269 = $3563;$270 = $3564;$271 = $132;$272 = $135;$281 = $138;$282 = $141;$301 = $150;$302 = $153;$321 = $144;$322 = $147;$329 = $3501;$330 = $3502;$354 = $3521;$355 = $3513;$357 = $3522;$358 = $3514;$367 = $3529;$368 = $3530;$419 = $156;$420 = $159;$439 = $168;$440 = $171;$459 = $162;$460 = $165;$567 = $180;$568 = $183;$587 = $174;$588 = $177;$695 = $192;$696 = $195;$715 = $186;$716 = $189;$823 = $204;$824 = $207;$843 = $198;$844 = $201;$951 = $210;$952 = $213;
while(1) {
$228 = (_bitshift64Lshr(($226|0),($227|0),14)|0);
$229 = tempRet0;
$230 = (_bitshift64Shl(($226|0),($227|0),50)|0);
$231 = tempRet0;
$232 = $230 | $228;
$233 = $231 | $229;
$234 = (_bitshift64Lshr(($226|0),($227|0),18)|0);
$235 = tempRet0;
$236 = (_bitshift64Shl(($226|0),($227|0),46)|0);
$237 = tempRet0;
$238 = $236 | $234;
$239 = $237 | $235;
$240 = $232 ^ $238;
$241 = $233 ^ $239;
$242 = (_bitshift64Lshr(($226|0),($227|0),41)|0);
$243 = tempRet0;
$244 = (_bitshift64Shl(($226|0),($227|0),23)|0);
$245 = tempRet0;
$246 = $244 | $242;
$247 = $245 | $243;
$248 = $240 ^ $246;
$249 = $241 ^ $247;
$250 = $226 & $251;
$252 = $227 & $253;
$254 = $226 ^ -1;
$255 = $227 ^ -1;
$256 = $257 & $254;
$258 = $259 & $255;
$260 = $256 ^ $250;
$261 = $258 ^ $252;
$262 = (8128 + ($$151221$i<<3)|0);
$263 = $262;
$264 = $263;
$265 = HEAP32[$264>>2]|0;
$266 = (($263) + 4)|0;
$267 = $266;
$268 = HEAP32[$267>>2]|0;
$273 = (_i64Add(($269|0),($270|0),($271|0),($272|0))|0);
$274 = tempRet0;
$275 = (_i64Add(($273|0),($274|0),($265|0),($268|0))|0);
$276 = tempRet0;
$277 = (_i64Add(($275|0),($276|0),($260|0),($261|0))|0);
$278 = tempRet0;
$279 = (_i64Add(($277|0),($278|0),($248|0),($249|0))|0);
$280 = tempRet0;
$283 = (_bitshift64Lshr(($281|0),($282|0),19)|0);
$284 = tempRet0;
$285 = (_bitshift64Shl(($281|0),($282|0),45)|0);
$286 = tempRet0;
$287 = $285 | $283;
$288 = $286 | $284;
$289 = (_bitshift64Lshr(($281|0),($282|0),61)|0);
$290 = tempRet0;
$291 = (_bitshift64Shl(($281|0),($282|0),3)|0);
$292 = tempRet0;
$293 = $291 | $289;
$294 = $292 | $290;
$295 = (_bitshift64Lshr(($281|0),($282|0),6)|0);
$296 = tempRet0;
$297 = $293 ^ $295;
$298 = $294 ^ $296;
$299 = $297 ^ $287;
$300 = $298 ^ $288;
$303 = (_bitshift64Lshr(($301|0),($302|0),1)|0);
$304 = tempRet0;
$305 = (_bitshift64Shl(($301|0),($302|0),63)|0);
$306 = tempRet0;
$307 = $305 | $303;
$308 = $306 | $304;
$309 = (_bitshift64Lshr(($301|0),($302|0),8)|0);
$310 = tempRet0;
$311 = (_bitshift64Shl(($301|0),($302|0),56)|0);
$312 = tempRet0;
$313 = $311 | $309;
$314 = $312 | $310;
$315 = (_bitshift64Lshr(($301|0),($302|0),7)|0);
$316 = tempRet0;
$317 = $313 ^ $315;
$318 = $314 ^ $316;
$319 = $317 ^ $307;
$320 = $318 ^ $308;
$323 = (_i64Add(($271|0),($272|0),($321|0),($322|0))|0);
$324 = tempRet0;
$325 = (_i64Add(($323|0),($324|0),($319|0),($320|0))|0);
$326 = tempRet0;
$327 = (_i64Add(($325|0),($326|0),($299|0),($300|0))|0);
$328 = tempRet0;
$331 = (_bitshift64Lshr(($329|0),($330|0),28)|0);
$332 = tempRet0;
$333 = (_bitshift64Shl(($329|0),($330|0),36)|0);
$334 = tempRet0;
$335 = $333 | $331;
$336 = $334 | $332;
$337 = (_bitshift64Lshr(($329|0),($330|0),34)|0);
$338 = tempRet0;
$339 = (_bitshift64Shl(($329|0),($330|0),30)|0);
$340 = tempRet0;
$341 = $339 | $337;
$342 = $340 | $338;
$343 = $335 ^ $341;
$344 = $336 ^ $342;
$345 = (_bitshift64Lshr(($329|0),($330|0),39)|0);
$346 = tempRet0;
$347 = (_bitshift64Shl(($329|0),($330|0),25)|0);
$348 = tempRet0;
$349 = $347 | $345;
$350 = $348 | $346;
$351 = $343 ^ $349;
$352 = $344 ^ $350;
$353 = $354 ^ $355;
$356 = $357 ^ $358;
$359 = $353 & $329;
$360 = $356 & $330;
$361 = $354 & $355;
$362 = $357 & $358;
$363 = $359 ^ $361;
$364 = $360 ^ $362;
$365 = (_i64Add(($363|0),($364|0),($351|0),($352|0))|0);
$366 = tempRet0;
$369 = (_i64Add(($279|0),($280|0),($367|0),($368|0))|0);
$370 = tempRet0;
$371 = (_i64Add(($365|0),($366|0),($279|0),($280|0))|0);
$372 = tempRet0;
$373 = (_bitshift64Lshr(($369|0),($370|0),14)|0);
$374 = tempRet0;
$375 = (_bitshift64Shl(($369|0),($370|0),50)|0);
$376 = tempRet0;
$377 = $375 | $373;
$378 = $376 | $374;
$379 = (_bitshift64Lshr(($369|0),($370|0),18)|0);
$380 = tempRet0;
$381 = (_bitshift64Shl(($369|0),($370|0),46)|0);
$382 = tempRet0;
$383 = $381 | $379;
$384 = $382 | $380;
$385 = $377 ^ $383;
$386 = $378 ^ $384;
$387 = (_bitshift64Lshr(($369|0),($370|0),41)|0);
$388 = tempRet0;
$389 = (_bitshift64Shl(($369|0),($370|0),23)|0);
$390 = tempRet0;
$391 = $389 | $387;
$392 = $390 | $388;
$393 = $385 ^ $391;
$394 = $386 ^ $392;
$395 = $369 & $226;
$396 = $370 & $227;
$397 = $369 ^ -1;
$398 = $370 ^ -1;
$399 = $251 & $397;
$400 = $253 & $398;
$401 = $399 ^ $395;
$402 = $400 ^ $396;
$403 = $$151221$i | 1;
$404 = (8128 + ($403<<3)|0);
$405 = $404;
$406 = $405;
$407 = HEAP32[$406>>2]|0;
$408 = (($405) + 4)|0;
$409 = $408;
$410 = HEAP32[$409>>2]|0;
$411 = (_i64Add(($257|0),($259|0),($301|0),($302|0))|0);
$412 = tempRet0;
$413 = (_i64Add(($411|0),($412|0),($407|0),($410|0))|0);
$414 = tempRet0;
$415 = (_i64Add(($413|0),($414|0),($401|0),($402|0))|0);
$416 = tempRet0;
$417 = (_i64Add(($415|0),($416|0),($393|0),($394|0))|0);
$418 = tempRet0;
$421 = (_bitshift64Lshr(($419|0),($420|0),19)|0);
$422 = tempRet0;
$423 = (_bitshift64Shl(($419|0),($420|0),45)|0);
$424 = tempRet0;
$425 = $423 | $421;
$426 = $424 | $422;
$427 = (_bitshift64Lshr(($419|0),($420|0),61)|0);
$428 = tempRet0;
$429 = (_bitshift64Shl(($419|0),($420|0),3)|0);
$430 = tempRet0;
$431 = $429 | $427;
$432 = $430 | $428;
$433 = (_bitshift64Lshr(($419|0),($420|0),6)|0);
$434 = tempRet0;
$435 = $431 ^ $433;
$436 = $432 ^ $434;
$437 = $435 ^ $425;
$438 = $436 ^ $426;
$441 = (_bitshift64Lshr(($439|0),($440|0),1)|0);
$442 = tempRet0;
$443 = (_bitshift64Shl(($439|0),($440|0),63)|0);
$444 = tempRet0;
$445 = $443 | $441;
$446 = $444 | $442;
$447 = (_bitshift64Lshr(($439|0),($440|0),8)|0);
$448 = tempRet0;
$449 = (_bitshift64Shl(($439|0),($440|0),56)|0);
$450 = tempRet0;
$451 = $449 | $447;
$452 = $450 | $448;
$453 = (_bitshift64Lshr(($439|0),($440|0),7)|0);
$454 = tempRet0;
$455 = $451 ^ $453;
$456 = $452 ^ $454;
$457 = $455 ^ $445;
$458 = $456 ^ $446;
$461 = (_i64Add(($301|0),($302|0),($459|0),($460|0))|0);
$462 = tempRet0;
$463 = (_i64Add(($461|0),($462|0),($457|0),($458|0))|0);
$464 = tempRet0;
$465 = (_i64Add(($463|0),($464|0),($437|0),($438|0))|0);
$466 = tempRet0;
$467 = (_bitshift64Lshr(($371|0),($372|0),28)|0);
$468 = tempRet0;
$469 = (_bitshift64Shl(($371|0),($372|0),36)|0);
$470 = tempRet0;
$471 = $469 | $467;
$472 = $470 | $468;
$473 = (_bitshift64Lshr(($371|0),($372|0),34)|0);
$474 = tempRet0;
$475 = (_bitshift64Shl(($371|0),($372|0),30)|0);
$476 = tempRet0;
$477 = $475 | $473;
$478 = $476 | $474;
$479 = $471 ^ $477;
$480 = $472 ^ $478;
$481 = (_bitshift64Lshr(($371|0),($372|0),39)|0);
$482 = tempRet0;
$483 = (_bitshift64Shl(($371|0),($372|0),25)|0);
$484 = tempRet0;
$485 = $483 | $481;
$486 = $484 | $482;
$487 = $479 ^ $485;
$488 = $480 ^ $486;
$489 = $355 ^ $329;
$490 = $358 ^ $330;
$491 = $371 & $489;
$492 = $372 & $490;
$493 = $355 & $329;
$494 = $358 & $330;
$495 = $491 ^ $493;
$496 = $492 ^ $494;
$497 = (_i64Add(($487|0),($488|0),($495|0),($496|0))|0);
$498 = tempRet0;
$499 = (_i64Add(($417|0),($418|0),($354|0),($357|0))|0);
$500 = tempRet0;
$501 = (_i64Add(($497|0),($498|0),($417|0),($418|0))|0);
$502 = tempRet0;
$503 = (_bitshift64Lshr(($499|0),($500|0),14)|0);
$504 = tempRet0;
$505 = (_bitshift64Shl(($499|0),($500|0),50)|0);
$506 = tempRet0;
$507 = $505 | $503;
$508 = $506 | $504;
$509 = (_bitshift64Lshr(($499|0),($500|0),18)|0);
$510 = tempRet0;
$511 = (_bitshift64Shl(($499|0),($500|0),46)|0);
$512 = tempRet0;
$513 = $511 | $509;
$514 = $512 | $510;
$515 = $507 ^ $513;
$516 = $508 ^ $514;
$517 = (_bitshift64Lshr(($499|0),($500|0),41)|0);
$518 = tempRet0;
$519 = (_bitshift64Shl(($499|0),($500|0),23)|0);
$520 = tempRet0;
$521 = $519 | $517;
$522 = $520 | $518;
$523 = $515 ^ $521;
$524 = $516 ^ $522;
$525 = $499 & $369;
$526 = $500 & $370;
$527 = $499 ^ -1;
$528 = $500 ^ -1;
$529 = $226 & $527;
$530 = $227 & $528;
$531 = $529 ^ $525;
$532 = $530 ^ $526;
$533 = $$151221$i | 2;
$534 = (8128 + ($533<<3)|0);
$535 = $534;
$536 = $535;
$537 = HEAP32[$536>>2]|0;
$538 = (($535) + 4)|0;
$539 = $538;
$540 = HEAP32[$539>>2]|0;
$541 = (_i64Add(($251|0),($253|0),($439|0),($440|0))|0);
$542 = tempRet0;
$543 = (_i64Add(($541|0),($542|0),($537|0),($540|0))|0);
$544 = tempRet0;
$545 = (_i64Add(($543|0),($544|0),($531|0),($532|0))|0);
$546 = tempRet0;
$547 = (_i64Add(($545|0),($546|0),($523|0),($524|0))|0);
$548 = tempRet0;
$549 = (_bitshift64Lshr(($327|0),($328|0),19)|0);
$550 = tempRet0;
$551 = (_bitshift64Shl(($327|0),($328|0),45)|0);
$552 = tempRet0;
$553 = $551 | $549;
$554 = $552 | $550;
$555 = (_bitshift64Lshr(($327|0),($328|0),61)|0);
$556 = tempRet0;
$557 = (_bitshift64Shl(($327|0),($328|0),3)|0);
$558 = tempRet0;
$559 = $557 | $555;
$560 = $558 | $556;
$561 = (_bitshift64Lshr(($327|0),($328|0),6)|0);
$562 = tempRet0;
$563 = $559 ^ $561;
$564 = $560 ^ $562;
$565 = $563 ^ $553;
$566 = $564 ^ $554;
$569 = (_bitshift64Lshr(($567|0),($568|0),1)|0);
$570 = tempRet0;
$571 = (_bitshift64Shl(($567|0),($568|0),63)|0);
$572 = tempRet0;
$573 = $571 | $569;
$574 = $572 | $570;
$575 = (_bitshift64Lshr(($567|0),($568|0),8)|0);
$576 = tempRet0;
$577 = (_bitshift64Shl(($567|0),($568|0),56)|0);
$578 = tempRet0;
$579 = $577 | $575;
$580 = $578 | $576;
$581 = (_bitshift64Lshr(($567|0),($568|0),7)|0);
$582 = tempRet0;
$583 = $579 ^ $581;
$584 = $580 ^ $582;
$585 = $583 ^ $573;
$586 = $584 ^ $574;
$589 = (_i64Add(($439|0),($440|0),($587|0),($588|0))|0);
$590 = tempRet0;
$591 = (_i64Add(($589|0),($590|0),($585|0),($586|0))|0);
$592 = tempRet0;
$593 = (_i64Add(($591|0),($592|0),($565|0),($566|0))|0);
$594 = tempRet0;
$595 = (_bitshift64Lshr(($501|0),($502|0),28)|0);
$596 = tempRet0;
$597 = (_bitshift64Shl(($501|0),($502|0),36)|0);
$598 = tempRet0;
$599 = $597 | $595;
$600 = $598 | $596;
$601 = (_bitshift64Lshr(($501|0),($502|0),34)|0);
$602 = tempRet0;
$603 = (_bitshift64Shl(($501|0),($502|0),30)|0);
$604 = tempRet0;
$605 = $603 | $601;
$606 = $604 | $602;
$607 = $599 ^ $605;
$608 = $600 ^ $606;
$609 = (_bitshift64Lshr(($501|0),($502|0),39)|0);
$610 = tempRet0;
$611 = (_bitshift64Shl(($501|0),($502|0),25)|0);
$612 = tempRet0;
$613 = $611 | $609;
$614 = $612 | $610;
$615 = $607 ^ $613;
$616 = $608 ^ $614;
$617 = $371 ^ $329;
$618 = $372 ^ $330;
$619 = $501 & $617;
$620 = $502 & $618;
$621 = $371 & $329;
$622 = $372 & $330;
$623 = $619 ^ $621;
$624 = $620 ^ $622;
$625 = (_i64Add(($615|0),($616|0),($623|0),($624|0))|0);
$626 = tempRet0;
$627 = (_i64Add(($547|0),($548|0),($355|0),($358|0))|0);
$628 = tempRet0;
$629 = (_i64Add(($625|0),($626|0),($547|0),($548|0))|0);
$630 = tempRet0;
$631 = (_bitshift64Lshr(($627|0),($628|0),14)|0);
$632 = tempRet0;
$633 = (_bitshift64Shl(($627|0),($628|0),50)|0);
$634 = tempRet0;
$635 = $633 | $631;
$636 = $634 | $632;
$637 = (_bitshift64Lshr(($627|0),($628|0),18)|0);
$638 = tempRet0;
$639 = (_bitshift64Shl(($627|0),($628|0),46)|0);
$640 = tempRet0;
$641 = $639 | $637;
$642 = $640 | $638;
$643 = $635 ^ $641;
$644 = $636 ^ $642;
$645 = (_bitshift64Lshr(($627|0),($628|0),41)|0);
$646 = tempRet0;
$647 = (_bitshift64Shl(($627|0),($628|0),23)|0);
$648 = tempRet0;
$649 = $647 | $645;
$650 = $648 | $646;
$651 = $643 ^ $649;
$652 = $644 ^ $650;
$653 = $627 & $499;
$654 = $628 & $500;
$655 = $627 ^ -1;
$656 = $628 ^ -1;
$657 = $369 & $655;
$658 = $370 & $656;
$659 = $657 ^ $653;
$660 = $658 ^ $654;
$661 = $$151221$i | 3;
$662 = (8128 + ($661<<3)|0);
$663 = $662;
$664 = $663;
$665 = HEAP32[$664>>2]|0;
$666 = (($663) + 4)|0;
$667 = $666;
$668 = HEAP32[$667>>2]|0;
$669 = (_i64Add(($226|0),($227|0),($567|0),($568|0))|0);
$670 = tempRet0;
$671 = (_i64Add(($669|0),($670|0),($665|0),($668|0))|0);
$672 = tempRet0;
$673 = (_i64Add(($671|0),($672|0),($659|0),($660|0))|0);
$674 = tempRet0;
$675 = (_i64Add(($673|0),($674|0),($651|0),($652|0))|0);
$676 = tempRet0;
$677 = (_bitshift64Lshr(($465|0),($466|0),19)|0);
$678 = tempRet0;
$679 = (_bitshift64Shl(($465|0),($466|0),45)|0);
$680 = tempRet0;
$681 = $679 | $677;
$682 = $680 | $678;
$683 = (_bitshift64Lshr(($465|0),($466|0),61)|0);
$684 = tempRet0;
$685 = (_bitshift64Shl(($465|0),($466|0),3)|0);
$686 = tempRet0;
$687 = $685 | $683;
$688 = $686 | $684;
$689 = (_bitshift64Lshr(($465|0),($466|0),6)|0);
$690 = tempRet0;
$691 = $687 ^ $689;
$692 = $688 ^ $690;
$693 = $691 ^ $681;
$694 = $692 ^ $682;
$697 = (_bitshift64Lshr(($695|0),($696|0),1)|0);
$698 = tempRet0;
$699 = (_bitshift64Shl(($695|0),($696|0),63)|0);
$700 = tempRet0;
$701 = $699 | $697;
$702 = $700 | $698;
$703 = (_bitshift64Lshr(($695|0),($696|0),8)|0);
$704 = tempRet0;
$705 = (_bitshift64Shl(($695|0),($696|0),56)|0);
$706 = tempRet0;
$707 = $705 | $703;
$708 = $706 | $704;
$709 = (_bitshift64Lshr(($695|0),($696|0),7)|0);
$710 = tempRet0;
$711 = $707 ^ $709;
$712 = $708 ^ $710;
$713 = $711 ^ $701;
$714 = $712 ^ $702;
$717 = (_i64Add(($567|0),($568|0),($715|0),($716|0))|0);
$718 = tempRet0;
$719 = (_i64Add(($717|0),($718|0),($713|0),($714|0))|0);
$720 = tempRet0;
$721 = (_i64Add(($719|0),($720|0),($693|0),($694|0))|0);
$722 = tempRet0;
$723 = (_bitshift64Lshr(($629|0),($630|0),28)|0);
$724 = tempRet0;
$725 = (_bitshift64Shl(($629|0),($630|0),36)|0);
$726 = tempRet0;
$727 = $725 | $723;
$728 = $726 | $724;
$729 = (_bitshift64Lshr(($629|0),($630|0),34)|0);
$730 = tempRet0;
$731 = (_bitshift64Shl(($629|0),($630|0),30)|0);
$732 = tempRet0;
$733 = $731 | $729;
$734 = $732 | $730;
$735 = $727 ^ $733;
$736 = $728 ^ $734;
$737 = (_bitshift64Lshr(($629|0),($630|0),39)|0);
$738 = tempRet0;
$739 = (_bitshift64Shl(($629|0),($630|0),25)|0);
$740 = tempRet0;
$741 = $739 | $737;
$742 = $740 | $738;
$743 = $735 ^ $741;
$744 = $736 ^ $742;
$745 = $501 ^ $371;
$746 = $502 ^ $372;
$747 = $629 & $745;
$748 = $630 & $746;
$749 = $501 & $371;
$750 = $502 & $372;
$751 = $747 ^ $749;
$752 = $748 ^ $750;
$753 = (_i64Add(($743|0),($744|0),($751|0),($752|0))|0);
$754 = tempRet0;
$755 = (_i64Add(($675|0),($676|0),($329|0),($330|0))|0);
$756 = tempRet0;
$757 = (_i64Add(($753|0),($754|0),($675|0),($676|0))|0);
$758 = tempRet0;
$759 = (_bitshift64Lshr(($755|0),($756|0),14)|0);
$760 = tempRet0;
$761 = (_bitshift64Shl(($755|0),($756|0),50)|0);
$762 = tempRet0;
$763 = $761 | $759;
$764 = $762 | $760;
$765 = (_bitshift64Lshr(($755|0),($756|0),18)|0);
$766 = tempRet0;
$767 = (_bitshift64Shl(($755|0),($756|0),46)|0);
$768 = tempRet0;
$769 = $767 | $765;
$770 = $768 | $766;
$771 = $763 ^ $769;
$772 = $764 ^ $770;
$773 = (_bitshift64Lshr(($755|0),($756|0),41)|0);
$774 = tempRet0;
$775 = (_bitshift64Shl(($755|0),($756|0),23)|0);
$776 = tempRet0;
$777 = $775 | $773;
$778 = $776 | $774;
$779 = $771 ^ $777;
$780 = $772 ^ $778;
$781 = $755 & $627;
$782 = $756 & $628;
$783 = $755 ^ -1;
$784 = $756 ^ -1;
$785 = $499 & $783;
$786 = $500 & $784;
$787 = $785 ^ $781;
$788 = $786 ^ $782;
$789 = $$151221$i | 4;
$790 = (8128 + ($789<<3)|0);
$791 = $790;
$792 = $791;
$793 = HEAP32[$792>>2]|0;
$794 = (($791) + 4)|0;
$795 = $794;
$796 = HEAP32[$795>>2]|0;
$797 = (_i64Add(($793|0),($796|0),($695|0),($696|0))|0);
$798 = tempRet0;
$799 = (_i64Add(($797|0),($798|0),($369|0),($370|0))|0);
$800 = tempRet0;
$801 = (_i64Add(($799|0),($800|0),($787|0),($788|0))|0);
$802 = tempRet0;
$803 = (_i64Add(($801|0),($802|0),($779|0),($780|0))|0);
$804 = tempRet0;
$805 = (_bitshift64Lshr(($593|0),($594|0),19)|0);
$806 = tempRet0;
$807 = (_bitshift64Shl(($593|0),($594|0),45)|0);
$808 = tempRet0;
$809 = $807 | $805;
$810 = $808 | $806;
$811 = (_bitshift64Lshr(($593|0),($594|0),61)|0);
$812 = tempRet0;
$813 = (_bitshift64Shl(($593|0),($594|0),3)|0);
$814 = tempRet0;
$815 = $813 | $811;
$816 = $814 | $812;
$817 = (_bitshift64Lshr(($593|0),($594|0),6)|0);
$818 = tempRet0;
$819 = $815 ^ $817;
$820 = $816 ^ $818;
$821 = $819 ^ $809;
$822 = $820 ^ $810;
$825 = (_bitshift64Lshr(($823|0),($824|0),1)|0);
$826 = tempRet0;
$827 = (_bitshift64Shl(($823|0),($824|0),63)|0);
$828 = tempRet0;
$829 = $827 | $825;
$830 = $828 | $826;
$831 = (_bitshift64Lshr(($823|0),($824|0),8)|0);
$832 = tempRet0;
$833 = (_bitshift64Shl(($823|0),($824|0),56)|0);
$834 = tempRet0;
$835 = $833 | $831;
$836 = $834 | $832;
$837 = (_bitshift64Lshr(($823|0),($824|0),7)|0);
$838 = tempRet0;
$839 = $835 ^ $837;
$840 = $836 ^ $838;
$841 = $839 ^ $829;
$842 = $840 ^ $830;
$845 = (_i64Add(($695|0),($696|0),($843|0),($844|0))|0);
$846 = tempRet0;
$847 = (_i64Add(($845|0),($846|0),($841|0),($842|0))|0);
$848 = tempRet0;
$849 = (_i64Add(($847|0),($848|0),($821|0),($822|0))|0);
$850 = tempRet0;
$851 = (_bitshift64Lshr(($757|0),($758|0),28)|0);
$852 = tempRet0;
$853 = (_bitshift64Shl(($757|0),($758|0),36)|0);
$854 = tempRet0;
$855 = $853 | $851;
$856 = $854 | $852;
$857 = (_bitshift64Lshr(($757|0),($758|0),34)|0);
$858 = tempRet0;
$859 = (_bitshift64Shl(($757|0),($758|0),30)|0);
$860 = tempRet0;
$861 = $859 | $857;
$862 = $860 | $858;
$863 = $855 ^ $861;
$864 = $856 ^ $862;
$865 = (_bitshift64Lshr(($757|0),($758|0),39)|0);
$866 = tempRet0;
$867 = (_bitshift64Shl(($757|0),($758|0),25)|0);
$868 = tempRet0;
$869 = $867 | $865;
$870 = $868 | $866;
$871 = $863 ^ $869;
$872 = $864 ^ $870;
$873 = $629 ^ $501;
$874 = $630 ^ $502;
$875 = $757 & $873;
$876 = $758 & $874;
$877 = $629 & $501;
$878 = $630 & $502;
$879 = $875 ^ $877;
$880 = $876 ^ $878;
$881 = (_i64Add(($871|0),($872|0),($879|0),($880|0))|0);
$882 = tempRet0;
$883 = (_i64Add(($803|0),($804|0),($371|0),($372|0))|0);
$884 = tempRet0;
$885 = (_i64Add(($881|0),($882|0),($803|0),($804|0))|0);
$886 = tempRet0;
$887 = (_bitshift64Lshr(($883|0),($884|0),14)|0);
$888 = tempRet0;
$889 = (_bitshift64Shl(($883|0),($884|0),50)|0);
$890 = tempRet0;
$891 = $889 | $887;
$892 = $890 | $888;
$893 = (_bitshift64Lshr(($883|0),($884|0),18)|0);
$894 = tempRet0;
$895 = (_bitshift64Shl(($883|0),($884|0),46)|0);
$896 = tempRet0;
$897 = $895 | $893;
$898 = $896 | $894;
$899 = $891 ^ $897;
$900 = $892 ^ $898;
$901 = (_bitshift64Lshr(($883|0),($884|0),41)|0);
$902 = tempRet0;
$903 = (_bitshift64Shl(($883|0),($884|0),23)|0);
$904 = tempRet0;
$905 = $903 | $901;
$906 = $904 | $902;
$907 = $899 ^ $905;
$908 = $900 ^ $906;
$909 = $883 & $755;
$910 = $884 & $756;
$911 = $883 ^ -1;
$912 = $884 ^ -1;
$913 = $627 & $911;
$914 = $628 & $912;
$915 = $913 ^ $909;
$916 = $914 ^ $910;
$917 = $$151221$i | 5;
$918 = (8128 + ($917<<3)|0);
$919 = $918;
$920 = $919;
$921 = HEAP32[$920>>2]|0;
$922 = (($919) + 4)|0;
$923 = $922;
$924 = HEAP32[$923>>2]|0;
$925 = (_i64Add(($921|0),($924|0),($823|0),($824|0))|0);
$926 = tempRet0;
$927 = (_i64Add(($925|0),($926|0),($499|0),($500|0))|0);
$928 = tempRet0;
$929 = (_i64Add(($927|0),($928|0),($915|0),($916|0))|0);
$930 = tempRet0;
$931 = (_i64Add(($929|0),($930|0),($907|0),($908|0))|0);
$932 = tempRet0;
$933 = (_bitshift64Lshr(($721|0),($722|0),19)|0);
$934 = tempRet0;
$935 = (_bitshift64Shl(($721|0),($722|0),45)|0);
$936 = tempRet0;
$937 = $935 | $933;
$938 = $936 | $934;
$939 = (_bitshift64Lshr(($721|0),($722|0),61)|0);
$940 = tempRet0;
$941 = (_bitshift64Shl(($721|0),($722|0),3)|0);
$942 = tempRet0;
$943 = $941 | $939;
$944 = $942 | $940;
$945 = (_bitshift64Lshr(($721|0),($722|0),6)|0);
$946 = tempRet0;
$947 = $943 ^ $945;
$948 = $944 ^ $946;
$949 = $947 ^ $937;
$950 = $948 ^ $938;
$953 = (_bitshift64Lshr(($951|0),($952|0),1)|0);
$954 = tempRet0;
$955 = (_bitshift64Shl(($951|0),($952|0),63)|0);
$956 = tempRet0;
$957 = $955 | $953;
$958 = $956 | $954;
$959 = (_bitshift64Lshr(($951|0),($952|0),8)|0);
$960 = tempRet0;
$961 = (_bitshift64Shl(($951|0),($952|0),56)|0);
$962 = tempRet0;
$963 = $961 | $959;
$964 = $962 | $960;
$965 = (_bitshift64Lshr(($951|0),($952|0),7)|0);
$966 = tempRet0;
$967 = $963 ^ $965;
$968 = $964 ^ $966;
$969 = $967 ^ $957;
$970 = $968 ^ $958;
$971 = (_i64Add(($969|0),($970|0),($823|0),($824|0))|0);
$972 = tempRet0;
$973 = (_i64Add(($971|0),($972|0),($281|0),($282|0))|0);
$974 = tempRet0;
$975 = (_i64Add(($973|0),($974|0),($949|0),($950|0))|0);
$976 = tempRet0;
$977 = (_bitshift64Lshr(($885|0),($886|0),28)|0);
$978 = tempRet0;
$979 = (_bitshift64Shl(($885|0),($886|0),36)|0);
$980 = tempRet0;
$981 = $979 | $977;
$982 = $980 | $978;
$983 = (_bitshift64Lshr(($885|0),($886|0),34)|0);
$984 = tempRet0;
$985 = (_bitshift64Shl(($885|0),($886|0),30)|0);
$986 = tempRet0;
$987 = $985 | $983;
$988 = $986 | $984;
$989 = $981 ^ $987;
$990 = $982 ^ $988;
$991 = (_bitshift64Lshr(($885|0),($886|0),39)|0);
$992 = tempRet0;
$993 = (_bitshift64Shl(($885|0),($886|0),25)|0);
$994 = tempRet0;
$995 = $993 | $991;
$996 = $994 | $992;
$997 = $989 ^ $995;
$998 = $990 ^ $996;
$999 = $757 ^ $629;
$1000 = $758 ^ $630;
$1001 = $885 & $999;
$1002 = $886 & $1000;
$1003 = $757 & $629;
$1004 = $758 & $630;
$1005 = $1001 ^ $1003;
$1006 = $1002 ^ $1004;
$1007 = (_i64Add(($997|0),($998|0),($1005|0),($1006|0))|0);
$1008 = tempRet0;
$1009 = (_i64Add(($931|0),($932|0),($501|0),($502|0))|0);
$1010 = tempRet0;
$1011 = (_i64Add(($1007|0),($1008|0),($931|0),($932|0))|0);
$1012 = tempRet0;
$1013 = (_bitshift64Lshr(($1009|0),($1010|0),14)|0);
$1014 = tempRet0;
$1015 = (_bitshift64Shl(($1009|0),($1010|0),50)|0);
$1016 = tempRet0;
$1017 = $1015 | $1013;
$1018 = $1016 | $1014;
$1019 = (_bitshift64Lshr(($1009|0),($1010|0),18)|0);
$1020 = tempRet0;
$1021 = (_bitshift64Shl(($1009|0),($1010|0),46)|0);
$1022 = tempRet0;
$1023 = $1021 | $1019;
$1024 = $1022 | $1020;
$1025 = $1017 ^ $1023;
$1026 = $1018 ^ $1024;
$1027 = (_bitshift64Lshr(($1009|0),($1010|0),41)|0);
$1028 = tempRet0;
$1029 = (_bitshift64Shl(($1009|0),($1010|0),23)|0);
$1030 = tempRet0;
$1031 = $1029 | $1027;
$1032 = $1030 | $1028;
$1033 = $1025 ^ $1031;
$1034 = $1026 ^ $1032;
$1035 = $1009 & $883;
$1036 = $1010 & $884;
$1037 = $1009 ^ -1;
$1038 = $1010 ^ -1;
$1039 = $755 & $1037;
$1040 = $756 & $1038;
$1041 = $1039 ^ $1035;
$1042 = $1040 ^ $1036;
$1043 = $$151221$i | 6;
$1044 = (8128 + ($1043<<3)|0);
$1045 = $1044;
$1046 = $1045;
$1047 = HEAP32[$1046>>2]|0;
$1048 = (($1045) + 4)|0;
$1049 = $1048;
$1050 = HEAP32[$1049>>2]|0;
$1051 = (_i64Add(($1047|0),($1050|0),($951|0),($952|0))|0);
$1052 = tempRet0;
$1053 = (_i64Add(($1051|0),($1052|0),($627|0),($628|0))|0);
$1054 = tempRet0;
$1055 = (_i64Add(($1053|0),($1054|0),($1041|0),($1042|0))|0);
$1056 = tempRet0;
$1057 = (_i64Add(($1055|0),($1056|0),($1033|0),($1034|0))|0);
$1058 = tempRet0;
$1059 = (_bitshift64Lshr(($849|0),($850|0),19)|0);
$1060 = tempRet0;
$1061 = (_bitshift64Shl(($849|0),($850|0),45)|0);
$1062 = tempRet0;
$1063 = $1061 | $1059;
$1064 = $1062 | $1060;
$1065 = (_bitshift64Lshr(($849|0),($850|0),61)|0);
$1066 = tempRet0;
$1067 = (_bitshift64Shl(($849|0),($850|0),3)|0);
$1068 = tempRet0;
$1069 = $1067 | $1065;
$1070 = $1068 | $1066;
$1071 = (_bitshift64Lshr(($849|0),($850|0),6)|0);
$1072 = tempRet0;
$1073 = $1069 ^ $1071;
$1074 = $1070 ^ $1072;
$1075 = $1073 ^ $1063;
$1076 = $1074 ^ $1064;
$1079 = (_bitshift64Lshr(($1077|0),($1078|0),1)|0);
$1080 = tempRet0;
$1081 = (_bitshift64Shl(($1077|0),($1078|0),63)|0);
$1082 = tempRet0;
$1083 = $1081 | $1079;
$1084 = $1082 | $1080;
$1085 = (_bitshift64Lshr(($1077|0),($1078|0),8)|0);
$1086 = tempRet0;
$1087 = (_bitshift64Shl(($1077|0),($1078|0),56)|0);
$1088 = tempRet0;
$1089 = $1087 | $1085;
$1090 = $1088 | $1086;
$1091 = (_bitshift64Lshr(($1077|0),($1078|0),7)|0);
$1092 = tempRet0;
$1093 = $1089 ^ $1091;
$1094 = $1090 ^ $1092;
$1095 = $1093 ^ $1083;
$1096 = $1094 ^ $1084;
$1097 = (_i64Add(($1095|0),($1096|0),($951|0),($952|0))|0);
$1098 = tempRet0;
$1099 = (_i64Add(($1097|0),($1098|0),($419|0),($420|0))|0);
$1100 = tempRet0;
$1101 = (_i64Add(($1099|0),($1100|0),($1075|0),($1076|0))|0);
$1102 = tempRet0;
$1103 = (_bitshift64Lshr(($1011|0),($1012|0),28)|0);
$1104 = tempRet0;
$1105 = (_bitshift64Shl(($1011|0),($1012|0),36)|0);
$1106 = tempRet0;
$1107 = $1105 | $1103;
$1108 = $1106 | $1104;
$1109 = (_bitshift64Lshr(($1011|0),($1012|0),34)|0);
$1110 = tempRet0;
$1111 = (_bitshift64Shl(($1011|0),($1012|0),30)|0);
$1112 = tempRet0;
$1113 = $1111 | $1109;
$1114 = $1112 | $1110;
$1115 = $1107 ^ $1113;
$1116 = $1108 ^ $1114;
$1117 = (_bitshift64Lshr(($1011|0),($1012|0),39)|0);
$1118 = tempRet0;
$1119 = (_bitshift64Shl(($1011|0),($1012|0),25)|0);
$1120 = tempRet0;
$1121 = $1119 | $1117;
$1122 = $1120 | $1118;
$1123 = $1115 ^ $1121;
$1124 = $1116 ^ $1122;
$1125 = $885 ^ $757;
$1126 = $886 ^ $758;
$1127 = $1011 & $1125;
$1128 = $1012 & $1126;
$1129 = $885 & $757;
$1130 = $886 & $758;
$1131 = $1127 ^ $1129;
$1132 = $1128 ^ $1130;
$1133 = (_i64Add(($1123|0),($1124|0),($1131|0),($1132|0))|0);
$1134 = tempRet0;
$1135 = (_i64Add(($1057|0),($1058|0),($629|0),($630|0))|0);
$1136 = tempRet0;
$1137 = (_i64Add(($1133|0),($1134|0),($1057|0),($1058|0))|0);
$1138 = tempRet0;
$1139 = (_bitshift64Lshr(($1135|0),($1136|0),14)|0);
$1140 = tempRet0;
$1141 = (_bitshift64Shl(($1135|0),($1136|0),50)|0);
$1142 = tempRet0;
$1143 = $1141 | $1139;
$1144 = $1142 | $1140;
$1145 = (_bitshift64Lshr(($1135|0),($1136|0),18)|0);
$1146 = tempRet0;
$1147 = (_bitshift64Shl(($1135|0),($1136|0),46)|0);
$1148 = tempRet0;
$1149 = $1147 | $1145;
$1150 = $1148 | $1146;
$1151 = $1143 ^ $1149;
$1152 = $1144 ^ $1150;
$1153 = (_bitshift64Lshr(($1135|0),($1136|0),41)|0);
$1154 = tempRet0;
$1155 = (_bitshift64Shl(($1135|0),($1136|0),23)|0);
$1156 = tempRet0;
$1157 = $1155 | $1153;
$1158 = $1156 | $1154;
$1159 = $1151 ^ $1157;
$1160 = $1152 ^ $1158;
$1161 = $1135 & $1009;
$1162 = $1136 & $1010;
$1163 = $1135 ^ -1;
$1164 = $1136 ^ -1;
$1165 = $883 & $1163;
$1166 = $884 & $1164;
$1167 = $1165 ^ $1161;
$1168 = $1166 ^ $1162;
$1169 = $$151221$i | 7;
$1170 = (8128 + ($1169<<3)|0);
$1171 = $1170;
$1172 = $1171;
$1173 = HEAP32[$1172>>2]|0;
$1174 = (($1171) + 4)|0;
$1175 = $1174;
$1176 = HEAP32[$1175>>2]|0;
$1177 = (_i64Add(($1173|0),($1176|0),($1077|0),($1078|0))|0);
$1178 = tempRet0;
$1179 = (_i64Add(($1177|0),($1178|0),($755|0),($756|0))|0);
$1180 = tempRet0;
$1181 = (_i64Add(($1179|0),($1180|0),($1167|0),($1168|0))|0);
$1182 = tempRet0;
$1183 = (_i64Add(($1181|0),($1182|0),($1159|0),($1160|0))|0);
$1184 = tempRet0;
$1185 = (_bitshift64Lshr(($975|0),($976|0),19)|0);
$1186 = tempRet0;
$1187 = (_bitshift64Shl(($975|0),($976|0),45)|0);
$1188 = tempRet0;
$1189 = $1187 | $1185;
$1190 = $1188 | $1186;
$1191 = (_bitshift64Lshr(($975|0),($976|0),61)|0);
$1192 = tempRet0;
$1193 = (_bitshift64Shl(($975|0),($976|0),3)|0);
$1194 = tempRet0;
$1195 = $1193 | $1191;
$1196 = $1194 | $1192;
$1197 = (_bitshift64Lshr(($975|0),($976|0),6)|0);
$1198 = tempRet0;
$1199 = $1195 ^ $1197;
$1200 = $1196 ^ $1198;
$1201 = $1199 ^ $1189;
$1202 = $1200 ^ $1190;
$1205 = (_bitshift64Lshr(($1203|0),($1204|0),1)|0);
$1206 = tempRet0;
$1207 = (_bitshift64Shl(($1203|0),($1204|0),63)|0);
$1208 = tempRet0;
$1209 = $1207 | $1205;
$1210 = $1208 | $1206;
$1211 = (_bitshift64Lshr(($1203|0),($1204|0),8)|0);
$1212 = tempRet0;
$1213 = (_bitshift64Shl(($1203|0),($1204|0),56)|0);
$1214 = tempRet0;
$1215 = $1213 | $1211;
$1216 = $1214 | $1212;
$1217 = (_bitshift64Lshr(($1203|0),($1204|0),7)|0);
$1218 = tempRet0;
$1219 = $1215 ^ $1217;
$1220 = $1216 ^ $1218;
$1221 = $1219 ^ $1209;
$1222 = $1220 ^ $1210;
$1223 = (_i64Add(($1221|0),($1222|0),($1077|0),($1078|0))|0);
$1224 = tempRet0;
$1225 = (_i64Add(($1223|0),($1224|0),($327|0),($328|0))|0);
$1226 = tempRet0;
$1227 = (_i64Add(($1225|0),($1226|0),($1201|0),($1202|0))|0);
$1228 = tempRet0;
$1229 = (_bitshift64Lshr(($1137|0),($1138|0),28)|0);
$1230 = tempRet0;
$1231 = (_bitshift64Shl(($1137|0),($1138|0),36)|0);
$1232 = tempRet0;
$1233 = $1231 | $1229;
$1234 = $1232 | $1230;
$1235 = (_bitshift64Lshr(($1137|0),($1138|0),34)|0);
$1236 = tempRet0;
$1237 = (_bitshift64Shl(($1137|0),($1138|0),30)|0);
$1238 = tempRet0;
$1239 = $1237 | $1235;
$1240 = $1238 | $1236;
$1241 = $1233 ^ $1239;
$1242 = $1234 ^ $1240;
$1243 = (_bitshift64Lshr(($1137|0),($1138|0),39)|0);
$1244 = tempRet0;
$1245 = (_bitshift64Shl(($1137|0),($1138|0),25)|0);
$1246 = tempRet0;
$1247 = $1245 | $1243;
$1248 = $1246 | $1244;
$1249 = $1241 ^ $1247;
$1250 = $1242 ^ $1248;
$1251 = $1011 ^ $885;
$1252 = $1012 ^ $886;
$1253 = $1137 & $1251;
$1254 = $1138 & $1252;
$1255 = $1011 & $885;
$1256 = $1012 & $886;
$1257 = $1253 ^ $1255;
$1258 = $1254 ^ $1256;
$1259 = (_i64Add(($1249|0),($1250|0),($1257|0),($1258|0))|0);
$1260 = tempRet0;
$1261 = (_i64Add(($1183|0),($1184|0),($757|0),($758|0))|0);
$1262 = tempRet0;
$1263 = (_i64Add(($1259|0),($1260|0),($1183|0),($1184|0))|0);
$1264 = tempRet0;
$1265 = (_bitshift64Lshr(($1261|0),($1262|0),14)|0);
$1266 = tempRet0;
$1267 = (_bitshift64Shl(($1261|0),($1262|0),50)|0);
$1268 = tempRet0;
$1269 = $1267 | $1265;
$1270 = $1268 | $1266;
$1271 = (_bitshift64Lshr(($1261|0),($1262|0),18)|0);
$1272 = tempRet0;
$1273 = (_bitshift64Shl(($1261|0),($1262|0),46)|0);
$1274 = tempRet0;
$1275 = $1273 | $1271;
$1276 = $1274 | $1272;
$1277 = $1269 ^ $1275;
$1278 = $1270 ^ $1276;
$1279 = (_bitshift64Lshr(($1261|0),($1262|0),41)|0);
$1280 = tempRet0;
$1281 = (_bitshift64Shl(($1261|0),($1262|0),23)|0);
$1282 = tempRet0;
$1283 = $1281 | $1279;
$1284 = $1282 | $1280;
$1285 = $1277 ^ $1283;
$1286 = $1278 ^ $1284;
$1287 = $1261 & $1135;
$1288 = $1262 & $1136;
$1289 = $1261 ^ -1;
$1290 = $1262 ^ -1;
$1291 = $1009 & $1289;
$1292 = $1010 & $1290;
$1293 = $1291 ^ $1287;
$1294 = $1292 ^ $1288;
$1295 = $$151221$i | 8;
$1296 = (8128 + ($1295<<3)|0);
$1297 = $1296;
$1298 = $1297;
$1299 = HEAP32[$1298>>2]|0;
$1300 = (($1297) + 4)|0;
$1301 = $1300;
$1302 = HEAP32[$1301>>2]|0;
$1303 = (_i64Add(($1299|0),($1302|0),($1203|0),($1204|0))|0);
$1304 = tempRet0;
$1305 = (_i64Add(($1303|0),($1304|0),($883|0),($884|0))|0);
$1306 = tempRet0;
$1307 = (_i64Add(($1305|0),($1306|0),($1293|0),($1294|0))|0);
$1308 = tempRet0;
$1309 = (_i64Add(($1307|0),($1308|0),($1285|0),($1286|0))|0);
$1310 = tempRet0;
$1311 = (_bitshift64Lshr(($1101|0),($1102|0),19)|0);
$1312 = tempRet0;
$1313 = (_bitshift64Shl(($1101|0),($1102|0),45)|0);
$1314 = tempRet0;
$1315 = $1313 | $1311;
$1316 = $1314 | $1312;
$1317 = (_bitshift64Lshr(($1101|0),($1102|0),61)|0);
$1318 = tempRet0;
$1319 = (_bitshift64Shl(($1101|0),($1102|0),3)|0);
$1320 = tempRet0;
$1321 = $1319 | $1317;
$1322 = $1320 | $1318;
$1323 = (_bitshift64Lshr(($1101|0),($1102|0),6)|0);
$1324 = tempRet0;
$1325 = $1321 ^ $1323;
$1326 = $1322 ^ $1324;
$1327 = $1325 ^ $1315;
$1328 = $1326 ^ $1316;
$1329 = (_bitshift64Lshr(($321|0),($322|0),1)|0);
$1330 = tempRet0;
$1331 = (_bitshift64Shl(($321|0),($322|0),63)|0);
$1332 = tempRet0;
$1333 = $1331 | $1329;
$1334 = $1332 | $1330;
$1335 = (_bitshift64Lshr(($321|0),($322|0),8)|0);
$1336 = tempRet0;
$1337 = (_bitshift64Shl(($321|0),($322|0),56)|0);
$1338 = tempRet0;
$1339 = $1337 | $1335;
$1340 = $1338 | $1336;
$1341 = (_bitshift64Lshr(($321|0),($322|0),7)|0);
$1342 = tempRet0;
$1343 = $1339 ^ $1341;
$1344 = $1340 ^ $1342;
$1345 = $1343 ^ $1333;
$1346 = $1344 ^ $1334;
$1347 = (_i64Add(($1345|0),($1346|0),($1203|0),($1204|0))|0);
$1348 = tempRet0;
$1349 = (_i64Add(($1347|0),($1348|0),($465|0),($466|0))|0);
$1350 = tempRet0;
$1351 = (_i64Add(($1349|0),($1350|0),($1327|0),($1328|0))|0);
$1352 = tempRet0;
$1353 = (_bitshift64Lshr(($1263|0),($1264|0),28)|0);
$1354 = tempRet0;
$1355 = (_bitshift64Shl(($1263|0),($1264|0),36)|0);
$1356 = tempRet0;
$1357 = $1355 | $1353;
$1358 = $1356 | $1354;
$1359 = (_bitshift64Lshr(($1263|0),($1264|0),34)|0);
$1360 = tempRet0;
$1361 = (_bitshift64Shl(($1263|0),($1264|0),30)|0);
$1362 = tempRet0;
$1363 = $1361 | $1359;
$1364 = $1362 | $1360;
$1365 = $1357 ^ $1363;
$1366 = $1358 ^ $1364;
$1367 = (_bitshift64Lshr(($1263|0),($1264|0),39)|0);
$1368 = tempRet0;
$1369 = (_bitshift64Shl(($1263|0),($1264|0),25)|0);
$1370 = tempRet0;
$1371 = $1369 | $1367;
$1372 = $1370 | $1368;
$1373 = $1365 ^ $1371;
$1374 = $1366 ^ $1372;
$1375 = $1137 ^ $1011;
$1376 = $1138 ^ $1012;
$1377 = $1263 & $1375;
$1378 = $1264 & $1376;
$1379 = $1137 & $1011;
$1380 = $1138 & $1012;
$1381 = $1377 ^ $1379;
$1382 = $1378 ^ $1380;
$1383 = (_i64Add(($1373|0),($1374|0),($1381|0),($1382|0))|0);
$1384 = tempRet0;
$1385 = (_i64Add(($1309|0),($1310|0),($885|0),($886|0))|0);
$1386 = tempRet0;
$1387 = (_i64Add(($1383|0),($1384|0),($1309|0),($1310|0))|0);
$1388 = tempRet0;
$1389 = (_bitshift64Lshr(($1385|0),($1386|0),14)|0);
$1390 = tempRet0;
$1391 = (_bitshift64Shl(($1385|0),($1386|0),50)|0);
$1392 = tempRet0;
$1393 = $1391 | $1389;
$1394 = $1392 | $1390;
$1395 = (_bitshift64Lshr(($1385|0),($1386|0),18)|0);
$1396 = tempRet0;
$1397 = (_bitshift64Shl(($1385|0),($1386|0),46)|0);
$1398 = tempRet0;
$1399 = $1397 | $1395;
$1400 = $1398 | $1396;
$1401 = $1393 ^ $1399;
$1402 = $1394 ^ $1400;
$1403 = (_bitshift64Lshr(($1385|0),($1386|0),41)|0);
$1404 = tempRet0;
$1405 = (_bitshift64Shl(($1385|0),($1386|0),23)|0);
$1406 = tempRet0;
$1407 = $1405 | $1403;
$1408 = $1406 | $1404;
$1409 = $1401 ^ $1407;
$1410 = $1402 ^ $1408;
$1411 = $1385 & $1261;
$1412 = $1386 & $1262;
$1413 = $1385 ^ -1;
$1414 = $1386 ^ -1;
$1415 = $1135 & $1413;
$1416 = $1136 & $1414;
$1417 = $1415 ^ $1411;
$1418 = $1416 ^ $1412;
$1419 = $$151221$i | 9;
$1420 = (8128 + ($1419<<3)|0);
$1421 = $1420;
$1422 = $1421;
$1423 = HEAP32[$1422>>2]|0;
$1424 = (($1421) + 4)|0;
$1425 = $1424;
$1426 = HEAP32[$1425>>2]|0;
$1427 = (_i64Add(($1423|0),($1426|0),($321|0),($322|0))|0);
$1428 = tempRet0;
$1429 = (_i64Add(($1427|0),($1428|0),($1009|0),($1010|0))|0);
$1430 = tempRet0;
$1431 = (_i64Add(($1429|0),($1430|0),($1417|0),($1418|0))|0);
$1432 = tempRet0;
$1433 = (_i64Add(($1431|0),($1432|0),($1409|0),($1410|0))|0);
$1434 = tempRet0;
$1435 = (_bitshift64Lshr(($1227|0),($1228|0),19)|0);
$1436 = tempRet0;
$1437 = (_bitshift64Shl(($1227|0),($1228|0),45)|0);
$1438 = tempRet0;
$1439 = $1437 | $1435;
$1440 = $1438 | $1436;
$1441 = (_bitshift64Lshr(($1227|0),($1228|0),61)|0);
$1442 = tempRet0;
$1443 = (_bitshift64Shl(($1227|0),($1228|0),3)|0);
$1444 = tempRet0;
$1445 = $1443 | $1441;
$1446 = $1444 | $1442;
$1447 = (_bitshift64Lshr(($1227|0),($1228|0),6)|0);
$1448 = tempRet0;
$1449 = $1445 ^ $1447;
$1450 = $1446 ^ $1448;
$1451 = $1449 ^ $1439;
$1452 = $1450 ^ $1440;
$1453 = (_bitshift64Lshr(($459|0),($460|0),1)|0);
$1454 = tempRet0;
$1455 = (_bitshift64Shl(($459|0),($460|0),63)|0);
$1456 = tempRet0;
$1457 = $1455 | $1453;
$1458 = $1456 | $1454;
$1459 = (_bitshift64Lshr(($459|0),($460|0),8)|0);
$1460 = tempRet0;
$1461 = (_bitshift64Shl(($459|0),($460|0),56)|0);
$1462 = tempRet0;
$1463 = $1461 | $1459;
$1464 = $1462 | $1460;
$1465 = (_bitshift64Lshr(($459|0),($460|0),7)|0);
$1466 = tempRet0;
$1467 = $1463 ^ $1465;
$1468 = $1464 ^ $1466;
$1469 = $1467 ^ $1457;
$1470 = $1468 ^ $1458;
$1471 = (_i64Add(($1469|0),($1470|0),($321|0),($322|0))|0);
$1472 = tempRet0;
$1473 = (_i64Add(($1471|0),($1472|0),($593|0),($594|0))|0);
$1474 = tempRet0;
$1475 = (_i64Add(($1473|0),($1474|0),($1451|0),($1452|0))|0);
$1476 = tempRet0;
$1477 = (_bitshift64Lshr(($1387|0),($1388|0),28)|0);
$1478 = tempRet0;
$1479 = (_bitshift64Shl(($1387|0),($1388|0),36)|0);
$1480 = tempRet0;
$1481 = $1479 | $1477;
$1482 = $1480 | $1478;
$1483 = (_bitshift64Lshr(($1387|0),($1388|0),34)|0);
$1484 = tempRet0;
$1485 = (_bitshift64Shl(($1387|0),($1388|0),30)|0);
$1486 = tempRet0;
$1487 = $1485 | $1483;
$1488 = $1486 | $1484;
$1489 = $1481 ^ $1487;
$1490 = $1482 ^ $1488;
$1491 = (_bitshift64Lshr(($1387|0),($1388|0),39)|0);
$1492 = tempRet0;
$1493 = (_bitshift64Shl(($1387|0),($1388|0),25)|0);
$1494 = tempRet0;
$1495 = $1493 | $1491;
$1496 = $1494 | $1492;
$1497 = $1489 ^ $1495;
$1498 = $1490 ^ $1496;
$1499 = $1263 ^ $1137;
$1500 = $1264 ^ $1138;
$1501 = $1387 & $1499;
$1502 = $1388 & $1500;
$1503 = $1263 & $1137;
$1504 = $1264 & $1138;
$1505 = $1501 ^ $1503;
$1506 = $1502 ^ $1504;
$1507 = (_i64Add(($1497|0),($1498|0),($1505|0),($1506|0))|0);
$1508 = tempRet0;
$1509 = (_i64Add(($1433|0),($1434|0),($1011|0),($1012|0))|0);
$1510 = tempRet0;
$1511 = (_i64Add(($1507|0),($1508|0),($1433|0),($1434|0))|0);
$1512 = tempRet0;
$1513 = (_bitshift64Lshr(($1509|0),($1510|0),14)|0);
$1514 = tempRet0;
$1515 = (_bitshift64Shl(($1509|0),($1510|0),50)|0);
$1516 = tempRet0;
$1517 = $1515 | $1513;
$1518 = $1516 | $1514;
$1519 = (_bitshift64Lshr(($1509|0),($1510|0),18)|0);
$1520 = tempRet0;
$1521 = (_bitshift64Shl(($1509|0),($1510|0),46)|0);
$1522 = tempRet0;
$1523 = $1521 | $1519;
$1524 = $1522 | $1520;
$1525 = $1517 ^ $1523;
$1526 = $1518 ^ $1524;
$1527 = (_bitshift64Lshr(($1509|0),($1510|0),41)|0);
$1528 = tempRet0;
$1529 = (_bitshift64Shl(($1509|0),($1510|0),23)|0);
$1530 = tempRet0;
$1531 = $1529 | $1527;
$1532 = $1530 | $1528;
$1533 = $1525 ^ $1531;
$1534 = $1526 ^ $1532;
$1535 = $1509 & $1385;
$1536 = $1510 & $1386;
$1537 = $1509 ^ -1;
$1538 = $1510 ^ -1;
$1539 = $1261 & $1537;
$1540 = $1262 & $1538;
$1541 = $1539 ^ $1535;
$1542 = $1540 ^ $1536;
$1543 = $$151221$i | 10;
$1544 = (8128 + ($1543<<3)|0);
$1545 = $1544;
$1546 = $1545;
$1547 = HEAP32[$1546>>2]|0;
$1548 = (($1545) + 4)|0;
$1549 = $1548;
$1550 = HEAP32[$1549>>2]|0;
$1551 = (_i64Add(($1547|0),($1550|0),($459|0),($460|0))|0);
$1552 = tempRet0;
$1553 = (_i64Add(($1551|0),($1552|0),($1135|0),($1136|0))|0);
$1554 = tempRet0;
$1555 = (_i64Add(($1553|0),($1554|0),($1541|0),($1542|0))|0);
$1556 = tempRet0;
$1557 = (_i64Add(($1555|0),($1556|0),($1533|0),($1534|0))|0);
$1558 = tempRet0;
$1559 = (_bitshift64Lshr(($1351|0),($1352|0),19)|0);
$1560 = tempRet0;
$1561 = (_bitshift64Shl(($1351|0),($1352|0),45)|0);
$1562 = tempRet0;
$1563 = $1561 | $1559;
$1564 = $1562 | $1560;
$1565 = (_bitshift64Lshr(($1351|0),($1352|0),61)|0);
$1566 = tempRet0;
$1567 = (_bitshift64Shl(($1351|0),($1352|0),3)|0);
$1568 = tempRet0;
$1569 = $1567 | $1565;
$1570 = $1568 | $1566;
$1571 = (_bitshift64Lshr(($1351|0),($1352|0),6)|0);
$1572 = tempRet0;
$1573 = $1569 ^ $1571;
$1574 = $1570 ^ $1572;
$1575 = $1573 ^ $1563;
$1576 = $1574 ^ $1564;
$1577 = (_bitshift64Lshr(($587|0),($588|0),1)|0);
$1578 = tempRet0;
$1579 = (_bitshift64Shl(($587|0),($588|0),63)|0);
$1580 = tempRet0;
$1581 = $1579 | $1577;
$1582 = $1580 | $1578;
$1583 = (_bitshift64Lshr(($587|0),($588|0),8)|0);
$1584 = tempRet0;
$1585 = (_bitshift64Shl(($587|0),($588|0),56)|0);
$1586 = tempRet0;
$1587 = $1585 | $1583;
$1588 = $1586 | $1584;
$1589 = (_bitshift64Lshr(($587|0),($588|0),7)|0);
$1590 = tempRet0;
$1591 = $1587 ^ $1589;
$1592 = $1588 ^ $1590;
$1593 = $1591 ^ $1581;
$1594 = $1592 ^ $1582;
$1595 = (_i64Add(($1593|0),($1594|0),($459|0),($460|0))|0);
$1596 = tempRet0;
$1597 = (_i64Add(($1595|0),($1596|0),($721|0),($722|0))|0);
$1598 = tempRet0;
$1599 = (_i64Add(($1597|0),($1598|0),($1575|0),($1576|0))|0);
$1600 = tempRet0;
$1601 = (_bitshift64Lshr(($1511|0),($1512|0),28)|0);
$1602 = tempRet0;
$1603 = (_bitshift64Shl(($1511|0),($1512|0),36)|0);
$1604 = tempRet0;
$1605 = $1603 | $1601;
$1606 = $1604 | $1602;
$1607 = (_bitshift64Lshr(($1511|0),($1512|0),34)|0);
$1608 = tempRet0;
$1609 = (_bitshift64Shl(($1511|0),($1512|0),30)|0);
$1610 = tempRet0;
$1611 = $1609 | $1607;
$1612 = $1610 | $1608;
$1613 = $1605 ^ $1611;
$1614 = $1606 ^ $1612;
$1615 = (_bitshift64Lshr(($1511|0),($1512|0),39)|0);
$1616 = tempRet0;
$1617 = (_bitshift64Shl(($1511|0),($1512|0),25)|0);
$1618 = tempRet0;
$1619 = $1617 | $1615;
$1620 = $1618 | $1616;
$1621 = $1613 ^ $1619;
$1622 = $1614 ^ $1620;
$1623 = $1387 ^ $1263;
$1624 = $1388 ^ $1264;
$1625 = $1511 & $1623;
$1626 = $1512 & $1624;
$1627 = $1387 & $1263;
$1628 = $1388 & $1264;
$1629 = $1625 ^ $1627;
$1630 = $1626 ^ $1628;
$1631 = (_i64Add(($1621|0),($1622|0),($1629|0),($1630|0))|0);
$1632 = tempRet0;
$1633 = (_i64Add(($1557|0),($1558|0),($1137|0),($1138|0))|0);
$1634 = tempRet0;
$1635 = (_i64Add(($1631|0),($1632|0),($1557|0),($1558|0))|0);
$1636 = tempRet0;
$1637 = (_bitshift64Lshr(($1633|0),($1634|0),14)|0);
$1638 = tempRet0;
$1639 = (_bitshift64Shl(($1633|0),($1634|0),50)|0);
$1640 = tempRet0;
$1641 = $1639 | $1637;
$1642 = $1640 | $1638;
$1643 = (_bitshift64Lshr(($1633|0),($1634|0),18)|0);
$1644 = tempRet0;
$1645 = (_bitshift64Shl(($1633|0),($1634|0),46)|0);
$1646 = tempRet0;
$1647 = $1645 | $1643;
$1648 = $1646 | $1644;
$1649 = $1641 ^ $1647;
$1650 = $1642 ^ $1648;
$1651 = (_bitshift64Lshr(($1633|0),($1634|0),41)|0);
$1652 = tempRet0;
$1653 = (_bitshift64Shl(($1633|0),($1634|0),23)|0);
$1654 = tempRet0;
$1655 = $1653 | $1651;
$1656 = $1654 | $1652;
$1657 = $1649 ^ $1655;
$1658 = $1650 ^ $1656;
$1659 = $1633 & $1509;
$1660 = $1634 & $1510;
$1661 = $1633 ^ -1;
$1662 = $1634 ^ -1;
$1663 = $1385 & $1661;
$1664 = $1386 & $1662;
$1665 = $1663 ^ $1659;
$1666 = $1664 ^ $1660;
$1667 = $$151221$i | 11;
$1668 = (8128 + ($1667<<3)|0);
$1669 = $1668;
$1670 = $1669;
$1671 = HEAP32[$1670>>2]|0;
$1672 = (($1669) + 4)|0;
$1673 = $1672;
$1674 = HEAP32[$1673>>2]|0;
$1675 = (_i64Add(($1671|0),($1674|0),($587|0),($588|0))|0);
$1676 = tempRet0;
$1677 = (_i64Add(($1675|0),($1676|0),($1261|0),($1262|0))|0);
$1678 = tempRet0;
$1679 = (_i64Add(($1677|0),($1678|0),($1665|0),($1666|0))|0);
$1680 = tempRet0;
$1681 = (_i64Add(($1679|0),($1680|0),($1657|0),($1658|0))|0);
$1682 = tempRet0;
$1683 = (_bitshift64Lshr(($1475|0),($1476|0),19)|0);
$1684 = tempRet0;
$1685 = (_bitshift64Shl(($1475|0),($1476|0),45)|0);
$1686 = tempRet0;
$1687 = $1685 | $1683;
$1688 = $1686 | $1684;
$1689 = (_bitshift64Lshr(($1475|0),($1476|0),61)|0);
$1690 = tempRet0;
$1691 = (_bitshift64Shl(($1475|0),($1476|0),3)|0);
$1692 = tempRet0;
$1693 = $1691 | $1689;
$1694 = $1692 | $1690;
$1695 = (_bitshift64Lshr(($1475|0),($1476|0),6)|0);
$1696 = tempRet0;
$1697 = $1693 ^ $1695;
$1698 = $1694 ^ $1696;
$1699 = $1697 ^ $1687;
$1700 = $1698 ^ $1688;
$1701 = (_bitshift64Lshr(($715|0),($716|0),1)|0);
$1702 = tempRet0;
$1703 = (_bitshift64Shl(($715|0),($716|0),63)|0);
$1704 = tempRet0;
$1705 = $1703 | $1701;
$1706 = $1704 | $1702;
$1707 = (_bitshift64Lshr(($715|0),($716|0),8)|0);
$1708 = tempRet0;
$1709 = (_bitshift64Shl(($715|0),($716|0),56)|0);
$1710 = tempRet0;
$1711 = $1709 | $1707;
$1712 = $1710 | $1708;
$1713 = (_bitshift64Lshr(($715|0),($716|0),7)|0);
$1714 = tempRet0;
$1715 = $1711 ^ $1713;
$1716 = $1712 ^ $1714;
$1717 = $1715 ^ $1705;
$1718 = $1716 ^ $1706;
$1719 = (_i64Add(($1717|0),($1718|0),($587|0),($588|0))|0);
$1720 = tempRet0;
$1721 = (_i64Add(($1719|0),($1720|0),($849|0),($850|0))|0);
$1722 = tempRet0;
$1723 = (_i64Add(($1721|0),($1722|0),($1699|0),($1700|0))|0);
$1724 = tempRet0;
$1725 = (_bitshift64Lshr(($1635|0),($1636|0),28)|0);
$1726 = tempRet0;
$1727 = (_bitshift64Shl(($1635|0),($1636|0),36)|0);
$1728 = tempRet0;
$1729 = $1727 | $1725;
$1730 = $1728 | $1726;
$1731 = (_bitshift64Lshr(($1635|0),($1636|0),34)|0);
$1732 = tempRet0;
$1733 = (_bitshift64Shl(($1635|0),($1636|0),30)|0);
$1734 = tempRet0;
$1735 = $1733 | $1731;
$1736 = $1734 | $1732;
$1737 = $1729 ^ $1735;
$1738 = $1730 ^ $1736;
$1739 = (_bitshift64Lshr(($1635|0),($1636|0),39)|0);
$1740 = tempRet0;
$1741 = (_bitshift64Shl(($1635|0),($1636|0),25)|0);
$1742 = tempRet0;
$1743 = $1741 | $1739;
$1744 = $1742 | $1740;
$1745 = $1737 ^ $1743;
$1746 = $1738 ^ $1744;
$1747 = $1511 ^ $1387;
$1748 = $1512 ^ $1388;
$1749 = $1635 & $1747;
$1750 = $1636 & $1748;
$1751 = $1511 & $1387;
$1752 = $1512 & $1388;
$1753 = $1749 ^ $1751;
$1754 = $1750 ^ $1752;
$1755 = (_i64Add(($1745|0),($1746|0),($1753|0),($1754|0))|0);
$1756 = tempRet0;
$1757 = (_i64Add(($1681|0),($1682|0),($1263|0),($1264|0))|0);
$1758 = tempRet0;
$1759 = (_i64Add(($1755|0),($1756|0),($1681|0),($1682|0))|0);
$1760 = tempRet0;
$1761 = (_bitshift64Lshr(($1757|0),($1758|0),14)|0);
$1762 = tempRet0;
$1763 = (_bitshift64Shl(($1757|0),($1758|0),50)|0);
$1764 = tempRet0;
$1765 = $1763 | $1761;
$1766 = $1764 | $1762;
$1767 = (_bitshift64Lshr(($1757|0),($1758|0),18)|0);
$1768 = tempRet0;
$1769 = (_bitshift64Shl(($1757|0),($1758|0),46)|0);
$1770 = tempRet0;
$1771 = $1769 | $1767;
$1772 = $1770 | $1768;
$1773 = $1765 ^ $1771;
$1774 = $1766 ^ $1772;
$1775 = (_bitshift64Lshr(($1757|0),($1758|0),41)|0);
$1776 = tempRet0;
$1777 = (_bitshift64Shl(($1757|0),($1758|0),23)|0);
$1778 = tempRet0;
$1779 = $1777 | $1775;
$1780 = $1778 | $1776;
$1781 = $1773 ^ $1779;
$1782 = $1774 ^ $1780;
$1783 = $1757 & $1633;
$1784 = $1758 & $1634;
$1785 = $1757 ^ -1;
$1786 = $1758 ^ -1;
$1787 = $1509 & $1785;
$1788 = $1510 & $1786;
$1789 = $1787 ^ $1783;
$1790 = $1788 ^ $1784;
$1791 = $$151221$i | 12;
$1792 = (8128 + ($1791<<3)|0);
$1793 = $1792;
$1794 = $1793;
$1795 = HEAP32[$1794>>2]|0;
$1796 = (($1793) + 4)|0;
$1797 = $1796;
$1798 = HEAP32[$1797>>2]|0;
$1799 = (_i64Add(($1795|0),($1798|0),($715|0),($716|0))|0);
$1800 = tempRet0;
$1801 = (_i64Add(($1799|0),($1800|0),($1385|0),($1386|0))|0);
$1802 = tempRet0;
$1803 = (_i64Add(($1801|0),($1802|0),($1789|0),($1790|0))|0);
$1804 = tempRet0;
$1805 = (_i64Add(($1803|0),($1804|0),($1781|0),($1782|0))|0);
$1806 = tempRet0;
$1807 = (_bitshift64Lshr(($1599|0),($1600|0),19)|0);
$1808 = tempRet0;
$1809 = (_bitshift64Shl(($1599|0),($1600|0),45)|0);
$1810 = tempRet0;
$1811 = $1809 | $1807;
$1812 = $1810 | $1808;
$1813 = (_bitshift64Lshr(($1599|0),($1600|0),61)|0);
$1814 = tempRet0;
$1815 = (_bitshift64Shl(($1599|0),($1600|0),3)|0);
$1816 = tempRet0;
$1817 = $1815 | $1813;
$1818 = $1816 | $1814;
$1819 = (_bitshift64Lshr(($1599|0),($1600|0),6)|0);
$1820 = tempRet0;
$1821 = $1817 ^ $1819;
$1822 = $1818 ^ $1820;
$1823 = $1821 ^ $1811;
$1824 = $1822 ^ $1812;
$1825 = (_bitshift64Lshr(($843|0),($844|0),1)|0);
$1826 = tempRet0;
$1827 = (_bitshift64Shl(($843|0),($844|0),63)|0);
$1828 = tempRet0;
$1829 = $1827 | $1825;
$1830 = $1828 | $1826;
$1831 = (_bitshift64Lshr(($843|0),($844|0),8)|0);
$1832 = tempRet0;
$1833 = (_bitshift64Shl(($843|0),($844|0),56)|0);
$1834 = tempRet0;
$1835 = $1833 | $1831;
$1836 = $1834 | $1832;
$1837 = (_bitshift64Lshr(($843|0),($844|0),7)|0);
$1838 = tempRet0;
$1839 = $1835 ^ $1837;
$1840 = $1836 ^ $1838;
$1841 = $1839 ^ $1829;
$1842 = $1840 ^ $1830;
$1843 = (_i64Add(($1841|0),($1842|0),($715|0),($716|0))|0);
$1844 = tempRet0;
$1845 = (_i64Add(($1843|0),($1844|0),($975|0),($976|0))|0);
$1846 = tempRet0;
$1847 = (_i64Add(($1845|0),($1846|0),($1823|0),($1824|0))|0);
$1848 = tempRet0;
$1849 = (_bitshift64Lshr(($1759|0),($1760|0),28)|0);
$1850 = tempRet0;
$1851 = (_bitshift64Shl(($1759|0),($1760|0),36)|0);
$1852 = tempRet0;
$1853 = $1851 | $1849;
$1854 = $1852 | $1850;
$1855 = (_bitshift64Lshr(($1759|0),($1760|0),34)|0);
$1856 = tempRet0;
$1857 = (_bitshift64Shl(($1759|0),($1760|0),30)|0);
$1858 = tempRet0;
$1859 = $1857 | $1855;
$1860 = $1858 | $1856;
$1861 = $1853 ^ $1859;
$1862 = $1854 ^ $1860;
$1863 = (_bitshift64Lshr(($1759|0),($1760|0),39)|0);
$1864 = tempRet0;
$1865 = (_bitshift64Shl(($1759|0),($1760|0),25)|0);
$1866 = tempRet0;
$1867 = $1865 | $1863;
$1868 = $1866 | $1864;
$1869 = $1861 ^ $1867;
$1870 = $1862 ^ $1868;
$1871 = $1635 ^ $1511;
$1872 = $1636 ^ $1512;
$1873 = $1759 & $1871;
$1874 = $1760 & $1872;
$1875 = $1635 & $1511;
$1876 = $1636 & $1512;
$1877 = $1873 ^ $1875;
$1878 = $1874 ^ $1876;
$1879 = (_i64Add(($1869|0),($1870|0),($1877|0),($1878|0))|0);
$1880 = tempRet0;
$1881 = (_i64Add(($1805|0),($1806|0),($1387|0),($1388|0))|0);
$1882 = tempRet0;
$1883 = (_i64Add(($1879|0),($1880|0),($1805|0),($1806|0))|0);
$1884 = tempRet0;
$1885 = (_bitshift64Lshr(($1881|0),($1882|0),14)|0);
$1886 = tempRet0;
$1887 = (_bitshift64Shl(($1881|0),($1882|0),50)|0);
$1888 = tempRet0;
$1889 = $1887 | $1885;
$1890 = $1888 | $1886;
$1891 = (_bitshift64Lshr(($1881|0),($1882|0),18)|0);
$1892 = tempRet0;
$1893 = (_bitshift64Shl(($1881|0),($1882|0),46)|0);
$1894 = tempRet0;
$1895 = $1893 | $1891;
$1896 = $1894 | $1892;
$1897 = $1889 ^ $1895;
$1898 = $1890 ^ $1896;
$1899 = (_bitshift64Lshr(($1881|0),($1882|0),41)|0);
$1900 = tempRet0;
$1901 = (_bitshift64Shl(($1881|0),($1882|0),23)|0);
$1902 = tempRet0;
$1903 = $1901 | $1899;
$1904 = $1902 | $1900;
$1905 = $1897 ^ $1903;
$1906 = $1898 ^ $1904;
$1907 = $1881 & $1757;
$1908 = $1882 & $1758;
$1909 = $1881 ^ -1;
$1910 = $1882 ^ -1;
$1911 = $1633 & $1909;
$1912 = $1634 & $1910;
$1913 = $1911 ^ $1907;
$1914 = $1912 ^ $1908;
$1915 = $$151221$i | 13;
$1916 = (8128 + ($1915<<3)|0);
$1917 = $1916;
$1918 = $1917;
$1919 = HEAP32[$1918>>2]|0;
$1920 = (($1917) + 4)|0;
$1921 = $1920;
$1922 = HEAP32[$1921>>2]|0;
$1923 = (_i64Add(($1919|0),($1922|0),($843|0),($844|0))|0);
$1924 = tempRet0;
$1925 = (_i64Add(($1923|0),($1924|0),($1509|0),($1510|0))|0);
$1926 = tempRet0;
$1927 = (_i64Add(($1925|0),($1926|0),($1913|0),($1914|0))|0);
$1928 = tempRet0;
$1929 = (_i64Add(($1927|0),($1928|0),($1905|0),($1906|0))|0);
$1930 = tempRet0;
$1931 = (_bitshift64Lshr(($1723|0),($1724|0),19)|0);
$1932 = tempRet0;
$1933 = (_bitshift64Shl(($1723|0),($1724|0),45)|0);
$1934 = tempRet0;
$1935 = $1933 | $1931;
$1936 = $1934 | $1932;
$1937 = (_bitshift64Lshr(($1723|0),($1724|0),61)|0);
$1938 = tempRet0;
$1939 = (_bitshift64Shl(($1723|0),($1724|0),3)|0);
$1940 = tempRet0;
$1941 = $1939 | $1937;
$1942 = $1940 | $1938;
$1943 = (_bitshift64Lshr(($1723|0),($1724|0),6)|0);
$1944 = tempRet0;
$1945 = $1941 ^ $1943;
$1946 = $1942 ^ $1944;
$1947 = $1945 ^ $1935;
$1948 = $1946 ^ $1936;
$1949 = (_bitshift64Lshr(($281|0),($282|0),1)|0);
$1950 = tempRet0;
$1951 = (_bitshift64Shl(($281|0),($282|0),63)|0);
$1952 = tempRet0;
$1953 = $1951 | $1949;
$1954 = $1952 | $1950;
$1955 = (_bitshift64Lshr(($281|0),($282|0),8)|0);
$1956 = tempRet0;
$1957 = (_bitshift64Shl(($281|0),($282|0),56)|0);
$1958 = tempRet0;
$1959 = $1957 | $1955;
$1960 = $1958 | $1956;
$1961 = (_bitshift64Lshr(($281|0),($282|0),7)|0);
$1962 = tempRet0;
$1963 = $1959 ^ $1961;
$1964 = $1960 ^ $1962;
$1965 = $1963 ^ $1953;
$1966 = $1964 ^ $1954;
$1967 = (_i64Add(($1965|0),($1966|0),($843|0),($844|0))|0);
$1968 = tempRet0;
$1969 = (_i64Add(($1967|0),($1968|0),($1101|0),($1102|0))|0);
$1970 = tempRet0;
$1971 = (_i64Add(($1969|0),($1970|0),($1947|0),($1948|0))|0);
$1972 = tempRet0;
$1973 = (_bitshift64Lshr(($1883|0),($1884|0),28)|0);
$1974 = tempRet0;
$1975 = (_bitshift64Shl(($1883|0),($1884|0),36)|0);
$1976 = tempRet0;
$1977 = $1975 | $1973;
$1978 = $1976 | $1974;
$1979 = (_bitshift64Lshr(($1883|0),($1884|0),34)|0);
$1980 = tempRet0;
$1981 = (_bitshift64Shl(($1883|0),($1884|0),30)|0);
$1982 = tempRet0;
$1983 = $1981 | $1979;
$1984 = $1982 | $1980;
$1985 = $1977 ^ $1983;
$1986 = $1978 ^ $1984;
$1987 = (_bitshift64Lshr(($1883|0),($1884|0),39)|0);
$1988 = tempRet0;
$1989 = (_bitshift64Shl(($1883|0),($1884|0),25)|0);
$1990 = tempRet0;
$1991 = $1989 | $1987;
$1992 = $1990 | $1988;
$1993 = $1985 ^ $1991;
$1994 = $1986 ^ $1992;
$1995 = $1759 ^ $1635;
$1996 = $1760 ^ $1636;
$1997 = $1883 & $1995;
$1998 = $1884 & $1996;
$1999 = $1759 & $1635;
$2000 = $1760 & $1636;
$2001 = $1997 ^ $1999;
$2002 = $1998 ^ $2000;
$2003 = (_i64Add(($1993|0),($1994|0),($2001|0),($2002|0))|0);
$2004 = tempRet0;
$2005 = (_i64Add(($1929|0),($1930|0),($1511|0),($1512|0))|0);
$2006 = tempRet0;
$2007 = (_i64Add(($2003|0),($2004|0),($1929|0),($1930|0))|0);
$2008 = tempRet0;
$2009 = (_bitshift64Lshr(($2005|0),($2006|0),14)|0);
$2010 = tempRet0;
$2011 = (_bitshift64Shl(($2005|0),($2006|0),50)|0);
$2012 = tempRet0;
$2013 = $2011 | $2009;
$2014 = $2012 | $2010;
$2015 = (_bitshift64Lshr(($2005|0),($2006|0),18)|0);
$2016 = tempRet0;
$2017 = (_bitshift64Shl(($2005|0),($2006|0),46)|0);
$2018 = tempRet0;
$2019 = $2017 | $2015;
$2020 = $2018 | $2016;
$2021 = $2013 ^ $2019;
$2022 = $2014 ^ $2020;
$2023 = (_bitshift64Lshr(($2005|0),($2006|0),41)|0);
$2024 = tempRet0;
$2025 = (_bitshift64Shl(($2005|0),($2006|0),23)|0);
$2026 = tempRet0;
$2027 = $2025 | $2023;
$2028 = $2026 | $2024;
$2029 = $2021 ^ $2027;
$2030 = $2022 ^ $2028;
$2031 = $2005 & $1881;
$2032 = $2006 & $1882;
$2033 = $2005 ^ -1;
$2034 = $2006 ^ -1;
$2035 = $1757 & $2033;
$2036 = $1758 & $2034;
$2037 = $2035 ^ $2031;
$2038 = $2036 ^ $2032;
$2039 = $$151221$i | 14;
$2040 = (8128 + ($2039<<3)|0);
$2041 = $2040;
$2042 = $2041;
$2043 = HEAP32[$2042>>2]|0;
$2044 = (($2041) + 4)|0;
$2045 = $2044;
$2046 = HEAP32[$2045>>2]|0;
$2047 = (_i64Add(($2043|0),($2046|0),($281|0),($282|0))|0);
$2048 = tempRet0;
$2049 = (_i64Add(($2047|0),($2048|0),($1633|0),($1634|0))|0);
$2050 = tempRet0;
$2051 = (_i64Add(($2049|0),($2050|0),($2037|0),($2038|0))|0);
$2052 = tempRet0;
$2053 = (_i64Add(($2051|0),($2052|0),($2029|0),($2030|0))|0);
$2054 = tempRet0;
$2055 = (_bitshift64Lshr(($1847|0),($1848|0),19)|0);
$2056 = tempRet0;
$2057 = (_bitshift64Shl(($1847|0),($1848|0),45)|0);
$2058 = tempRet0;
$2059 = $2057 | $2055;
$2060 = $2058 | $2056;
$2061 = (_bitshift64Lshr(($1847|0),($1848|0),61)|0);
$2062 = tempRet0;
$2063 = (_bitshift64Shl(($1847|0),($1848|0),3)|0);
$2064 = tempRet0;
$2065 = $2063 | $2061;
$2066 = $2064 | $2062;
$2067 = (_bitshift64Lshr(($1847|0),($1848|0),6)|0);
$2068 = tempRet0;
$2069 = $2065 ^ $2067;
$2070 = $2066 ^ $2068;
$2071 = $2069 ^ $2059;
$2072 = $2070 ^ $2060;
$2073 = (_bitshift64Lshr(($419|0),($420|0),1)|0);
$2074 = tempRet0;
$2075 = (_bitshift64Shl(($419|0),($420|0),63)|0);
$2076 = tempRet0;
$2077 = $2075 | $2073;
$2078 = $2076 | $2074;
$2079 = (_bitshift64Lshr(($419|0),($420|0),8)|0);
$2080 = tempRet0;
$2081 = (_bitshift64Shl(($419|0),($420|0),56)|0);
$2082 = tempRet0;
$2083 = $2081 | $2079;
$2084 = $2082 | $2080;
$2085 = (_bitshift64Lshr(($419|0),($420|0),7)|0);
$2086 = tempRet0;
$2087 = $2083 ^ $2085;
$2088 = $2084 ^ $2086;
$2089 = $2087 ^ $2077;
$2090 = $2088 ^ $2078;
$2091 = (_i64Add(($2089|0),($2090|0),($281|0),($282|0))|0);
$2092 = tempRet0;
$2093 = (_i64Add(($2091|0),($2092|0),($1227|0),($1228|0))|0);
$2094 = tempRet0;
$2095 = (_i64Add(($2093|0),($2094|0),($2071|0),($2072|0))|0);
$2096 = tempRet0;
$2097 = (_bitshift64Lshr(($2007|0),($2008|0),28)|0);
$2098 = tempRet0;
$2099 = (_bitshift64Shl(($2007|0),($2008|0),36)|0);
$2100 = tempRet0;
$2101 = $2099 | $2097;
$2102 = $2100 | $2098;
$2103 = (_bitshift64Lshr(($2007|0),($2008|0),34)|0);
$2104 = tempRet0;
$2105 = (_bitshift64Shl(($2007|0),($2008|0),30)|0);
$2106 = tempRet0;
$2107 = $2105 | $2103;
$2108 = $2106 | $2104;
$2109 = $2101 ^ $2107;
$2110 = $2102 ^ $2108;
$2111 = (_bitshift64Lshr(($2007|0),($2008|0),39)|0);
$2112 = tempRet0;
$2113 = (_bitshift64Shl(($2007|0),($2008|0),25)|0);
$2114 = tempRet0;
$2115 = $2113 | $2111;
$2116 = $2114 | $2112;
$2117 = $2109 ^ $2115;
$2118 = $2110 ^ $2116;
$2119 = $1883 ^ $1759;
$2120 = $1884 ^ $1760;
$2121 = $2007 & $2119;
$2122 = $2008 & $2120;
$2123 = $1883 & $1759;
$2124 = $1884 & $1760;
$2125 = $2121 ^ $2123;
$2126 = $2122 ^ $2124;
$2127 = (_i64Add(($2117|0),($2118|0),($2125|0),($2126|0))|0);
$2128 = tempRet0;
$2129 = (_i64Add(($2053|0),($2054|0),($1635|0),($1636|0))|0);
$2130 = tempRet0;
$2131 = (_i64Add(($2127|0),($2128|0),($2053|0),($2054|0))|0);
$2132 = tempRet0;
$2133 = (_bitshift64Lshr(($2129|0),($2130|0),14)|0);
$2134 = tempRet0;
$2135 = (_bitshift64Shl(($2129|0),($2130|0),50)|0);
$2136 = tempRet0;
$2137 = $2135 | $2133;
$2138 = $2136 | $2134;
$2139 = (_bitshift64Lshr(($2129|0),($2130|0),18)|0);
$2140 = tempRet0;
$2141 = (_bitshift64Shl(($2129|0),($2130|0),46)|0);
$2142 = tempRet0;
$2143 = $2141 | $2139;
$2144 = $2142 | $2140;
$2145 = $2137 ^ $2143;
$2146 = $2138 ^ $2144;
$2147 = (_bitshift64Lshr(($2129|0),($2130|0),41)|0);
$2148 = tempRet0;
$2149 = (_bitshift64Shl(($2129|0),($2130|0),23)|0);
$2150 = tempRet0;
$2151 = $2149 | $2147;
$2152 = $2150 | $2148;
$2153 = $2145 ^ $2151;
$2154 = $2146 ^ $2152;
$2155 = $2129 & $2005;
$2156 = $2130 & $2006;
$2157 = $2129 ^ -1;
$2158 = $2130 ^ -1;
$2159 = $1881 & $2157;
$2160 = $1882 & $2158;
$2161 = $2159 ^ $2155;
$2162 = $2160 ^ $2156;
$2163 = $$151221$i | 15;
$2164 = (8128 + ($2163<<3)|0);
$2165 = $2164;
$2166 = $2165;
$2167 = HEAP32[$2166>>2]|0;
$2168 = (($2165) + 4)|0;
$2169 = $2168;
$2170 = HEAP32[$2169>>2]|0;
$2171 = (_i64Add(($2167|0),($2170|0),($419|0),($420|0))|0);
$2172 = tempRet0;
$2173 = (_i64Add(($2171|0),($2172|0),($1757|0),($1758|0))|0);
$2174 = tempRet0;
$2175 = (_i64Add(($2173|0),($2174|0),($2161|0),($2162|0))|0);
$2176 = tempRet0;
$2177 = (_i64Add(($2175|0),($2176|0),($2153|0),($2154|0))|0);
$2178 = tempRet0;
$2179 = (_bitshift64Lshr(($1971|0),($1972|0),19)|0);
$2180 = tempRet0;
$2181 = (_bitshift64Shl(($1971|0),($1972|0),45)|0);
$2182 = tempRet0;
$2183 = $2181 | $2179;
$2184 = $2182 | $2180;
$2185 = (_bitshift64Lshr(($1971|0),($1972|0),61)|0);
$2186 = tempRet0;
$2187 = (_bitshift64Shl(($1971|0),($1972|0),3)|0);
$2188 = tempRet0;
$2189 = $2187 | $2185;
$2190 = $2188 | $2186;
$2191 = (_bitshift64Lshr(($1971|0),($1972|0),6)|0);
$2192 = tempRet0;
$2193 = $2189 ^ $2191;
$2194 = $2190 ^ $2192;
$2195 = $2193 ^ $2183;
$2196 = $2194 ^ $2184;
$2197 = (_bitshift64Lshr(($327|0),($328|0),1)|0);
$2198 = tempRet0;
$2199 = (_bitshift64Shl(($327|0),($328|0),63)|0);
$2200 = tempRet0;
$2201 = $2199 | $2197;
$2202 = $2200 | $2198;
$2203 = (_bitshift64Lshr(($327|0),($328|0),8)|0);
$2204 = tempRet0;
$2205 = (_bitshift64Shl(($327|0),($328|0),56)|0);
$2206 = tempRet0;
$2207 = $2205 | $2203;
$2208 = $2206 | $2204;
$2209 = (_bitshift64Lshr(($327|0),($328|0),7)|0);
$2210 = tempRet0;
$2211 = $2207 ^ $2209;
$2212 = $2208 ^ $2210;
$2213 = $2211 ^ $2201;
$2214 = $2212 ^ $2202;
$2215 = (_i64Add(($2213|0),($2214|0),($419|0),($420|0))|0);
$2216 = tempRet0;
$2217 = (_i64Add(($2215|0),($2216|0),($1351|0),($1352|0))|0);
$2218 = tempRet0;
$2219 = (_i64Add(($2217|0),($2218|0),($2195|0),($2196|0))|0);
$2220 = tempRet0;
$2221 = (_bitshift64Lshr(($2131|0),($2132|0),28)|0);
$2222 = tempRet0;
$2223 = (_bitshift64Shl(($2131|0),($2132|0),36)|0);
$2224 = tempRet0;
$2225 = $2223 | $2221;
$2226 = $2224 | $2222;
$2227 = (_bitshift64Lshr(($2131|0),($2132|0),34)|0);
$2228 = tempRet0;
$2229 = (_bitshift64Shl(($2131|0),($2132|0),30)|0);
$2230 = tempRet0;
$2231 = $2229 | $2227;
$2232 = $2230 | $2228;
$2233 = $2225 ^ $2231;
$2234 = $2226 ^ $2232;
$2235 = (_bitshift64Lshr(($2131|0),($2132|0),39)|0);
$2236 = tempRet0;
$2237 = (_bitshift64Shl(($2131|0),($2132|0),25)|0);
$2238 = tempRet0;
$2239 = $2237 | $2235;
$2240 = $2238 | $2236;
$2241 = $2233 ^ $2239;
$2242 = $2234 ^ $2240;
$2243 = $2007 ^ $1883;
$2244 = $2008 ^ $1884;
$2245 = $2131 & $2243;
$2246 = $2132 & $2244;
$2247 = $2007 & $1883;
$2248 = $2008 & $1884;
$2249 = $2245 ^ $2247;
$2250 = $2246 ^ $2248;
$2251 = (_i64Add(($2241|0),($2242|0),($2249|0),($2250|0))|0);
$2252 = tempRet0;
$2253 = (_i64Add(($2177|0),($2178|0),($1759|0),($1760|0))|0);
$2254 = tempRet0;
$2255 = (_i64Add(($2251|0),($2252|0),($2177|0),($2178|0))|0);
$2256 = tempRet0;
$2257 = (($$151221$i) + 16)|0;
$2258 = ($2257>>>0)<(64);
if ($2258) {
$$151221$i = $2257;$1077 = $1227;$1078 = $1228;$1203 = $1351;$1204 = $1352;$226 = $2253;$227 = $2254;$251 = $2129;$253 = $2130;$257 = $2005;$259 = $2006;$269 = $1881;$270 = $1882;$271 = $327;$272 = $328;$281 = $2095;$282 = $2096;$301 = $465;$302 = $466;$321 = $1475;$322 = $1476;$329 = $2255;$330 = $2256;$354 = $2007;$355 = $2131;$357 = $2008;$358 = $2132;$367 = $1883;$368 = $1884;$419 = $2219;$420 = $2220;$439 = $593;$440 = $594;$459 = $1599;$460 = $1600;$567 = $721;$568 = $722;$587 = $1723;$588 = $1724;$695 = $849;$696 = $850;$715 = $1847;$716 = $1848;$823 = $975;$824 = $976;$843 = $1971;$844 = $1972;$951 = $1101;$952 = $1102;
} else {
break;
}
}
$2259 = $3;
$2260 = $2259;
HEAP32[$2260>>2] = $327;
$2261 = (($2259) + 4)|0;
$2262 = $2261;
HEAP32[$2262>>2] = $328;
$2263 = $12;
$2264 = $2263;
HEAP32[$2264>>2] = $2095;
$2265 = (($2263) + 4)|0;
$2266 = $2265;
HEAP32[$2266>>2] = $2096;
$2267 = $13;
$2268 = $2267;
HEAP32[$2268>>2] = $1475;
$2269 = (($2267) + 4)|0;
$2270 = $2269;
HEAP32[$2270>>2] = $1476;
$2271 = $14;
$2272 = $2271;
HEAP32[$2272>>2] = $465;
$2273 = (($2271) + 4)|0;
$2274 = $2273;
HEAP32[$2274>>2] = $466;
$2275 = $15;
$2276 = $2275;
HEAP32[$2276>>2] = $2219;
$2277 = (($2275) + 4)|0;
$2278 = $2277;
HEAP32[$2278>>2] = $2220;
$2279 = $16;
$2280 = $2279;
HEAP32[$2280>>2] = $1599;
$2281 = (($2279) + 4)|0;
$2282 = $2281;
HEAP32[$2282>>2] = $1600;
$2283 = $17;
$2284 = $2283;
HEAP32[$2284>>2] = $593;
$2285 = (($2283) + 4)|0;
$2286 = $2285;
HEAP32[$2286>>2] = $594;
$2287 = $18;
$2288 = $2287;
HEAP32[$2288>>2] = $1723;
$2289 = (($2287) + 4)|0;
$2290 = $2289;
HEAP32[$2290>>2] = $1724;
$2291 = $19;
$2292 = $2291;
HEAP32[$2292>>2] = $721;
$2293 = (($2291) + 4)|0;
$2294 = $2293;
HEAP32[$2294>>2] = $722;
$2295 = $20;
$2296 = $2295;
HEAP32[$2296>>2] = $1847;
$2297 = (($2295) + 4)|0;
$2298 = $2297;
HEAP32[$2298>>2] = $1848;
$2299 = $21;
$2300 = $2299;
HEAP32[$2300>>2] = $849;
$2301 = (($2299) + 4)|0;
$2302 = $2301;
HEAP32[$2302>>2] = $850;
$2303 = $22;
$2304 = $2303;
HEAP32[$2304>>2] = $1971;
$2305 = (($2303) + 4)|0;
$2306 = $2305;
HEAP32[$2306>>2] = $1972;
$2307 = $23;
$2308 = $2307;
HEAP32[$2308>>2] = $975;
$2309 = (($2307) + 4)|0;
$2310 = $2309;
HEAP32[$2310>>2] = $976;
$2311 = $24;
$2312 = $2311;
HEAP32[$2312>>2] = $1101;
$2313 = (($2311) + 4)|0;
$2314 = $2313;
HEAP32[$2314>>2] = $1102;
$2315 = $25;
$2316 = $2315;
HEAP32[$2316>>2] = $1227;
$2317 = (($2315) + 4)|0;
$2318 = $2317;
HEAP32[$2318>>2] = $1228;
$2319 = $26;
$2320 = $2319;
HEAP32[$2320>>2] = $1351;
$2321 = (($2319) + 4)|0;
$2322 = $2321;
HEAP32[$2322>>2] = $1352;
$2323 = (_bitshift64Lshr(($2253|0),($2254|0),14)|0);
$2324 = tempRet0;
$2325 = (_bitshift64Shl(($2253|0),($2254|0),50)|0);
$2326 = tempRet0;
$2327 = $2325 | $2323;
$2328 = $2326 | $2324;
$2329 = (_bitshift64Lshr(($2253|0),($2254|0),18)|0);
$2330 = tempRet0;
$2331 = (_bitshift64Shl(($2253|0),($2254|0),46)|0);
$2332 = tempRet0;
$2333 = $2331 | $2329;
$2334 = $2332 | $2330;
$2335 = $2327 ^ $2333;
$2336 = $2328 ^ $2334;
$2337 = (_bitshift64Lshr(($2253|0),($2254|0),41)|0);
$2338 = tempRet0;
$2339 = (_bitshift64Shl(($2253|0),($2254|0),23)|0);
$2340 = tempRet0;
$2341 = $2339 | $2337;
$2342 = $2340 | $2338;
$2343 = $2335 ^ $2341;
$2344 = $2336 ^ $2342;
$2345 = $2253 & $2129;
$2346 = $2254 & $2130;
$2347 = $2253 ^ -1;
$2348 = $2254 ^ -1;
$2349 = $2005 & $2347;
$2350 = $2006 & $2348;
$2351 = $2349 ^ $2345;
$2352 = $2350 ^ $2346;
$2353 = (_i64Add(($327|0),($328|0),-366583396,-903397682)|0);
$2354 = tempRet0;
$2355 = (_i64Add(($2353|0),($2354|0),($1881|0),($1882|0))|0);
$2356 = tempRet0;
$2357 = (_i64Add(($2355|0),($2356|0),($2351|0),($2352|0))|0);
$2358 = tempRet0;
$2359 = (_i64Add(($2357|0),($2358|0),($2343|0),($2344|0))|0);
$2360 = tempRet0;
$2361 = (_bitshift64Lshr(($2255|0),($2256|0),28)|0);
$2362 = tempRet0;
$2363 = (_bitshift64Shl(($2255|0),($2256|0),36)|0);
$2364 = tempRet0;
$2365 = $2363 | $2361;
$2366 = $2364 | $2362;
$2367 = (_bitshift64Lshr(($2255|0),($2256|0),34)|0);
$2368 = tempRet0;
$2369 = (_bitshift64Shl(($2255|0),($2256|0),30)|0);
$2370 = tempRet0;
$2371 = $2369 | $2367;
$2372 = $2370 | $2368;
$2373 = $2365 ^ $2371;
$2374 = $2366 ^ $2372;
$2375 = (_bitshift64Lshr(($2255|0),($2256|0),39)|0);
$2376 = tempRet0;
$2377 = (_bitshift64Shl(($2255|0),($2256|0),25)|0);
$2378 = tempRet0;
$2379 = $2377 | $2375;
$2380 = $2378 | $2376;
$2381 = $2373 ^ $2379;
$2382 = $2374 ^ $2380;
$2383 = $2131 ^ $2007;
$2384 = $2132 ^ $2008;
$2385 = $2255 & $2383;
$2386 = $2256 & $2384;
$2387 = $2131 & $2007;
$2388 = $2132 & $2008;
$2389 = $2385 ^ $2387;
$2390 = $2386 ^ $2388;
$2391 = (_i64Add(($2381|0),($2382|0),($2389|0),($2390|0))|0);
$2392 = tempRet0;
$2393 = (_i64Add(($2359|0),($2360|0),($1883|0),($1884|0))|0);
$2394 = tempRet0;
$2395 = (_i64Add(($2391|0),($2392|0),($2359|0),($2360|0))|0);
$2396 = tempRet0;
$2397 = (_bitshift64Lshr(($2393|0),($2394|0),14)|0);
$2398 = tempRet0;
$2399 = (_bitshift64Shl(($2393|0),($2394|0),50)|0);
$2400 = tempRet0;
$2401 = $2399 | $2397;
$2402 = $2400 | $2398;
$2403 = (_bitshift64Lshr(($2393|0),($2394|0),18)|0);
$2404 = tempRet0;
$2405 = (_bitshift64Shl(($2393|0),($2394|0),46)|0);
$2406 = tempRet0;
$2407 = $2405 | $2403;
$2408 = $2406 | $2404;
$2409 = $2401 ^ $2407;
$2410 = $2402 ^ $2408;
$2411 = (_bitshift64Lshr(($2393|0),($2394|0),41)|0);
$2412 = tempRet0;
$2413 = (_bitshift64Shl(($2393|0),($2394|0),23)|0);
$2414 = tempRet0;
$2415 = $2413 | $2411;
$2416 = $2414 | $2412;
$2417 = $2409 ^ $2415;
$2418 = $2410 ^ $2416;
$2419 = $2393 & $2253;
$2420 = $2394 & $2254;
$2421 = $2393 ^ -1;
$2422 = $2394 ^ -1;
$2423 = $2129 & $2421;
$2424 = $2130 & $2422;
$2425 = $2423 ^ $2419;
$2426 = $2424 ^ $2420;
$2427 = (_i64Add(($465|0),($466|0),566280711,-779700025)|0);
$2428 = tempRet0;
$2429 = (_i64Add(($2427|0),($2428|0),($2005|0),($2006|0))|0);
$2430 = tempRet0;
$2431 = (_i64Add(($2429|0),($2430|0),($2425|0),($2426|0))|0);
$2432 = tempRet0;
$2433 = (_i64Add(($2431|0),($2432|0),($2417|0),($2418|0))|0);
$2434 = tempRet0;
$2435 = (_bitshift64Lshr(($2395|0),($2396|0),28)|0);
$2436 = tempRet0;
$2437 = (_bitshift64Shl(($2395|0),($2396|0),36)|0);
$2438 = tempRet0;
$2439 = $2437 | $2435;
$2440 = $2438 | $2436;
$2441 = (_bitshift64Lshr(($2395|0),($2396|0),34)|0);
$2442 = tempRet0;
$2443 = (_bitshift64Shl(($2395|0),($2396|0),30)|0);
$2444 = tempRet0;
$2445 = $2443 | $2441;
$2446 = $2444 | $2442;
$2447 = $2439 ^ $2445;
$2448 = $2440 ^ $2446;
$2449 = (_bitshift64Lshr(($2395|0),($2396|0),39)|0);
$2450 = tempRet0;
$2451 = (_bitshift64Shl(($2395|0),($2396|0),25)|0);
$2452 = tempRet0;
$2453 = $2451 | $2449;
$2454 = $2452 | $2450;
$2455 = $2447 ^ $2453;
$2456 = $2448 ^ $2454;
$2457 = $2255 ^ $2131;
$2458 = $2256 ^ $2132;
$2459 = $2395 & $2457;
$2460 = $2396 & $2458;
$2461 = $2255 & $2131;
$2462 = $2256 & $2132;
$2463 = $2459 ^ $2461;
$2464 = $2460 ^ $2462;
$2465 = (_i64Add(($2455|0),($2456|0),($2463|0),($2464|0))|0);
$2466 = tempRet0;
$2467 = (_i64Add(($2433|0),($2434|0),($2007|0),($2008|0))|0);
$2468 = tempRet0;
$2469 = (_i64Add(($2465|0),($2466|0),($2433|0),($2434|0))|0);
$2470 = tempRet0;
$2471 = (_bitshift64Lshr(($2467|0),($2468|0),14)|0);
$2472 = tempRet0;
$2473 = (_bitshift64Shl(($2467|0),($2468|0),50)|0);
$2474 = tempRet0;
$2475 = $2473 | $2471;
$2476 = $2474 | $2472;
$2477 = (_bitshift64Lshr(($2467|0),($2468|0),18)|0);
$2478 = tempRet0;
$2479 = (_bitshift64Shl(($2467|0),($2468|0),46)|0);
$2480 = tempRet0;
$2481 = $2479 | $2477;
$2482 = $2480 | $2478;
$2483 = $2475 ^ $2481;
$2484 = $2476 ^ $2482;
$2485 = (_bitshift64Lshr(($2467|0),($2468|0),41)|0);
$2486 = tempRet0;
$2487 = (_bitshift64Shl(($2467|0),($2468|0),23)|0);
$2488 = tempRet0;
$2489 = $2487 | $2485;
$2490 = $2488 | $2486;
$2491 = $2483 ^ $2489;
$2492 = $2484 ^ $2490;
$2493 = $2467 & $2393;
$2494 = $2468 & $2394;
$2495 = $2467 ^ -1;
$2496 = $2468 ^ -1;
$2497 = $2253 & $2495;
$2498 = $2254 & $2496;
$2499 = $2497 ^ $2493;
$2500 = $2498 ^ $2494;
$2501 = (_i64Add(($593|0),($594|0),-840897762,-354779690)|0);
$2502 = tempRet0;
$2503 = (_i64Add(($2501|0),($2502|0),($2129|0),($2130|0))|0);
$2504 = tempRet0;
$2505 = (_i64Add(($2503|0),($2504|0),($2499|0),($2500|0))|0);
$2506 = tempRet0;
$2507 = (_i64Add(($2505|0),($2506|0),($2491|0),($2492|0))|0);
$2508 = tempRet0;
$2509 = (_bitshift64Lshr(($2469|0),($2470|0),28)|0);
$2510 = tempRet0;
$2511 = (_bitshift64Shl(($2469|0),($2470|0),36)|0);
$2512 = tempRet0;
$2513 = $2511 | $2509;
$2514 = $2512 | $2510;
$2515 = (_bitshift64Lshr(($2469|0),($2470|0),34)|0);
$2516 = tempRet0;
$2517 = (_bitshift64Shl(($2469|0),($2470|0),30)|0);
$2518 = tempRet0;
$2519 = $2517 | $2515;
$2520 = $2518 | $2516;
$2521 = $2513 ^ $2519;
$2522 = $2514 ^ $2520;
$2523 = (_bitshift64Lshr(($2469|0),($2470|0),39)|0);
$2524 = tempRet0;
$2525 = (_bitshift64Shl(($2469|0),($2470|0),25)|0);
$2526 = tempRet0;
$2527 = $2525 | $2523;
$2528 = $2526 | $2524;
$2529 = $2521 ^ $2527;
$2530 = $2522 ^ $2528;
$2531 = $2395 ^ $2255;
$2532 = $2396 ^ $2256;
$2533 = $2469 & $2531;
$2534 = $2470 & $2532;
$2535 = $2395 & $2255;
$2536 = $2396 & $2256;
$2537 = $2533 ^ $2535;
$2538 = $2534 ^ $2536;
$2539 = (_i64Add(($2529|0),($2530|0),($2537|0),($2538|0))|0);
$2540 = tempRet0;
$2541 = (_i64Add(($2507|0),($2508|0),($2131|0),($2132|0))|0);
$2542 = tempRet0;
$2543 = (_i64Add(($2539|0),($2540|0),($2507|0),($2508|0))|0);
$2544 = tempRet0;
$2545 = (_bitshift64Lshr(($2541|0),($2542|0),14)|0);
$2546 = tempRet0;
$2547 = (_bitshift64Shl(($2541|0),($2542|0),50)|0);
$2548 = tempRet0;
$2549 = $2547 | $2545;
$2550 = $2548 | $2546;
$2551 = (_bitshift64Lshr(($2541|0),($2542|0),18)|0);
$2552 = tempRet0;
$2553 = (_bitshift64Shl(($2541|0),($2542|0),46)|0);
$2554 = tempRet0;
$2555 = $2553 | $2551;
$2556 = $2554 | $2552;
$2557 = $2549 ^ $2555;
$2558 = $2550 ^ $2556;
$2559 = (_bitshift64Lshr(($2541|0),($2542|0),41)|0);
$2560 = tempRet0;
$2561 = (_bitshift64Shl(($2541|0),($2542|0),23)|0);
$2562 = tempRet0;
$2563 = $2561 | $2559;
$2564 = $2562 | $2560;
$2565 = $2557 ^ $2563;
$2566 = $2558 ^ $2564;
$2567 = $2541 & $2467;
$2568 = $2542 & $2468;
$2569 = $2541 ^ -1;
$2570 = $2542 ^ -1;
$2571 = $2393 & $2569;
$2572 = $2394 & $2570;
$2573 = $2571 ^ $2567;
$2574 = $2572 ^ $2568;
$2575 = (_i64Add(($721|0),($722|0),-294727304,-176337025)|0);
$2576 = tempRet0;
$2577 = (_i64Add(($2575|0),($2576|0),($2253|0),($2254|0))|0);
$2578 = tempRet0;
$2579 = (_i64Add(($2577|0),($2578|0),($2573|0),($2574|0))|0);
$2580 = tempRet0;
$2581 = (_i64Add(($2579|0),($2580|0),($2565|0),($2566|0))|0);
$2582 = tempRet0;
$2583 = (_bitshift64Lshr(($2543|0),($2544|0),28)|0);
$2584 = tempRet0;
$2585 = (_bitshift64Shl(($2543|0),($2544|0),36)|0);
$2586 = tempRet0;
$2587 = $2585 | $2583;
$2588 = $2586 | $2584;
$2589 = (_bitshift64Lshr(($2543|0),($2544|0),34)|0);
$2590 = tempRet0;
$2591 = (_bitshift64Shl(($2543|0),($2544|0),30)|0);
$2592 = tempRet0;
$2593 = $2591 | $2589;
$2594 = $2592 | $2590;
$2595 = $2587 ^ $2593;
$2596 = $2588 ^ $2594;
$2597 = (_bitshift64Lshr(($2543|0),($2544|0),39)|0);
$2598 = tempRet0;
$2599 = (_bitshift64Shl(($2543|0),($2544|0),25)|0);
$2600 = tempRet0;
$2601 = $2599 | $2597;
$2602 = $2600 | $2598;
$2603 = $2595 ^ $2601;
$2604 = $2596 ^ $2602;
$2605 = $2469 ^ $2395;
$2606 = $2470 ^ $2396;
$2607 = $2543 & $2605;
$2608 = $2544 & $2606;
$2609 = $2469 & $2395;
$2610 = $2470 & $2396;
$2611 = $2607 ^ $2609;
$2612 = $2608 ^ $2610;
$2613 = (_i64Add(($2603|0),($2604|0),($2611|0),($2612|0))|0);
$2614 = tempRet0;
$2615 = (_i64Add(($2581|0),($2582|0),($2255|0),($2256|0))|0);
$2616 = tempRet0;
$2617 = (_i64Add(($2613|0),($2614|0),($2581|0),($2582|0))|0);
$2618 = tempRet0;
$2619 = (_bitshift64Lshr(($2615|0),($2616|0),14)|0);
$2620 = tempRet0;
$2621 = (_bitshift64Shl(($2615|0),($2616|0),50)|0);
$2622 = tempRet0;
$2623 = $2621 | $2619;
$2624 = $2622 | $2620;
$2625 = (_bitshift64Lshr(($2615|0),($2616|0),18)|0);
$2626 = tempRet0;
$2627 = (_bitshift64Shl(($2615|0),($2616|0),46)|0);
$2628 = tempRet0;
$2629 = $2627 | $2625;
$2630 = $2628 | $2626;
$2631 = $2623 ^ $2629;
$2632 = $2624 ^ $2630;
$2633 = (_bitshift64Lshr(($2615|0),($2616|0),41)|0);
$2634 = tempRet0;
$2635 = (_bitshift64Shl(($2615|0),($2616|0),23)|0);
$2636 = tempRet0;
$2637 = $2635 | $2633;
$2638 = $2636 | $2634;
$2639 = $2631 ^ $2637;
$2640 = $2632 ^ $2638;
$2641 = $2615 & $2541;
$2642 = $2616 & $2542;
$2643 = $2615 ^ -1;
$2644 = $2616 ^ -1;
$2645 = $2467 & $2643;
$2646 = $2468 & $2644;
$2647 = $2645 ^ $2641;
$2648 = $2646 ^ $2642;
$2649 = (_i64Add(($849|0),($850|0),1914138554,116418474)|0);
$2650 = tempRet0;
$2651 = (_i64Add(($2649|0),($2650|0),($2393|0),($2394|0))|0);
$2652 = tempRet0;
$2653 = (_i64Add(($2651|0),($2652|0),($2647|0),($2648|0))|0);
$2654 = tempRet0;
$2655 = (_i64Add(($2653|0),($2654|0),($2639|0),($2640|0))|0);
$2656 = tempRet0;
$2657 = (_bitshift64Lshr(($2617|0),($2618|0),28)|0);
$2658 = tempRet0;
$2659 = (_bitshift64Shl(($2617|0),($2618|0),36)|0);
$2660 = tempRet0;
$2661 = $2659 | $2657;
$2662 = $2660 | $2658;
$2663 = (_bitshift64Lshr(($2617|0),($2618|0),34)|0);
$2664 = tempRet0;
$2665 = (_bitshift64Shl(($2617|0),($2618|0),30)|0);
$2666 = tempRet0;
$2667 = $2665 | $2663;
$2668 = $2666 | $2664;
$2669 = $2661 ^ $2667;
$2670 = $2662 ^ $2668;
$2671 = (_bitshift64Lshr(($2617|0),($2618|0),39)|0);
$2672 = tempRet0;
$2673 = (_bitshift64Shl(($2617|0),($2618|0),25)|0);
$2674 = tempRet0;
$2675 = $2673 | $2671;
$2676 = $2674 | $2672;
$2677 = $2669 ^ $2675;
$2678 = $2670 ^ $2676;
$2679 = $2543 ^ $2469;
$2680 = $2544 ^ $2470;
$2681 = $2617 & $2679;
$2682 = $2618 & $2680;
$2683 = $2543 & $2469;
$2684 = $2544 & $2470;
$2685 = $2681 ^ $2683;
$2686 = $2682 ^ $2684;
$2687 = (_i64Add(($2677|0),($2678|0),($2685|0),($2686|0))|0);
$2688 = tempRet0;
$2689 = (_i64Add(($2655|0),($2656|0),($2395|0),($2396|0))|0);
$2690 = tempRet0;
$2691 = (_i64Add(($2687|0),($2688|0),($2655|0),($2656|0))|0);
$2692 = tempRet0;
$2693 = (_bitshift64Lshr(($2689|0),($2690|0),14)|0);
$2694 = tempRet0;
$2695 = (_bitshift64Shl(($2689|0),($2690|0),50)|0);
$2696 = tempRet0;
$2697 = $2695 | $2693;
$2698 = $2696 | $2694;
$2699 = (_bitshift64Lshr(($2689|0),($2690|0),18)|0);
$2700 = tempRet0;
$2701 = (_bitshift64Shl(($2689|0),($2690|0),46)|0);
$2702 = tempRet0;
$2703 = $2701 | $2699;
$2704 = $2702 | $2700;
$2705 = $2697 ^ $2703;
$2706 = $2698 ^ $2704;
$2707 = (_bitshift64Lshr(($2689|0),($2690|0),41)|0);
$2708 = tempRet0;
$2709 = (_bitshift64Shl(($2689|0),($2690|0),23)|0);
$2710 = tempRet0;
$2711 = $2709 | $2707;
$2712 = $2710 | $2708;
$2713 = $2705 ^ $2711;
$2714 = $2706 ^ $2712;
$2715 = $2689 & $2615;
$2716 = $2690 & $2616;
$2717 = $2689 ^ -1;
$2718 = $2690 ^ -1;
$2719 = $2541 & $2717;
$2720 = $2542 & $2718;
$2721 = $2719 ^ $2715;
$2722 = $2720 ^ $2716;
$2723 = (_i64Add(($975|0),($976|0),-1563912026,174292421)|0);
$2724 = tempRet0;
$2725 = (_i64Add(($2723|0),($2724|0),($2467|0),($2468|0))|0);
$2726 = tempRet0;
$2727 = (_i64Add(($2725|0),($2726|0),($2721|0),($2722|0))|0);
$2728 = tempRet0;
$2729 = (_i64Add(($2727|0),($2728|0),($2713|0),($2714|0))|0);
$2730 = tempRet0;
$2731 = (_bitshift64Lshr(($2691|0),($2692|0),28)|0);
$2732 = tempRet0;
$2733 = (_bitshift64Shl(($2691|0),($2692|0),36)|0);
$2734 = tempRet0;
$2735 = $2733 | $2731;
$2736 = $2734 | $2732;
$2737 = (_bitshift64Lshr(($2691|0),($2692|0),34)|0);
$2738 = tempRet0;
$2739 = (_bitshift64Shl(($2691|0),($2692|0),30)|0);
$2740 = tempRet0;
$2741 = $2739 | $2737;
$2742 = $2740 | $2738;
$2743 = $2735 ^ $2741;
$2744 = $2736 ^ $2742;
$2745 = (_bitshift64Lshr(($2691|0),($2692|0),39)|0);
$2746 = tempRet0;
$2747 = (_bitshift64Shl(($2691|0),($2692|0),25)|0);
$2748 = tempRet0;
$2749 = $2747 | $2745;
$2750 = $2748 | $2746;
$2751 = $2743 ^ $2749;
$2752 = $2744 ^ $2750;
$2753 = $2617 ^ $2543;
$2754 = $2618 ^ $2544;
$2755 = $2691 & $2753;
$2756 = $2692 & $2754;
$2757 = $2617 & $2543;
$2758 = $2618 & $2544;
$2759 = $2755 ^ $2757;
$2760 = $2756 ^ $2758;
$2761 = (_i64Add(($2751|0),($2752|0),($2759|0),($2760|0))|0);
$2762 = tempRet0;
$2763 = (_i64Add(($2729|0),($2730|0),($2469|0),($2470|0))|0);
$2764 = tempRet0;
$2765 = (_i64Add(($2761|0),($2762|0),($2729|0),($2730|0))|0);
$2766 = tempRet0;
$2767 = (_bitshift64Lshr(($2763|0),($2764|0),14)|0);
$2768 = tempRet0;
$2769 = (_bitshift64Shl(($2763|0),($2764|0),50)|0);
$2770 = tempRet0;
$2771 = $2769 | $2767;
$2772 = $2770 | $2768;
$2773 = (_bitshift64Lshr(($2763|0),($2764|0),18)|0);
$2774 = tempRet0;
$2775 = (_bitshift64Shl(($2763|0),($2764|0),46)|0);
$2776 = tempRet0;
$2777 = $2775 | $2773;
$2778 = $2776 | $2774;
$2779 = $2771 ^ $2777;
$2780 = $2772 ^ $2778;
$2781 = (_bitshift64Lshr(($2763|0),($2764|0),41)|0);
$2782 = tempRet0;
$2783 = (_bitshift64Shl(($2763|0),($2764|0),23)|0);
$2784 = tempRet0;
$2785 = $2783 | $2781;
$2786 = $2784 | $2782;
$2787 = $2779 ^ $2785;
$2788 = $2780 ^ $2786;
$2789 = $2763 & $2689;
$2790 = $2764 & $2690;
$2791 = $2763 ^ -1;
$2792 = $2764 ^ -1;
$2793 = $2615 & $2791;
$2794 = $2616 & $2792;
$2795 = $2793 ^ $2789;
$2796 = $2794 ^ $2790;
$2797 = (_i64Add(($1101|0),($1102|0),-1090974290,289380356)|0);
$2798 = tempRet0;
$2799 = (_i64Add(($2797|0),($2798|0),($2541|0),($2542|0))|0);
$2800 = tempRet0;
$2801 = (_i64Add(($2799|0),($2800|0),($2795|0),($2796|0))|0);
$2802 = tempRet0;
$2803 = (_i64Add(($2801|0),($2802|0),($2787|0),($2788|0))|0);
$2804 = tempRet0;
$2805 = (_bitshift64Lshr(($2765|0),($2766|0),28)|0);
$2806 = tempRet0;
$2807 = (_bitshift64Shl(($2765|0),($2766|0),36)|0);
$2808 = tempRet0;
$2809 = $2807 | $2805;
$2810 = $2808 | $2806;
$2811 = (_bitshift64Lshr(($2765|0),($2766|0),34)|0);
$2812 = tempRet0;
$2813 = (_bitshift64Shl(($2765|0),($2766|0),30)|0);
$2814 = tempRet0;
$2815 = $2813 | $2811;
$2816 = $2814 | $2812;
$2817 = $2809 ^ $2815;
$2818 = $2810 ^ $2816;
$2819 = (_bitshift64Lshr(($2765|0),($2766|0),39)|0);
$2820 = tempRet0;
$2821 = (_bitshift64Shl(($2765|0),($2766|0),25)|0);
$2822 = tempRet0;
$2823 = $2821 | $2819;
$2824 = $2822 | $2820;
$2825 = $2817 ^ $2823;
$2826 = $2818 ^ $2824;
$2827 = $2691 ^ $2617;
$2828 = $2692 ^ $2618;
$2829 = $2765 & $2827;
$2830 = $2766 & $2828;
$2831 = $2691 & $2617;
$2832 = $2692 & $2618;
$2833 = $2829 ^ $2831;
$2834 = $2830 ^ $2832;
$2835 = (_i64Add(($2825|0),($2826|0),($2833|0),($2834|0))|0);
$2836 = tempRet0;
$2837 = (_i64Add(($2803|0),($2804|0),($2543|0),($2544|0))|0);
$2838 = tempRet0;
$2839 = (_i64Add(($2835|0),($2836|0),($2803|0),($2804|0))|0);
$2840 = tempRet0;
$2841 = (_bitshift64Lshr(($2837|0),($2838|0),14)|0);
$2842 = tempRet0;
$2843 = (_bitshift64Shl(($2837|0),($2838|0),50)|0);
$2844 = tempRet0;
$2845 = $2843 | $2841;
$2846 = $2844 | $2842;
$2847 = (_bitshift64Lshr(($2837|0),($2838|0),18)|0);
$2848 = tempRet0;
$2849 = (_bitshift64Shl(($2837|0),($2838|0),46)|0);
$2850 = tempRet0;
$2851 = $2849 | $2847;
$2852 = $2850 | $2848;
$2853 = $2845 ^ $2851;
$2854 = $2846 ^ $2852;
$2855 = (_bitshift64Lshr(($2837|0),($2838|0),41)|0);
$2856 = tempRet0;
$2857 = (_bitshift64Shl(($2837|0),($2838|0),23)|0);
$2858 = tempRet0;
$2859 = $2857 | $2855;
$2860 = $2858 | $2856;
$2861 = $2853 ^ $2859;
$2862 = $2854 ^ $2860;
$2863 = $2837 & $2763;
$2864 = $2838 & $2764;
$2865 = $2837 ^ -1;
$2866 = $2838 ^ -1;
$2867 = $2689 & $2865;
$2868 = $2690 & $2866;
$2869 = $2867 ^ $2863;
$2870 = $2868 ^ $2864;
$2871 = (_i64Add(($1227|0),($1228|0),320620315,460393269)|0);
$2872 = tempRet0;
$2873 = (_i64Add(($2871|0),($2872|0),($2615|0),($2616|0))|0);
$2874 = tempRet0;
$2875 = (_i64Add(($2873|0),($2874|0),($2869|0),($2870|0))|0);
$2876 = tempRet0;
$2877 = (_i64Add(($2875|0),($2876|0),($2861|0),($2862|0))|0);
$2878 = tempRet0;
$2879 = (_bitshift64Lshr(($2839|0),($2840|0),28)|0);
$2880 = tempRet0;
$2881 = (_bitshift64Shl(($2839|0),($2840|0),36)|0);
$2882 = tempRet0;
$2883 = $2881 | $2879;
$2884 = $2882 | $2880;
$2885 = (_bitshift64Lshr(($2839|0),($2840|0),34)|0);
$2886 = tempRet0;
$2887 = (_bitshift64Shl(($2839|0),($2840|0),30)|0);
$2888 = tempRet0;
$2889 = $2887 | $2885;
$2890 = $2888 | $2886;
$2891 = $2883 ^ $2889;
$2892 = $2884 ^ $2890;
$2893 = (_bitshift64Lshr(($2839|0),($2840|0),39)|0);
$2894 = tempRet0;
$2895 = (_bitshift64Shl(($2839|0),($2840|0),25)|0);
$2896 = tempRet0;
$2897 = $2895 | $2893;
$2898 = $2896 | $2894;
$2899 = $2891 ^ $2897;
$2900 = $2892 ^ $2898;
$2901 = $2765 ^ $2691;
$2902 = $2766 ^ $2692;
$2903 = $2839 & $2901;
$2904 = $2840 & $2902;
$2905 = $2765 & $2691;
$2906 = $2766 & $2692;
$2907 = $2903 ^ $2905;
$2908 = $2904 ^ $2906;
$2909 = (_i64Add(($2899|0),($2900|0),($2907|0),($2908|0))|0);
$2910 = tempRet0;
$2911 = (_i64Add(($2877|0),($2878|0),($2617|0),($2618|0))|0);
$2912 = tempRet0;
$2913 = (_i64Add(($2909|0),($2910|0),($2877|0),($2878|0))|0);
$2914 = tempRet0;
$2915 = (_bitshift64Lshr(($2911|0),($2912|0),14)|0);
$2916 = tempRet0;
$2917 = (_bitshift64Shl(($2911|0),($2912|0),50)|0);
$2918 = tempRet0;
$2919 = $2917 | $2915;
$2920 = $2918 | $2916;
$2921 = (_bitshift64Lshr(($2911|0),($2912|0),18)|0);
$2922 = tempRet0;
$2923 = (_bitshift64Shl(($2911|0),($2912|0),46)|0);
$2924 = tempRet0;
$2925 = $2923 | $2921;
$2926 = $2924 | $2922;
$2927 = $2919 ^ $2925;
$2928 = $2920 ^ $2926;
$2929 = (_bitshift64Lshr(($2911|0),($2912|0),41)|0);
$2930 = tempRet0;
$2931 = (_bitshift64Shl(($2911|0),($2912|0),23)|0);
$2932 = tempRet0;
$2933 = $2931 | $2929;
$2934 = $2932 | $2930;
$2935 = $2927 ^ $2933;
$2936 = $2928 ^ $2934;
$2937 = $2911 & $2837;
$2938 = $2912 & $2838;
$2939 = $2911 ^ -1;
$2940 = $2912 ^ -1;
$2941 = $2763 & $2939;
$2942 = $2764 & $2940;
$2943 = $2941 ^ $2937;
$2944 = $2942 ^ $2938;
$2945 = (_i64Add(($1351|0),($1352|0),587496836,685471733)|0);
$2946 = tempRet0;
$2947 = (_i64Add(($2945|0),($2946|0),($2689|0),($2690|0))|0);
$2948 = tempRet0;
$2949 = (_i64Add(($2947|0),($2948|0),($2943|0),($2944|0))|0);
$2950 = tempRet0;
$2951 = (_i64Add(($2949|0),($2950|0),($2935|0),($2936|0))|0);
$2952 = tempRet0;
$2953 = (_bitshift64Lshr(($2913|0),($2914|0),28)|0);
$2954 = tempRet0;
$2955 = (_bitshift64Shl(($2913|0),($2914|0),36)|0);
$2956 = tempRet0;
$2957 = $2955 | $2953;
$2958 = $2956 | $2954;
$2959 = (_bitshift64Lshr(($2913|0),($2914|0),34)|0);
$2960 = tempRet0;
$2961 = (_bitshift64Shl(($2913|0),($2914|0),30)|0);
$2962 = tempRet0;
$2963 = $2961 | $2959;
$2964 = $2962 | $2960;
$2965 = $2957 ^ $2963;
$2966 = $2958 ^ $2964;
$2967 = (_bitshift64Lshr(($2913|0),($2914|0),39)|0);
$2968 = tempRet0;
$2969 = (_bitshift64Shl(($2913|0),($2914|0),25)|0);
$2970 = tempRet0;
$2971 = $2969 | $2967;
$2972 = $2970 | $2968;
$2973 = $2965 ^ $2971;
$2974 = $2966 ^ $2972;
$2975 = $2839 ^ $2765;
$2976 = $2840 ^ $2766;
$2977 = $2913 & $2975;
$2978 = $2914 & $2976;
$2979 = $2839 & $2765;
$2980 = $2840 & $2766;
$2981 = $2977 ^ $2979;
$2982 = $2978 ^ $2980;
$2983 = (_i64Add(($2973|0),($2974|0),($2981|0),($2982|0))|0);
$2984 = tempRet0;
$2985 = (_i64Add(($2951|0),($2952|0),($2691|0),($2692|0))|0);
$2986 = tempRet0;
$2987 = (_i64Add(($2983|0),($2984|0),($2951|0),($2952|0))|0);
$2988 = tempRet0;
$2989 = (_bitshift64Lshr(($2985|0),($2986|0),14)|0);
$2990 = tempRet0;
$2991 = (_bitshift64Shl(($2985|0),($2986|0),50)|0);
$2992 = tempRet0;
$2993 = $2991 | $2989;
$2994 = $2992 | $2990;
$2995 = (_bitshift64Lshr(($2985|0),($2986|0),18)|0);
$2996 = tempRet0;
$2997 = (_bitshift64Shl(($2985|0),($2986|0),46)|0);
$2998 = tempRet0;
$2999 = $2997 | $2995;
$3000 = $2998 | $2996;
$3001 = $2993 ^ $2999;
$3002 = $2994 ^ $3000;
$3003 = (_bitshift64Lshr(($2985|0),($2986|0),41)|0);
$3004 = tempRet0;
$3005 = (_bitshift64Shl(($2985|0),($2986|0),23)|0);
$3006 = tempRet0;
$3007 = $3005 | $3003;
$3008 = $3006 | $3004;
$3009 = $3001 ^ $3007;
$3010 = $3002 ^ $3008;
$3011 = $2985 & $2911;
$3012 = $2986 & $2912;
$3013 = $2985 ^ -1;
$3014 = $2986 ^ -1;
$3015 = $2837 & $3013;
$3016 = $2838 & $3014;
$3017 = $3015 ^ $3011;
$3018 = $3016 ^ $3012;
$3019 = (_i64Add(($1475|0),($1476|0),1086792851,852142971)|0);
$3020 = tempRet0;
$3021 = (_i64Add(($3019|0),($3020|0),($2763|0),($2764|0))|0);
$3022 = tempRet0;
$3023 = (_i64Add(($3021|0),($3022|0),($3017|0),($3018|0))|0);
$3024 = tempRet0;
$3025 = (_i64Add(($3023|0),($3024|0),($3009|0),($3010|0))|0);
$3026 = tempRet0;
$3027 = (_bitshift64Lshr(($2987|0),($2988|0),28)|0);
$3028 = tempRet0;
$3029 = (_bitshift64Shl(($2987|0),($2988|0),36)|0);
$3030 = tempRet0;
$3031 = $3029 | $3027;
$3032 = $3030 | $3028;
$3033 = (_bitshift64Lshr(($2987|0),($2988|0),34)|0);
$3034 = tempRet0;
$3035 = (_bitshift64Shl(($2987|0),($2988|0),30)|0);
$3036 = tempRet0;
$3037 = $3035 | $3033;
$3038 = $3036 | $3034;
$3039 = $3031 ^ $3037;
$3040 = $3032 ^ $3038;
$3041 = (_bitshift64Lshr(($2987|0),($2988|0),39)|0);
$3042 = tempRet0;
$3043 = (_bitshift64Shl(($2987|0),($2988|0),25)|0);
$3044 = tempRet0;
$3045 = $3043 | $3041;
$3046 = $3044 | $3042;
$3047 = $3039 ^ $3045;
$3048 = $3040 ^ $3046;
$3049 = $2913 ^ $2839;
$3050 = $2914 ^ $2840;
$3051 = $2987 & $3049;
$3052 = $2988 & $3050;
$3053 = $2913 & $2839;
$3054 = $2914 & $2840;
$3055 = $3051 ^ $3053;
$3056 = $3052 ^ $3054;
$3057 = (_i64Add(($3047|0),($3048|0),($3055|0),($3056|0))|0);
$3058 = tempRet0;
$3059 = (_i64Add(($3025|0),($3026|0),($2765|0),($2766|0))|0);
$3060 = tempRet0;
$3061 = (_i64Add(($3057|0),($3058|0),($3025|0),($3026|0))|0);
$3062 = tempRet0;
$3063 = (_bitshift64Lshr(($3059|0),($3060|0),14)|0);
$3064 = tempRet0;
$3065 = (_bitshift64Shl(($3059|0),($3060|0),50)|0);
$3066 = tempRet0;
$3067 = $3065 | $3063;
$3068 = $3066 | $3064;
$3069 = (_bitshift64Lshr(($3059|0),($3060|0),18)|0);
$3070 = tempRet0;
$3071 = (_bitshift64Shl(($3059|0),($3060|0),46)|0);
$3072 = tempRet0;
$3073 = $3071 | $3069;
$3074 = $3072 | $3070;
$3075 = $3067 ^ $3073;
$3076 = $3068 ^ $3074;
$3077 = (_bitshift64Lshr(($3059|0),($3060|0),41)|0);
$3078 = tempRet0;
$3079 = (_bitshift64Shl(($3059|0),($3060|0),23)|0);
$3080 = tempRet0;
$3081 = $3079 | $3077;
$3082 = $3080 | $3078;
$3083 = $3075 ^ $3081;
$3084 = $3076 ^ $3082;
$3085 = $3059 & $2985;
$3086 = $3060 & $2986;
$3087 = $3059 ^ -1;
$3088 = $3060 ^ -1;
$3089 = $2911 & $3087;
$3090 = $2912 & $3088;
$3091 = $3089 ^ $3085;
$3092 = $3090 ^ $3086;
$3093 = (_i64Add(($1599|0),($1600|0),365543100,1017036298)|0);
$3094 = tempRet0;
$3095 = (_i64Add(($3093|0),($3094|0),($2837|0),($2838|0))|0);
$3096 = tempRet0;
$3097 = (_i64Add(($3095|0),($3096|0),($3091|0),($3092|0))|0);
$3098 = tempRet0;
$3099 = (_i64Add(($3097|0),($3098|0),($3083|0),($3084|0))|0);
$3100 = tempRet0;
$3101 = (_bitshift64Lshr(($3061|0),($3062|0),28)|0);
$3102 = tempRet0;
$3103 = (_bitshift64Shl(($3061|0),($3062|0),36)|0);
$3104 = tempRet0;
$3105 = $3103 | $3101;
$3106 = $3104 | $3102;
$3107 = (_bitshift64Lshr(($3061|0),($3062|0),34)|0);
$3108 = tempRet0;
$3109 = (_bitshift64Shl(($3061|0),($3062|0),30)|0);
$3110 = tempRet0;
$3111 = $3109 | $3107;
$3112 = $3110 | $3108;
$3113 = $3105 ^ $3111;
$3114 = $3106 ^ $3112;
$3115 = (_bitshift64Lshr(($3061|0),($3062|0),39)|0);
$3116 = tempRet0;
$3117 = (_bitshift64Shl(($3061|0),($3062|0),25)|0);
$3118 = tempRet0;
$3119 = $3117 | $3115;
$3120 = $3118 | $3116;
$3121 = $3113 ^ $3119;
$3122 = $3114 ^ $3120;
$3123 = $2987 ^ $2913;
$3124 = $2988 ^ $2914;
$3125 = $3061 & $3123;
$3126 = $3062 & $3124;
$3127 = $2987 & $2913;
$3128 = $2988 & $2914;
$3129 = $3125 ^ $3127;
$3130 = $3126 ^ $3128;
$3131 = (_i64Add(($3121|0),($3122|0),($3129|0),($3130|0))|0);
$3132 = tempRet0;
$3133 = (_i64Add(($3099|0),($3100|0),($2839|0),($2840|0))|0);
$3134 = tempRet0;
$3135 = (_i64Add(($3131|0),($3132|0),($3099|0),($3100|0))|0);
$3136 = tempRet0;
$3137 = (_bitshift64Lshr(($3133|0),($3134|0),14)|0);
$3138 = tempRet0;
$3139 = (_bitshift64Shl(($3133|0),($3134|0),50)|0);
$3140 = tempRet0;
$3141 = $3139 | $3137;
$3142 = $3140 | $3138;
$3143 = (_bitshift64Lshr(($3133|0),($3134|0),18)|0);
$3144 = tempRet0;
$3145 = (_bitshift64Shl(($3133|0),($3134|0),46)|0);
$3146 = tempRet0;
$3147 = $3145 | $3143;
$3148 = $3146 | $3144;
$3149 = $3141 ^ $3147;
$3150 = $3142 ^ $3148;
$3151 = (_bitshift64Lshr(($3133|0),($3134|0),41)|0);
$3152 = tempRet0;
$3153 = (_bitshift64Shl(($3133|0),($3134|0),23)|0);
$3154 = tempRet0;
$3155 = $3153 | $3151;
$3156 = $3154 | $3152;
$3157 = $3149 ^ $3155;
$3158 = $3150 ^ $3156;
$3159 = $3133 & $3059;
$3160 = $3134 & $3060;
$3161 = $3133 ^ -1;
$3162 = $3134 ^ -1;
$3163 = $2985 & $3161;
$3164 = $2986 & $3162;
$3165 = $3163 ^ $3159;
$3166 = $3164 ^ $3160;
$3167 = (_i64Add(($1723|0),($1724|0),-1676669620,1126000580)|0);
$3168 = tempRet0;
$3169 = (_i64Add(($3167|0),($3168|0),($2911|0),($2912|0))|0);
$3170 = tempRet0;
$3171 = (_i64Add(($3169|0),($3170|0),($3165|0),($3166|0))|0);
$3172 = tempRet0;
$3173 = (_i64Add(($3171|0),($3172|0),($3157|0),($3158|0))|0);
$3174 = tempRet0;
$3175 = (_bitshift64Lshr(($3135|0),($3136|0),28)|0);
$3176 = tempRet0;
$3177 = (_bitshift64Shl(($3135|0),($3136|0),36)|0);
$3178 = tempRet0;
$3179 = $3177 | $3175;
$3180 = $3178 | $3176;
$3181 = (_bitshift64Lshr(($3135|0),($3136|0),34)|0);
$3182 = tempRet0;
$3183 = (_bitshift64Shl(($3135|0),($3136|0),30)|0);
$3184 = tempRet0;
$3185 = $3183 | $3181;
$3186 = $3184 | $3182;
$3187 = $3179 ^ $3185;
$3188 = $3180 ^ $3186;
$3189 = (_bitshift64Lshr(($3135|0),($3136|0),39)|0);
$3190 = tempRet0;
$3191 = (_bitshift64Shl(($3135|0),($3136|0),25)|0);
$3192 = tempRet0;
$3193 = $3191 | $3189;
$3194 = $3192 | $3190;
$3195 = $3187 ^ $3193;
$3196 = $3188 ^ $3194;
$3197 = $3061 ^ $2987;
$3198 = $3062 ^ $2988;
$3199 = $3135 & $3197;
$3200 = $3136 & $3198;
$3201 = $3061 & $2987;
$3202 = $3062 & $2988;
$3203 = $3199 ^ $3201;
$3204 = $3200 ^ $3202;
$3205 = (_i64Add(($3195|0),($3196|0),($3203|0),($3204|0))|0);
$3206 = tempRet0;
$3207 = (_i64Add(($3173|0),($3174|0),($2913|0),($2914|0))|0);
$3208 = tempRet0;
$3209 = (_i64Add(($3205|0),($3206|0),($3173|0),($3174|0))|0);
$3210 = tempRet0;
$3211 = (_bitshift64Lshr(($3207|0),($3208|0),14)|0);
$3212 = tempRet0;
$3213 = (_bitshift64Shl(($3207|0),($3208|0),50)|0);
$3214 = tempRet0;
$3215 = $3213 | $3211;
$3216 = $3214 | $3212;
$3217 = (_bitshift64Lshr(($3207|0),($3208|0),18)|0);
$3218 = tempRet0;
$3219 = (_bitshift64Shl(($3207|0),($3208|0),46)|0);
$3220 = tempRet0;
$3221 = $3219 | $3217;
$3222 = $3220 | $3218;
$3223 = $3215 ^ $3221;
$3224 = $3216 ^ $3222;
$3225 = (_bitshift64Lshr(($3207|0),($3208|0),41)|0);
$3226 = tempRet0;
$3227 = (_bitshift64Shl(($3207|0),($3208|0),23)|0);
$3228 = tempRet0;
$3229 = $3227 | $3225;
$3230 = $3228 | $3226;
$3231 = $3223 ^ $3229;
$3232 = $3224 ^ $3230;
$3233 = $3207 & $3133;
$3234 = $3208 & $3134;
$3235 = $3207 ^ -1;
$3236 = $3208 ^ -1;
$3237 = $3059 & $3235;
$3238 = $3060 & $3236;
$3239 = $3237 ^ $3233;
$3240 = $3238 ^ $3234;
$3241 = (_i64Add(($1847|0),($1848|0),-885112138,1288033470)|0);
$3242 = tempRet0;
$3243 = (_i64Add(($3241|0),($3242|0),($2985|0),($2986|0))|0);
$3244 = tempRet0;
$3245 = (_i64Add(($3243|0),($3244|0),($3239|0),($3240|0))|0);
$3246 = tempRet0;
$3247 = (_i64Add(($3245|0),($3246|0),($3231|0),($3232|0))|0);
$3248 = tempRet0;
$3249 = (_bitshift64Lshr(($3209|0),($3210|0),28)|0);
$3250 = tempRet0;
$3251 = (_bitshift64Shl(($3209|0),($3210|0),36)|0);
$3252 = tempRet0;
$3253 = $3251 | $3249;
$3254 = $3252 | $3250;
$3255 = (_bitshift64Lshr(($3209|0),($3210|0),34)|0);
$3256 = tempRet0;
$3257 = (_bitshift64Shl(($3209|0),($3210|0),30)|0);
$3258 = tempRet0;
$3259 = $3257 | $3255;
$3260 = $3258 | $3256;
$3261 = $3253 ^ $3259;
$3262 = $3254 ^ $3260;
$3263 = (_bitshift64Lshr(($3209|0),($3210|0),39)|0);
$3264 = tempRet0;
$3265 = (_bitshift64Shl(($3209|0),($3210|0),25)|0);
$3266 = tempRet0;
$3267 = $3265 | $3263;
$3268 = $3266 | $3264;
$3269 = $3261 ^ $3267;
$3270 = $3262 ^ $3268;
$3271 = $3135 ^ $3061;
$3272 = $3136 ^ $3062;
$3273 = $3209 & $3271;
$3274 = $3210 & $3272;
$3275 = $3135 & $3061;
$3276 = $3136 & $3062;
$3277 = $3273 ^ $3275;
$3278 = $3274 ^ $3276;
$3279 = (_i64Add(($3269|0),($3270|0),($3277|0),($3278|0))|0);
$3280 = tempRet0;
$3281 = (_i64Add(($3247|0),($3248|0),($2987|0),($2988|0))|0);
$3282 = tempRet0;
$3283 = (_i64Add(($3279|0),($3280|0),($3247|0),($3248|0))|0);
$3284 = tempRet0;
$3285 = (_bitshift64Lshr(($3281|0),($3282|0),14)|0);
$3286 = tempRet0;
$3287 = (_bitshift64Shl(($3281|0),($3282|0),50)|0);
$3288 = tempRet0;
$3289 = $3287 | $3285;
$3290 = $3288 | $3286;
$3291 = (_bitshift64Lshr(($3281|0),($3282|0),18)|0);
$3292 = tempRet0;
$3293 = (_bitshift64Shl(($3281|0),($3282|0),46)|0);
$3294 = tempRet0;
$3295 = $3293 | $3291;
$3296 = $3294 | $3292;
$3297 = $3289 ^ $3295;
$3298 = $3290 ^ $3296;
$3299 = (_bitshift64Lshr(($3281|0),($3282|0),41)|0);
$3300 = tempRet0;
$3301 = (_bitshift64Shl(($3281|0),($3282|0),23)|0);
$3302 = tempRet0;
$3303 = $3301 | $3299;
$3304 = $3302 | $3300;
$3305 = $3297 ^ $3303;
$3306 = $3298 ^ $3304;
$3307 = $3281 & $3207;
$3308 = $3282 & $3208;
$3309 = $3281 ^ -1;
$3310 = $3282 ^ -1;
$3311 = $3133 & $3309;
$3312 = $3134 & $3310;
$3313 = $3311 ^ $3307;
$3314 = $3312 ^ $3308;
$3315 = (_i64Add(($1971|0),($1972|0),-60457430,1501505948)|0);
$3316 = tempRet0;
$3317 = (_i64Add(($3315|0),($3316|0),($3059|0),($3060|0))|0);
$3318 = tempRet0;
$3319 = (_i64Add(($3317|0),($3318|0),($3313|0),($3314|0))|0);
$3320 = tempRet0;
$3321 = (_i64Add(($3319|0),($3320|0),($3305|0),($3306|0))|0);
$3322 = tempRet0;
$3323 = (_bitshift64Lshr(($3283|0),($3284|0),28)|0);
$3324 = tempRet0;
$3325 = (_bitshift64Shl(($3283|0),($3284|0),36)|0);
$3326 = tempRet0;
$3327 = $3325 | $3323;
$3328 = $3326 | $3324;
$3329 = (_bitshift64Lshr(($3283|0),($3284|0),34)|0);
$3330 = tempRet0;
$3331 = (_bitshift64Shl(($3283|0),($3284|0),30)|0);
$3332 = tempRet0;
$3333 = $3331 | $3329;
$3334 = $3332 | $3330;
$3335 = $3327 ^ $3333;
$3336 = $3328 ^ $3334;
$3337 = (_bitshift64Lshr(($3283|0),($3284|0),39)|0);
$3338 = tempRet0;
$3339 = (_bitshift64Shl(($3283|0),($3284|0),25)|0);
$3340 = tempRet0;
$3341 = $3339 | $3337;
$3342 = $3340 | $3338;
$3343 = $3335 ^ $3341;
$3344 = $3336 ^ $3342;
$3345 = $3209 ^ $3135;
$3346 = $3210 ^ $3136;
$3347 = $3283 & $3345;
$3348 = $3284 & $3346;
$3349 = $3209 & $3135;
$3350 = $3210 & $3136;
$3351 = $3347 ^ $3349;
$3352 = $3348 ^ $3350;
$3353 = (_i64Add(($3343|0),($3344|0),($3351|0),($3352|0))|0);
$3354 = tempRet0;
$3355 = (_i64Add(($3321|0),($3322|0),($3061|0),($3062|0))|0);
$3356 = tempRet0;
$3357 = (_i64Add(($3353|0),($3354|0),($3321|0),($3322|0))|0);
$3358 = tempRet0;
$3359 = (_bitshift64Lshr(($3355|0),($3356|0),14)|0);
$3360 = tempRet0;
$3361 = (_bitshift64Shl(($3355|0),($3356|0),50)|0);
$3362 = tempRet0;
$3363 = $3361 | $3359;
$3364 = $3362 | $3360;
$3365 = (_bitshift64Lshr(($3355|0),($3356|0),18)|0);
$3366 = tempRet0;
$3367 = (_bitshift64Shl(($3355|0),($3356|0),46)|0);
$3368 = tempRet0;
$3369 = $3367 | $3365;
$3370 = $3368 | $3366;
$3371 = $3363 ^ $3369;
$3372 = $3364 ^ $3370;
$3373 = (_bitshift64Lshr(($3355|0),($3356|0),41)|0);
$3374 = tempRet0;
$3375 = (_bitshift64Shl(($3355|0),($3356|0),23)|0);
$3376 = tempRet0;
$3377 = $3375 | $3373;
$3378 = $3376 | $3374;
$3379 = $3371 ^ $3377;
$3380 = $3372 ^ $3378;
$3381 = $3355 & $3281;
$3382 = $3356 & $3282;
$3383 = $3355 ^ -1;
$3384 = $3356 ^ -1;
$3385 = $3207 & $3383;
$3386 = $3208 & $3384;
$3387 = $3385 ^ $3381;
$3388 = $3386 ^ $3382;
$3389 = (_i64Add(($2095|0),($2096|0),987167468,1607167915)|0);
$3390 = tempRet0;
$3391 = (_i64Add(($3389|0),($3390|0),($3133|0),($3134|0))|0);
$3392 = tempRet0;
$3393 = (_i64Add(($3391|0),($3392|0),($3387|0),($3388|0))|0);
$3394 = tempRet0;
$3395 = (_i64Add(($3393|0),($3394|0),($3379|0),($3380|0))|0);
$3396 = tempRet0;
$3397 = (_bitshift64Lshr(($3357|0),($3358|0),28)|0);
$3398 = tempRet0;
$3399 = (_bitshift64Shl(($3357|0),($3358|0),36)|0);
$3400 = tempRet0;
$3401 = $3399 | $3397;
$3402 = $3400 | $3398;
$3403 = (_bitshift64Lshr(($3357|0),($3358|0),34)|0);
$3404 = tempRet0;
$3405 = (_bitshift64Shl(($3357|0),($3358|0),30)|0);
$3406 = tempRet0;
$3407 = $3405 | $3403;
$3408 = $3406 | $3404;
$3409 = $3401 ^ $3407;
$3410 = $3402 ^ $3408;
$3411 = (_bitshift64Lshr(($3357|0),($3358|0),39)|0);
$3412 = tempRet0;
$3413 = (_bitshift64Shl(($3357|0),($3358|0),25)|0);
$3414 = tempRet0;
$3415 = $3413 | $3411;
$3416 = $3414 | $3412;
$3417 = $3409 ^ $3415;
$3418 = $3410 ^ $3416;
$3419 = $3283 ^ $3209;
$3420 = $3284 ^ $3210;
$3421 = $3357 & $3419;
$3422 = $3358 & $3420;
$3423 = $3283 & $3209;
$3424 = $3284 & $3210;
$3425 = $3421 ^ $3423;
$3426 = $3422 ^ $3424;
$3427 = (_i64Add(($3417|0),($3418|0),($3425|0),($3426|0))|0);
$3428 = tempRet0;
$3429 = (_i64Add(($3395|0),($3396|0),($3135|0),($3136|0))|0);
$3430 = tempRet0;
$3431 = (_i64Add(($3427|0),($3428|0),($3395|0),($3396|0))|0);
$3432 = tempRet0;
$3433 = (_bitshift64Lshr(($3429|0),($3430|0),14)|0);
$3434 = tempRet0;
$3435 = (_bitshift64Shl(($3429|0),($3430|0),50)|0);
$3436 = tempRet0;
$3437 = $3435 | $3433;
$3438 = $3436 | $3434;
$3439 = (_bitshift64Lshr(($3429|0),($3430|0),18)|0);
$3440 = tempRet0;
$3441 = (_bitshift64Shl(($3429|0),($3430|0),46)|0);
$3442 = tempRet0;
$3443 = $3441 | $3439;
$3444 = $3442 | $3440;
$3445 = $3437 ^ $3443;
$3446 = $3438 ^ $3444;
$3447 = (_bitshift64Lshr(($3429|0),($3430|0),41)|0);
$3448 = tempRet0;
$3449 = (_bitshift64Shl(($3429|0),($3430|0),23)|0);
$3450 = tempRet0;
$3451 = $3449 | $3447;
$3452 = $3450 | $3448;
$3453 = $3445 ^ $3451;
$3454 = $3446 ^ $3452;
$3455 = $3429 & $3355;
$3456 = $3430 & $3356;
$3457 = $3429 ^ -1;
$3458 = $3430 ^ -1;
$3459 = $3281 & $3457;
$3460 = $3282 & $3458;
$3461 = $3459 ^ $3455;
$3462 = $3460 ^ $3456;
$3463 = (_i64Add(($2219|0),($2220|0),1246189591,1816402316)|0);
$3464 = tempRet0;
$3465 = (_i64Add(($3463|0),($3464|0),($3207|0),($3208|0))|0);
$3466 = tempRet0;
$3467 = (_i64Add(($3465|0),($3466|0),($3461|0),($3462|0))|0);
$3468 = tempRet0;
$3469 = (_i64Add(($3467|0),($3468|0),($3453|0),($3454|0))|0);
$3470 = tempRet0;
$3471 = (_bitshift64Lshr(($3431|0),($3432|0),28)|0);
$3472 = tempRet0;
$3473 = (_bitshift64Shl(($3431|0),($3432|0),36)|0);
$3474 = tempRet0;
$3475 = $3473 | $3471;
$3476 = $3474 | $3472;
$3477 = (_bitshift64Lshr(($3431|0),($3432|0),34)|0);
$3478 = tempRet0;
$3479 = (_bitshift64Shl(($3431|0),($3432|0),30)|0);
$3480 = tempRet0;
$3481 = $3479 | $3477;
$3482 = $3480 | $3478;
$3483 = $3475 ^ $3481;
$3484 = $3476 ^ $3482;
$3485 = (_bitshift64Lshr(($3431|0),($3432|0),39)|0);
$3486 = tempRet0;
$3487 = (_bitshift64Shl(($3431|0),($3432|0),25)|0);
$3488 = tempRet0;
$3489 = $3487 | $3485;
$3490 = $3488 | $3486;
$3491 = $3483 ^ $3489;
$3492 = $3484 ^ $3490;
$3493 = $3357 ^ $3283;
$3494 = $3358 ^ $3284;
$3495 = $3431 & $3493;
$3496 = $3432 & $3494;
$3497 = $3357 & $3283;
$3498 = $3358 & $3284;
$3499 = $3495 ^ $3497;
$3500 = $3496 ^ $3498;
$3503 = (_i64Add(($3499|0),($3500|0),($3501|0),($3502|0))|0);
$3504 = tempRet0;
$3505 = (_i64Add(($3503|0),($3504|0),($3491|0),($3492|0))|0);
$3506 = tempRet0;
$3507 = (_i64Add(($3505|0),($3506|0),($3469|0),($3470|0))|0);
$3508 = tempRet0;
$3509 = $4;
$3510 = $3509;
HEAP32[$3510>>2] = $3507;
$3511 = (($3509) + 4)|0;
$3512 = $3511;
HEAP32[$3512>>2] = $3508;
$3515 = (_i64Add(($3431|0),($3432|0),($3513|0),($3514|0))|0);
$3516 = tempRet0;
$3517 = $5;
$3518 = $3517;
HEAP32[$3518>>2] = $3515;
$3519 = (($3517) + 4)|0;
$3520 = $3519;
HEAP32[$3520>>2] = $3516;
$3523 = (_i64Add(($3357|0),($3358|0),($3521|0),($3522|0))|0);
$3524 = tempRet0;
$3525 = $6;
$3526 = $3525;
HEAP32[$3526>>2] = $3523;
$3527 = (($3525) + 4)|0;
$3528 = $3527;
HEAP32[$3528>>2] = $3524;
$3531 = (_i64Add(($3283|0),($3284|0),($3529|0),($3530|0))|0);
$3532 = tempRet0;
$3533 = $7;
$3534 = $3533;
HEAP32[$3534>>2] = $3531;
$3535 = (($3533) + 4)|0;
$3536 = $3535;
HEAP32[$3536>>2] = $3532;
$3539 = (_i64Add(($3209|0),($3210|0),($3537|0),($3538|0))|0);
$3540 = tempRet0;
$3541 = (_i64Add(($3539|0),($3540|0),($3469|0),($3470|0))|0);
$3542 = tempRet0;
$3543 = $8;
$3544 = $3543;
HEAP32[$3544>>2] = $3541;
$3545 = (($3543) + 4)|0;
$3546 = $3545;
HEAP32[$3546>>2] = $3542;
$3549 = (_i64Add(($3429|0),($3430|0),($3547|0),($3548|0))|0);
$3550 = tempRet0;
$3551 = $9;
$3552 = $3551;
HEAP32[$3552>>2] = $3549;
$3553 = (($3551) + 4)|0;
$3554 = $3553;
HEAP32[$3554>>2] = $3550;
$3557 = (_i64Add(($3355|0),($3356|0),($3555|0),($3556|0))|0);
$3558 = tempRet0;
$3559 = $10;
$3560 = $3559;
HEAP32[$3560>>2] = $3557;
$3561 = (($3559) + 4)|0;
$3562 = $3561;
HEAP32[$3562>>2] = $3558;
$3565 = (_i64Add(($3281|0),($3282|0),($3563|0),($3564|0))|0);
$3566 = tempRet0;
$3567 = $11;
$3568 = $3567;
HEAP32[$3568>>2] = $3565;
$3569 = (($3567) + 4)|0;
$3570 = $3569;
HEAP32[$3570>>2] = $3566;
$3571 = ((($$0)) + 128|0);
$3572 = (($$08) + -1)|0;
$3573 = ($3572|0)==(0);
if ($3573) {
break;
} else {
$$0 = $3571;$$08 = $3572;$3501 = $3507;$3502 = $3508;$3513 = $3515;$3514 = $3516;$3521 = $3523;$3522 = $3524;$3529 = $3531;$3530 = $3532;$3537 = $3541;$3538 = $3542;$3547 = $3549;$3548 = $3550;$3555 = $3557;$3556 = $3558;$3563 = $3565;$3564 = $3566;
}
}
STACKTOP = sp;return 220;
}
function _sha384_init($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 160|0);
$3 = $2;
$4 = $3;
HEAP32[$4>>2] = -1056596264;
$5 = (($3) + 4)|0;
$6 = $5;
HEAP32[$6>>2] = -876896931;
$7 = ((($0)) + 168|0);
$8 = $7;
$9 = $8;
HEAP32[$9>>2] = 914150663;
$10 = (($8) + 4)|0;
$11 = $10;
HEAP32[$11>>2] = 1654270250;
$12 = ((($0)) + 176|0);
$13 = $12;
$14 = $13;
HEAP32[$14>>2] = 812702999;
$15 = (($13) + 4)|0;
$16 = $15;
HEAP32[$16>>2] = -1856437926;
$17 = ((($0)) + 184|0);
$18 = $17;
$19 = $18;
HEAP32[$19>>2] = -150054599;
$20 = (($18) + 4)|0;
$21 = $20;
HEAP32[$21>>2] = 355462360;
$22 = ((($0)) + 192|0);
$23 = $22;
$24 = $23;
HEAP32[$24>>2] = -4191439;
$25 = (($23) + 4)|0;
$26 = $25;
HEAP32[$26>>2] = 1731405415;
$27 = ((($0)) + 200|0);
$28 = $27;
$29 = $28;
HEAP32[$29>>2] = 1750603025;
$30 = (($28) + 4)|0;
$31 = $30;
HEAP32[$31>>2] = -1900787065;
$32 = ((($0)) + 208|0);
$33 = $32;
$34 = $33;
HEAP32[$34>>2] = 1694076839;
$35 = (($33) + 4)|0;
$36 = $35;
HEAP32[$36>>2] = -619958771;
$37 = ((($0)) + 216|0);
$38 = $37;
$39 = $38;
HEAP32[$39>>2] = -1090891868;
$40 = (($38) + 4)|0;
$41 = $40;
HEAP32[$41>>2] = 1203062813;
$42 = ((($0)) + 128|0);
$43 = ((($0)) + 148|0);
;HEAP32[$42>>2]=0|0;HEAP32[$42+4>>2]=0|0;HEAP32[$42+8>>2]=0|0;HEAP32[$42+12>>2]=0|0;HEAP32[$42+16>>2]=0|0;
HEAP32[$43>>2] = 128;
$44 = ((($0)) + 152|0);
HEAP32[$44>>2] = 80;
return;
}
function _twofish_setkey($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_do_twofish_setkey($0,$1,$2)|0);
___gcry_burn_stack(47);
return ($3|0);
}
function _twofish_encrypt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0;
var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0;
var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0;
var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0;
var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0;
var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0;
var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0;
var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0;
var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0;
var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0;
var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0;
var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0;
var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0;
var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0;
var $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0;
var $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0;
var $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0;
var $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0;
var $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0;
var $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0;
var $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0;
var $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0;
var $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0;
var $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0;
var $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0;
var $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0;
var $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0;
var $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0;
var $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0;
var $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0;
var $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0;
var $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0;
var $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0;
var $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0;
var $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($2)) + 3|0);
$4 = HEAP8[$3>>0]|0;
$5 = $4&255;
$6 = $5 << 24;
$7 = ((($2)) + 2|0);
$8 = HEAP8[$7>>0]|0;
$9 = $8&255;
$10 = $9 << 16;
$11 = $10 | $6;
$12 = ((($2)) + 1|0);
$13 = HEAP8[$12>>0]|0;
$14 = $13&255;
$15 = $14 << 8;
$16 = $11 | $15;
$17 = HEAP8[$2>>0]|0;
$18 = $17&255;
$19 = $16 | $18;
$20 = ((($0)) + 4096|0);
$21 = HEAP32[$20>>2]|0;
$22 = $19 ^ $21;
$23 = ((($2)) + 4|0);
$24 = ((($2)) + 7|0);
$25 = HEAP8[$24>>0]|0;
$26 = $25&255;
$27 = $26 << 24;
$28 = ((($2)) + 6|0);
$29 = HEAP8[$28>>0]|0;
$30 = $29&255;
$31 = $30 << 16;
$32 = $31 | $27;
$33 = ((($2)) + 5|0);
$34 = HEAP8[$33>>0]|0;
$35 = $34&255;
$36 = $35 << 8;
$37 = $32 | $36;
$38 = HEAP8[$23>>0]|0;
$39 = $38&255;
$40 = $37 | $39;
$41 = ((($0)) + 4100|0);
$42 = HEAP32[$41>>2]|0;
$43 = $40 ^ $42;
$44 = ((($2)) + 8|0);
$45 = ((($2)) + 11|0);
$46 = HEAP8[$45>>0]|0;
$47 = $46&255;
$48 = $47 << 24;
$49 = ((($2)) + 10|0);
$50 = HEAP8[$49>>0]|0;
$51 = $50&255;
$52 = $51 << 16;
$53 = $52 | $48;
$54 = ((($2)) + 9|0);
$55 = HEAP8[$54>>0]|0;
$56 = $55&255;
$57 = $56 << 8;
$58 = $53 | $57;
$59 = HEAP8[$44>>0]|0;
$60 = $59&255;
$61 = $58 | $60;
$62 = ((($0)) + 4104|0);
$63 = HEAP32[$62>>2]|0;
$64 = $61 ^ $63;
$65 = ((($2)) + 12|0);
$66 = ((($2)) + 15|0);
$67 = HEAP8[$66>>0]|0;
$68 = $67&255;
$69 = $68 << 24;
$70 = ((($2)) + 14|0);
$71 = HEAP8[$70>>0]|0;
$72 = $71&255;
$73 = $72 << 16;
$74 = $73 | $69;
$75 = ((($2)) + 13|0);
$76 = HEAP8[$75>>0]|0;
$77 = $76&255;
$78 = $77 << 8;
$79 = $74 | $78;
$80 = HEAP8[$65>>0]|0;
$81 = $80&255;
$82 = $79 | $81;
$83 = ((($0)) + 4108|0);
$84 = HEAP32[$83>>2]|0;
$85 = $82 ^ $84;
$86 = $22 & 255;
$87 = (($0) + ($86<<2)|0);
$88 = HEAP32[$87>>2]|0;
$89 = $22 >>> 8;
$90 = $89 & 255;
$91 = (((($0)) + 1024|0) + ($90<<2)|0);
$92 = HEAP32[$91>>2]|0;
$93 = $92 ^ $88;
$94 = $22 >>> 16;
$95 = $94 & 255;
$96 = (((($0)) + 2048|0) + ($95<<2)|0);
$97 = HEAP32[$96>>2]|0;
$98 = $93 ^ $97;
$99 = $22 >>> 24;
$100 = (((($0)) + 3072|0) + ($99<<2)|0);
$101 = HEAP32[$100>>2]|0;
$102 = $98 ^ $101;
$103 = $43 & 255;
$104 = (((($0)) + 1024|0) + ($103<<2)|0);
$105 = HEAP32[$104>>2]|0;
$106 = $43 >>> 8;
$107 = $106 & 255;
$108 = (((($0)) + 2048|0) + ($107<<2)|0);
$109 = HEAP32[$108>>2]|0;
$110 = $109 ^ $105;
$111 = $43 >>> 16;
$112 = $111 & 255;
$113 = (((($0)) + 3072|0) + ($112<<2)|0);
$114 = HEAP32[$113>>2]|0;
$115 = $110 ^ $114;
$116 = $43 >>> 24;
$117 = (($0) + ($116<<2)|0);
$118 = HEAP32[$117>>2]|0;
$119 = $115 ^ $118;
$120 = (($119) + ($102))|0;
$121 = ((($0)) + 4132|0);
$122 = HEAP32[$121>>2]|0;
$123 = (($119) + ($122))|0;
$124 = (($123) + ($120))|0;
$125 = ((($0)) + 4128|0);
$126 = HEAP32[$125>>2]|0;
$127 = (($120) + ($126))|0;
$128 = $64 ^ $127;
$129 = $128 >>> 1;
$130 = $128 << 31;
$131 = $129 | $130;
$132 = $85 << 1;
$133 = $85 >>> 31;
$134 = $132 | $133;
$135 = $124 ^ $134;
$136 = $129 & 255;
$137 = (($0) + ($136<<2)|0);
$138 = HEAP32[$137>>2]|0;
$139 = $128 >>> 9;
$140 = $139 & 255;
$141 = (((($0)) + 1024|0) + ($140<<2)|0);
$142 = HEAP32[$141>>2]|0;
$143 = $142 ^ $138;
$144 = $128 >>> 17;
$145 = $144 & 255;
$146 = (((($0)) + 2048|0) + ($145<<2)|0);
$147 = HEAP32[$146>>2]|0;
$148 = $143 ^ $147;
$149 = $131 >>> 24;
$150 = (((($0)) + 3072|0) + ($149<<2)|0);
$151 = HEAP32[$150>>2]|0;
$152 = $148 ^ $151;
$153 = $135 & 255;
$154 = (((($0)) + 1024|0) + ($153<<2)|0);
$155 = HEAP32[$154>>2]|0;
$156 = $135 >>> 8;
$157 = $156 & 255;
$158 = (((($0)) + 2048|0) + ($157<<2)|0);
$159 = HEAP32[$158>>2]|0;
$160 = $159 ^ $155;
$161 = $135 >>> 16;
$162 = $161 & 255;
$163 = (((($0)) + 3072|0) + ($162<<2)|0);
$164 = HEAP32[$163>>2]|0;
$165 = $160 ^ $164;
$166 = $135 >>> 24;
$167 = (($0) + ($166<<2)|0);
$168 = HEAP32[$167>>2]|0;
$169 = $165 ^ $168;
$170 = (($169) + ($152))|0;
$171 = ((($0)) + 4140|0);
$172 = HEAP32[$171>>2]|0;
$173 = (($169) + ($172))|0;
$174 = (($173) + ($170))|0;
$175 = ((($0)) + 4136|0);
$176 = HEAP32[$175>>2]|0;
$177 = (($170) + ($176))|0;
$178 = $177 ^ $22;
$179 = $178 >>> 1;
$180 = $178 << 31;
$181 = $179 | $180;
$182 = $43 << 1;
$183 = $43 >>> 31;
$184 = $182 | $183;
$185 = $174 ^ $184;
$186 = $179 & 255;
$187 = (($0) + ($186<<2)|0);
$188 = HEAP32[$187>>2]|0;
$189 = $178 >>> 9;
$190 = $189 & 255;
$191 = (((($0)) + 1024|0) + ($190<<2)|0);
$192 = HEAP32[$191>>2]|0;
$193 = $192 ^ $188;
$194 = $178 >>> 17;
$195 = $194 & 255;
$196 = (((($0)) + 2048|0) + ($195<<2)|0);
$197 = HEAP32[$196>>2]|0;
$198 = $193 ^ $197;
$199 = $181 >>> 24;
$200 = (((($0)) + 3072|0) + ($199<<2)|0);
$201 = HEAP32[$200>>2]|0;
$202 = $198 ^ $201;
$203 = $185 & 255;
$204 = (((($0)) + 1024|0) + ($203<<2)|0);
$205 = HEAP32[$204>>2]|0;
$206 = $185 >>> 8;
$207 = $206 & 255;
$208 = (((($0)) + 2048|0) + ($207<<2)|0);
$209 = HEAP32[$208>>2]|0;
$210 = $209 ^ $205;
$211 = $185 >>> 16;
$212 = $211 & 255;
$213 = (((($0)) + 3072|0) + ($212<<2)|0);
$214 = HEAP32[$213>>2]|0;
$215 = $210 ^ $214;
$216 = $185 >>> 24;
$217 = (($0) + ($216<<2)|0);
$218 = HEAP32[$217>>2]|0;
$219 = $215 ^ $218;
$220 = (($219) + ($202))|0;
$221 = ((($0)) + 4148|0);
$222 = HEAP32[$221>>2]|0;
$223 = (($219) + ($222))|0;
$224 = (($223) + ($220))|0;
$225 = ((($0)) + 4144|0);
$226 = HEAP32[$225>>2]|0;
$227 = (($220) + ($226))|0;
$228 = $227 ^ $131;
$229 = $228 >>> 1;
$230 = $228 << 31;
$231 = $229 | $230;
$232 = $135 << 1;
$233 = $135 >>> 31;
$234 = $232 | $233;
$235 = $224 ^ $234;
$236 = $229 & 255;
$237 = (($0) + ($236<<2)|0);
$238 = HEAP32[$237>>2]|0;
$239 = $228 >>> 9;
$240 = $239 & 255;
$241 = (((($0)) + 1024|0) + ($240<<2)|0);
$242 = HEAP32[$241>>2]|0;
$243 = $242 ^ $238;
$244 = $228 >>> 17;
$245 = $244 & 255;
$246 = (((($0)) + 2048|0) + ($245<<2)|0);
$247 = HEAP32[$246>>2]|0;
$248 = $243 ^ $247;
$249 = $231 >>> 24;
$250 = (((($0)) + 3072|0) + ($249<<2)|0);
$251 = HEAP32[$250>>2]|0;
$252 = $248 ^ $251;
$253 = $235 & 255;
$254 = (((($0)) + 1024|0) + ($253<<2)|0);
$255 = HEAP32[$254>>2]|0;
$256 = $235 >>> 8;
$257 = $256 & 255;
$258 = (((($0)) + 2048|0) + ($257<<2)|0);
$259 = HEAP32[$258>>2]|0;
$260 = $259 ^ $255;
$261 = $235 >>> 16;
$262 = $261 & 255;
$263 = (((($0)) + 3072|0) + ($262<<2)|0);
$264 = HEAP32[$263>>2]|0;
$265 = $260 ^ $264;
$266 = $235 >>> 24;
$267 = (($0) + ($266<<2)|0);
$268 = HEAP32[$267>>2]|0;
$269 = $265 ^ $268;
$270 = (($269) + ($252))|0;
$271 = ((($0)) + 4156|0);
$272 = HEAP32[$271>>2]|0;
$273 = (($269) + ($272))|0;
$274 = (($273) + ($270))|0;
$275 = ((($0)) + 4152|0);
$276 = HEAP32[$275>>2]|0;
$277 = (($270) + ($276))|0;
$278 = $277 ^ $181;
$279 = $278 >>> 1;
$280 = $278 << 31;
$281 = $279 | $280;
$282 = $185 << 1;
$283 = $185 >>> 31;
$284 = $282 | $283;
$285 = $274 ^ $284;
$286 = $279 & 255;
$287 = (($0) + ($286<<2)|0);
$288 = HEAP32[$287>>2]|0;
$289 = $278 >>> 9;
$290 = $289 & 255;
$291 = (((($0)) + 1024|0) + ($290<<2)|0);
$292 = HEAP32[$291>>2]|0;
$293 = $292 ^ $288;
$294 = $278 >>> 17;
$295 = $294 & 255;
$296 = (((($0)) + 2048|0) + ($295<<2)|0);
$297 = HEAP32[$296>>2]|0;
$298 = $293 ^ $297;
$299 = $281 >>> 24;
$300 = (((($0)) + 3072|0) + ($299<<2)|0);
$301 = HEAP32[$300>>2]|0;
$302 = $298 ^ $301;
$303 = $285 & 255;
$304 = (((($0)) + 1024|0) + ($303<<2)|0);
$305 = HEAP32[$304>>2]|0;
$306 = $285 >>> 8;
$307 = $306 & 255;
$308 = (((($0)) + 2048|0) + ($307<<2)|0);
$309 = HEAP32[$308>>2]|0;
$310 = $309 ^ $305;
$311 = $285 >>> 16;
$312 = $311 & 255;
$313 = (((($0)) + 3072|0) + ($312<<2)|0);
$314 = HEAP32[$313>>2]|0;
$315 = $310 ^ $314;
$316 = $285 >>> 24;
$317 = (($0) + ($316<<2)|0);
$318 = HEAP32[$317>>2]|0;
$319 = $315 ^ $318;
$320 = (($319) + ($302))|0;
$321 = ((($0)) + 4164|0);
$322 = HEAP32[$321>>2]|0;
$323 = (($319) + ($322))|0;
$324 = (($323) + ($320))|0;
$325 = ((($0)) + 4160|0);
$326 = HEAP32[$325>>2]|0;
$327 = (($320) + ($326))|0;
$328 = $327 ^ $231;
$329 = $328 >>> 1;
$330 = $328 << 31;
$331 = $329 | $330;
$332 = $235 << 1;
$333 = $235 >>> 31;
$334 = $332 | $333;
$335 = $324 ^ $334;
$336 = $329 & 255;
$337 = (($0) + ($336<<2)|0);
$338 = HEAP32[$337>>2]|0;
$339 = $328 >>> 9;
$340 = $339 & 255;
$341 = (((($0)) + 1024|0) + ($340<<2)|0);
$342 = HEAP32[$341>>2]|0;
$343 = $342 ^ $338;
$344 = $328 >>> 17;
$345 = $344 & 255;
$346 = (((($0)) + 2048|0) + ($345<<2)|0);
$347 = HEAP32[$346>>2]|0;
$348 = $343 ^ $347;
$349 = $331 >>> 24;
$350 = (((($0)) + 3072|0) + ($349<<2)|0);
$351 = HEAP32[$350>>2]|0;
$352 = $348 ^ $351;
$353 = $335 & 255;
$354 = (((($0)) + 1024|0) + ($353<<2)|0);
$355 = HEAP32[$354>>2]|0;
$356 = $335 >>> 8;
$357 = $356 & 255;
$358 = (((($0)) + 2048|0) + ($357<<2)|0);
$359 = HEAP32[$358>>2]|0;
$360 = $359 ^ $355;
$361 = $335 >>> 16;
$362 = $361 & 255;
$363 = (((($0)) + 3072|0) + ($362<<2)|0);
$364 = HEAP32[$363>>2]|0;
$365 = $360 ^ $364;
$366 = $335 >>> 24;
$367 = (($0) + ($366<<2)|0);
$368 = HEAP32[$367>>2]|0;
$369 = $365 ^ $368;
$370 = (($369) + ($352))|0;
$371 = ((($0)) + 4172|0);
$372 = HEAP32[$371>>2]|0;
$373 = (($369) + ($372))|0;
$374 = (($373) + ($370))|0;
$375 = ((($0)) + 4168|0);
$376 = HEAP32[$375>>2]|0;
$377 = (($370) + ($376))|0;
$378 = $377 ^ $281;
$379 = $378 >>> 1;
$380 = $378 << 31;
$381 = $379 | $380;
$382 = $285 << 1;
$383 = $285 >>> 31;
$384 = $382 | $383;
$385 = $374 ^ $384;
$386 = $379 & 255;
$387 = (($0) + ($386<<2)|0);
$388 = HEAP32[$387>>2]|0;
$389 = $378 >>> 9;
$390 = $389 & 255;
$391 = (((($0)) + 1024|0) + ($390<<2)|0);
$392 = HEAP32[$391>>2]|0;
$393 = $392 ^ $388;
$394 = $378 >>> 17;
$395 = $394 & 255;
$396 = (((($0)) + 2048|0) + ($395<<2)|0);
$397 = HEAP32[$396>>2]|0;
$398 = $393 ^ $397;
$399 = $381 >>> 24;
$400 = (((($0)) + 3072|0) + ($399<<2)|0);
$401 = HEAP32[$400>>2]|0;
$402 = $398 ^ $401;
$403 = $385 & 255;
$404 = (((($0)) + 1024|0) + ($403<<2)|0);
$405 = HEAP32[$404>>2]|0;
$406 = $385 >>> 8;
$407 = $406 & 255;
$408 = (((($0)) + 2048|0) + ($407<<2)|0);
$409 = HEAP32[$408>>2]|0;
$410 = $409 ^ $405;
$411 = $385 >>> 16;
$412 = $411 & 255;
$413 = (((($0)) + 3072|0) + ($412<<2)|0);
$414 = HEAP32[$413>>2]|0;
$415 = $410 ^ $414;
$416 = $385 >>> 24;
$417 = (($0) + ($416<<2)|0);
$418 = HEAP32[$417>>2]|0;
$419 = $415 ^ $418;
$420 = (($419) + ($402))|0;
$421 = ((($0)) + 4180|0);
$422 = HEAP32[$421>>2]|0;
$423 = (($419) + ($422))|0;
$424 = (($423) + ($420))|0;
$425 = ((($0)) + 4176|0);
$426 = HEAP32[$425>>2]|0;
$427 = (($420) + ($426))|0;
$428 = $427 ^ $331;
$429 = $428 >>> 1;
$430 = $428 << 31;
$431 = $429 | $430;
$432 = $335 << 1;
$433 = $335 >>> 31;
$434 = $432 | $433;
$435 = $424 ^ $434;
$436 = $429 & 255;
$437 = (($0) + ($436<<2)|0);
$438 = HEAP32[$437>>2]|0;
$439 = $428 >>> 9;
$440 = $439 & 255;
$441 = (((($0)) + 1024|0) + ($440<<2)|0);
$442 = HEAP32[$441>>2]|0;
$443 = $442 ^ $438;
$444 = $428 >>> 17;
$445 = $444 & 255;
$446 = (((($0)) + 2048|0) + ($445<<2)|0);
$447 = HEAP32[$446>>2]|0;
$448 = $443 ^ $447;
$449 = $431 >>> 24;
$450 = (((($0)) + 3072|0) + ($449<<2)|0);
$451 = HEAP32[$450>>2]|0;
$452 = $448 ^ $451;
$453 = $435 & 255;
$454 = (((($0)) + 1024|0) + ($453<<2)|0);
$455 = HEAP32[$454>>2]|0;
$456 = $435 >>> 8;
$457 = $456 & 255;
$458 = (((($0)) + 2048|0) + ($457<<2)|0);
$459 = HEAP32[$458>>2]|0;
$460 = $459 ^ $455;
$461 = $435 >>> 16;
$462 = $461 & 255;
$463 = (((($0)) + 3072|0) + ($462<<2)|0);
$464 = HEAP32[$463>>2]|0;
$465 = $460 ^ $464;
$466 = $435 >>> 24;
$467 = (($0) + ($466<<2)|0);
$468 = HEAP32[$467>>2]|0;
$469 = $465 ^ $468;
$470 = (($469) + ($452))|0;
$471 = ((($0)) + 4188|0);
$472 = HEAP32[$471>>2]|0;
$473 = (($469) + ($472))|0;
$474 = (($473) + ($470))|0;
$475 = ((($0)) + 4184|0);
$476 = HEAP32[$475>>2]|0;
$477 = (($470) + ($476))|0;
$478 = $477 ^ $381;
$479 = $478 >>> 1;
$480 = $478 << 31;
$481 = $479 | $480;
$482 = $385 << 1;
$483 = $385 >>> 31;
$484 = $482 | $483;
$485 = $474 ^ $484;
$486 = $479 & 255;
$487 = (($0) + ($486<<2)|0);
$488 = HEAP32[$487>>2]|0;
$489 = $478 >>> 9;
$490 = $489 & 255;
$491 = (((($0)) + 1024|0) + ($490<<2)|0);
$492 = HEAP32[$491>>2]|0;
$493 = $492 ^ $488;
$494 = $478 >>> 17;
$495 = $494 & 255;
$496 = (((($0)) + 2048|0) + ($495<<2)|0);
$497 = HEAP32[$496>>2]|0;
$498 = $493 ^ $497;
$499 = $481 >>> 24;
$500 = (((($0)) + 3072|0) + ($499<<2)|0);
$501 = HEAP32[$500>>2]|0;
$502 = $498 ^ $501;
$503 = $485 & 255;
$504 = (((($0)) + 1024|0) + ($503<<2)|0);
$505 = HEAP32[$504>>2]|0;
$506 = $485 >>> 8;
$507 = $506 & 255;
$508 = (((($0)) + 2048|0) + ($507<<2)|0);
$509 = HEAP32[$508>>2]|0;
$510 = $509 ^ $505;
$511 = $485 >>> 16;
$512 = $511 & 255;
$513 = (((($0)) + 3072|0) + ($512<<2)|0);
$514 = HEAP32[$513>>2]|0;
$515 = $510 ^ $514;
$516 = $485 >>> 24;
$517 = (($0) + ($516<<2)|0);
$518 = HEAP32[$517>>2]|0;
$519 = $515 ^ $518;
$520 = (($519) + ($502))|0;
$521 = ((($0)) + 4196|0);
$522 = HEAP32[$521>>2]|0;
$523 = (($519) + ($522))|0;
$524 = (($523) + ($520))|0;
$525 = ((($0)) + 4192|0);
$526 = HEAP32[$525>>2]|0;
$527 = (($520) + ($526))|0;
$528 = $527 ^ $431;
$529 = $528 >>> 1;
$530 = $528 << 31;
$531 = $529 | $530;
$532 = $435 << 1;
$533 = $435 >>> 31;
$534 = $532 | $533;
$535 = $524 ^ $534;
$536 = $529 & 255;
$537 = (($0) + ($536<<2)|0);
$538 = HEAP32[$537>>2]|0;
$539 = $528 >>> 9;
$540 = $539 & 255;
$541 = (((($0)) + 1024|0) + ($540<<2)|0);
$542 = HEAP32[$541>>2]|0;
$543 = $542 ^ $538;
$544 = $528 >>> 17;
$545 = $544 & 255;
$546 = (((($0)) + 2048|0) + ($545<<2)|0);
$547 = HEAP32[$546>>2]|0;
$548 = $543 ^ $547;
$549 = $531 >>> 24;
$550 = (((($0)) + 3072|0) + ($549<<2)|0);
$551 = HEAP32[$550>>2]|0;
$552 = $548 ^ $551;
$553 = $535 & 255;
$554 = (((($0)) + 1024|0) + ($553<<2)|0);
$555 = HEAP32[$554>>2]|0;
$556 = $535 >>> 8;
$557 = $556 & 255;
$558 = (((($0)) + 2048|0) + ($557<<2)|0);
$559 = HEAP32[$558>>2]|0;
$560 = $559 ^ $555;
$561 = $535 >>> 16;
$562 = $561 & 255;
$563 = (((($0)) + 3072|0) + ($562<<2)|0);
$564 = HEAP32[$563>>2]|0;
$565 = $560 ^ $564;
$566 = $535 >>> 24;
$567 = (($0) + ($566<<2)|0);
$568 = HEAP32[$567>>2]|0;
$569 = $565 ^ $568;
$570 = (($569) + ($552))|0;
$571 = ((($0)) + 4204|0);
$572 = HEAP32[$571>>2]|0;
$573 = (($569) + ($572))|0;
$574 = (($573) + ($570))|0;
$575 = ((($0)) + 4200|0);
$576 = HEAP32[$575>>2]|0;
$577 = (($570) + ($576))|0;
$578 = $577 ^ $481;
$579 = $578 >>> 1;
$580 = $578 << 31;
$581 = $579 | $580;
$582 = $485 << 1;
$583 = $485 >>> 31;
$584 = $582 | $583;
$585 = $574 ^ $584;
$586 = $579 & 255;
$587 = (($0) + ($586<<2)|0);
$588 = HEAP32[$587>>2]|0;
$589 = $578 >>> 9;
$590 = $589 & 255;
$591 = (((($0)) + 1024|0) + ($590<<2)|0);
$592 = HEAP32[$591>>2]|0;
$593 = $592 ^ $588;
$594 = $578 >>> 17;
$595 = $594 & 255;
$596 = (((($0)) + 2048|0) + ($595<<2)|0);
$597 = HEAP32[$596>>2]|0;
$598 = $593 ^ $597;
$599 = $581 >>> 24;
$600 = (((($0)) + 3072|0) + ($599<<2)|0);
$601 = HEAP32[$600>>2]|0;
$602 = $598 ^ $601;
$603 = $585 & 255;
$604 = (((($0)) + 1024|0) + ($603<<2)|0);
$605 = HEAP32[$604>>2]|0;
$606 = $585 >>> 8;
$607 = $606 & 255;
$608 = (((($0)) + 2048|0) + ($607<<2)|0);
$609 = HEAP32[$608>>2]|0;
$610 = $609 ^ $605;
$611 = $585 >>> 16;
$612 = $611 & 255;
$613 = (((($0)) + 3072|0) + ($612<<2)|0);
$614 = HEAP32[$613>>2]|0;
$615 = $610 ^ $614;
$616 = $585 >>> 24;
$617 = (($0) + ($616<<2)|0);
$618 = HEAP32[$617>>2]|0;
$619 = $615 ^ $618;
$620 = (($619) + ($602))|0;
$621 = ((($0)) + 4212|0);
$622 = HEAP32[$621>>2]|0;
$623 = (($619) + ($622))|0;
$624 = (($623) + ($620))|0;
$625 = ((($0)) + 4208|0);
$626 = HEAP32[$625>>2]|0;
$627 = (($620) + ($626))|0;
$628 = $627 ^ $531;
$629 = $628 >>> 1;
$630 = $628 << 31;
$631 = $629 | $630;
$632 = $535 << 1;
$633 = $535 >>> 31;
$634 = $632 | $633;
$635 = $624 ^ $634;
$636 = $629 & 255;
$637 = (($0) + ($636<<2)|0);
$638 = HEAP32[$637>>2]|0;
$639 = $628 >>> 9;
$640 = $639 & 255;
$641 = (((($0)) + 1024|0) + ($640<<2)|0);
$642 = HEAP32[$641>>2]|0;
$643 = $642 ^ $638;
$644 = $628 >>> 17;
$645 = $644 & 255;
$646 = (((($0)) + 2048|0) + ($645<<2)|0);
$647 = HEAP32[$646>>2]|0;
$648 = $643 ^ $647;
$649 = $631 >>> 24;
$650 = (((($0)) + 3072|0) + ($649<<2)|0);
$651 = HEAP32[$650>>2]|0;
$652 = $648 ^ $651;
$653 = $635 & 255;
$654 = (((($0)) + 1024|0) + ($653<<2)|0);
$655 = HEAP32[$654>>2]|0;
$656 = $635 >>> 8;
$657 = $656 & 255;
$658 = (((($0)) + 2048|0) + ($657<<2)|0);
$659 = HEAP32[$658>>2]|0;
$660 = $659 ^ $655;
$661 = $635 >>> 16;
$662 = $661 & 255;
$663 = (((($0)) + 3072|0) + ($662<<2)|0);
$664 = HEAP32[$663>>2]|0;
$665 = $660 ^ $664;
$666 = $635 >>> 24;
$667 = (($0) + ($666<<2)|0);
$668 = HEAP32[$667>>2]|0;
$669 = $665 ^ $668;
$670 = (($669) + ($652))|0;
$671 = ((($0)) + 4220|0);
$672 = HEAP32[$671>>2]|0;
$673 = (($669) + ($672))|0;
$674 = (($673) + ($670))|0;
$675 = ((($0)) + 4216|0);
$676 = HEAP32[$675>>2]|0;
$677 = (($670) + ($676))|0;
$678 = $677 ^ $581;
$679 = $678 >>> 1;
$680 = $678 << 31;
$681 = $679 | $680;
$682 = $585 << 1;
$683 = $585 >>> 31;
$684 = $682 | $683;
$685 = $674 ^ $684;
$686 = $679 & 255;
$687 = (($0) + ($686<<2)|0);
$688 = HEAP32[$687>>2]|0;
$689 = $678 >>> 9;
$690 = $689 & 255;
$691 = (((($0)) + 1024|0) + ($690<<2)|0);
$692 = HEAP32[$691>>2]|0;
$693 = $692 ^ $688;
$694 = $678 >>> 17;
$695 = $694 & 255;
$696 = (((($0)) + 2048|0) + ($695<<2)|0);
$697 = HEAP32[$696>>2]|0;
$698 = $693 ^ $697;
$699 = $681 >>> 24;
$700 = (((($0)) + 3072|0) + ($699<<2)|0);
$701 = HEAP32[$700>>2]|0;
$702 = $698 ^ $701;
$703 = $685 & 255;
$704 = (((($0)) + 1024|0) + ($703<<2)|0);
$705 = HEAP32[$704>>2]|0;
$706 = $685 >>> 8;
$707 = $706 & 255;
$708 = (((($0)) + 2048|0) + ($707<<2)|0);
$709 = HEAP32[$708>>2]|0;
$710 = $709 ^ $705;
$711 = $685 >>> 16;
$712 = $711 & 255;
$713 = (((($0)) + 3072|0) + ($712<<2)|0);
$714 = HEAP32[$713>>2]|0;
$715 = $710 ^ $714;
$716 = $685 >>> 24;
$717 = (($0) + ($716<<2)|0);
$718 = HEAP32[$717>>2]|0;
$719 = $715 ^ $718;
$720 = (($719) + ($702))|0;
$721 = ((($0)) + 4228|0);
$722 = HEAP32[$721>>2]|0;
$723 = (($719) + ($722))|0;
$724 = (($723) + ($720))|0;
$725 = ((($0)) + 4224|0);
$726 = HEAP32[$725>>2]|0;
$727 = (($720) + ($726))|0;
$728 = $727 ^ $631;
$729 = $728 >>> 1;
$730 = $728 << 31;
$731 = $729 | $730;
$732 = $635 << 1;
$733 = $635 >>> 31;
$734 = $732 | $733;
$735 = $724 ^ $734;
$736 = $729 & 255;
$737 = (($0) + ($736<<2)|0);
$738 = HEAP32[$737>>2]|0;
$739 = $728 >>> 9;
$740 = $739 & 255;
$741 = (((($0)) + 1024|0) + ($740<<2)|0);
$742 = HEAP32[$741>>2]|0;
$743 = $742 ^ $738;
$744 = $728 >>> 17;
$745 = $744 & 255;
$746 = (((($0)) + 2048|0) + ($745<<2)|0);
$747 = HEAP32[$746>>2]|0;
$748 = $743 ^ $747;
$749 = $731 >>> 24;
$750 = (((($0)) + 3072|0) + ($749<<2)|0);
$751 = HEAP32[$750>>2]|0;
$752 = $748 ^ $751;
$753 = $735 & 255;
$754 = (((($0)) + 1024|0) + ($753<<2)|0);
$755 = HEAP32[$754>>2]|0;
$756 = $735 >>> 8;
$757 = $756 & 255;
$758 = (((($0)) + 2048|0) + ($757<<2)|0);
$759 = HEAP32[$758>>2]|0;
$760 = $759 ^ $755;
$761 = $735 >>> 16;
$762 = $761 & 255;
$763 = (((($0)) + 3072|0) + ($762<<2)|0);
$764 = HEAP32[$763>>2]|0;
$765 = $760 ^ $764;
$766 = $735 >>> 24;
$767 = (($0) + ($766<<2)|0);
$768 = HEAP32[$767>>2]|0;
$769 = $765 ^ $768;
$770 = (($769) + ($752))|0;
$771 = ((($0)) + 4236|0);
$772 = HEAP32[$771>>2]|0;
$773 = (($769) + ($772))|0;
$774 = (($773) + ($770))|0;
$775 = ((($0)) + 4232|0);
$776 = HEAP32[$775>>2]|0;
$777 = (($770) + ($776))|0;
$778 = $777 ^ $681;
$779 = $778 >>> 1;
$780 = $778 << 31;
$781 = $779 | $780;
$782 = $685 << 1;
$783 = $685 >>> 31;
$784 = $782 | $783;
$785 = $774 ^ $784;
$786 = $779 & 255;
$787 = (($0) + ($786<<2)|0);
$788 = HEAP32[$787>>2]|0;
$789 = $778 >>> 9;
$790 = $789 & 255;
$791 = (((($0)) + 1024|0) + ($790<<2)|0);
$792 = HEAP32[$791>>2]|0;
$793 = $792 ^ $788;
$794 = $778 >>> 17;
$795 = $794 & 255;
$796 = (((($0)) + 2048|0) + ($795<<2)|0);
$797 = HEAP32[$796>>2]|0;
$798 = $793 ^ $797;
$799 = $781 >>> 24;
$800 = (((($0)) + 3072|0) + ($799<<2)|0);
$801 = HEAP32[$800>>2]|0;
$802 = $798 ^ $801;
$803 = $785 & 255;
$804 = (((($0)) + 1024|0) + ($803<<2)|0);
$805 = HEAP32[$804>>2]|0;
$806 = $785 >>> 8;
$807 = $806 & 255;
$808 = (((($0)) + 2048|0) + ($807<<2)|0);
$809 = HEAP32[$808>>2]|0;
$810 = $809 ^ $805;
$811 = $785 >>> 16;
$812 = $811 & 255;
$813 = (((($0)) + 3072|0) + ($812<<2)|0);
$814 = HEAP32[$813>>2]|0;
$815 = $810 ^ $814;
$816 = $785 >>> 24;
$817 = (($0) + ($816<<2)|0);
$818 = HEAP32[$817>>2]|0;
$819 = $815 ^ $818;
$820 = (($819) + ($802))|0;
$821 = ((($0)) + 4244|0);
$822 = HEAP32[$821>>2]|0;
$823 = (($819) + ($822))|0;
$824 = (($823) + ($820))|0;
$825 = ((($0)) + 4240|0);
$826 = HEAP32[$825>>2]|0;
$827 = (($820) + ($826))|0;
$828 = $827 ^ $731;
$829 = $828 >>> 1;
$830 = $828 << 31;
$831 = $829 | $830;
$832 = $735 << 1;
$833 = $735 >>> 31;
$834 = $832 | $833;
$835 = $824 ^ $834;
$836 = $829 & 255;
$837 = (($0) + ($836<<2)|0);
$838 = HEAP32[$837>>2]|0;
$839 = $828 >>> 9;
$840 = $839 & 255;
$841 = (((($0)) + 1024|0) + ($840<<2)|0);
$842 = HEAP32[$841>>2]|0;
$843 = $842 ^ $838;
$844 = $828 >>> 17;
$845 = $844 & 255;
$846 = (((($0)) + 2048|0) + ($845<<2)|0);
$847 = HEAP32[$846>>2]|0;
$848 = $843 ^ $847;
$849 = $831 >>> 24;
$850 = (((($0)) + 3072|0) + ($849<<2)|0);
$851 = HEAP32[$850>>2]|0;
$852 = $848 ^ $851;
$853 = $835 & 255;
$854 = (((($0)) + 1024|0) + ($853<<2)|0);
$855 = HEAP32[$854>>2]|0;
$856 = $835 >>> 8;
$857 = $856 & 255;
$858 = (((($0)) + 2048|0) + ($857<<2)|0);
$859 = HEAP32[$858>>2]|0;
$860 = $859 ^ $855;
$861 = $835 >>> 16;
$862 = $861 & 255;
$863 = (((($0)) + 3072|0) + ($862<<2)|0);
$864 = HEAP32[$863>>2]|0;
$865 = $860 ^ $864;
$866 = $835 >>> 24;
$867 = (($0) + ($866<<2)|0);
$868 = HEAP32[$867>>2]|0;
$869 = $865 ^ $868;
$870 = (($869) + ($852))|0;
$871 = ((($0)) + 4252|0);
$872 = HEAP32[$871>>2]|0;
$873 = (($869) + ($872))|0;
$874 = (($873) + ($870))|0;
$875 = ((($0)) + 4248|0);
$876 = HEAP32[$875>>2]|0;
$877 = (($870) + ($876))|0;
$878 = $877 ^ $781;
$879 = $878 >>> 1;
$880 = $878 << 31;
$881 = $879 | $880;
$882 = $785 << 1;
$883 = $785 >>> 31;
$884 = $882 | $883;
$885 = $874 ^ $884;
$886 = ((($0)) + 4112|0);
$887 = HEAP32[$886>>2]|0;
$888 = $887 ^ $831;
$889 = $888 >>> 24;
$890 = $889&255;
$891 = ((($1)) + 3|0);
HEAP8[$891>>0] = $890;
$892 = $888 >>> 16;
$893 = $892&255;
$894 = ((($1)) + 2|0);
HEAP8[$894>>0] = $893;
$895 = $888 >>> 8;
$896 = $895&255;
$897 = ((($1)) + 1|0);
HEAP8[$897>>0] = $896;
$898 = $888&255;
HEAP8[$1>>0] = $898;
$899 = ((($0)) + 4116|0);
$900 = HEAP32[$899>>2]|0;
$901 = $900 ^ $835;
$902 = ((($1)) + 4|0);
$903 = $901 >>> 24;
$904 = $903&255;
$905 = ((($1)) + 7|0);
HEAP8[$905>>0] = $904;
$906 = $901 >>> 16;
$907 = $906&255;
$908 = ((($1)) + 6|0);
HEAP8[$908>>0] = $907;
$909 = $901 >>> 8;
$910 = $909&255;
$911 = ((($1)) + 5|0);
HEAP8[$911>>0] = $910;
$912 = $901&255;
HEAP8[$902>>0] = $912;
$913 = ((($0)) + 4120|0);
$914 = HEAP32[$913>>2]|0;
$915 = $914 ^ $881;
$916 = ((($1)) + 8|0);
$917 = $915 >>> 24;
$918 = $917&255;
$919 = ((($1)) + 11|0);
HEAP8[$919>>0] = $918;
$920 = $915 >>> 16;
$921 = $920&255;
$922 = ((($1)) + 10|0);
HEAP8[$922>>0] = $921;
$923 = $915 >>> 8;
$924 = $923&255;
$925 = ((($1)) + 9|0);
HEAP8[$925>>0] = $924;
$926 = $915&255;
HEAP8[$916>>0] = $926;
$927 = ((($0)) + 4124|0);
$928 = HEAP32[$927>>2]|0;
$929 = $885 ^ $928;
$930 = ((($1)) + 12|0);
$931 = $929 >>> 24;
$932 = $931&255;
$933 = ((($1)) + 15|0);
HEAP8[$933>>0] = $932;
$934 = $929 >>> 16;
$935 = $934&255;
$936 = ((($1)) + 14|0);
HEAP8[$936>>0] = $935;
$937 = $929 >>> 8;
$938 = $937&255;
$939 = ((($1)) + 13|0);
HEAP8[$939>>0] = $938;
$940 = $929&255;
HEAP8[$930>>0] = $940;
return 36;
}
function _twofish_decrypt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0;
var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0;
var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0;
var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0;
var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0;
var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0;
var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0;
var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0;
var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0;
var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0;
var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0;
var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0;
var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0;
var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0;
var $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0;
var $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0;
var $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0;
var $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0;
var $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0;
var $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0;
var $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0;
var $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0;
var $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0;
var $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0;
var $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0;
var $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0;
var $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0;
var $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0;
var $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0;
var $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0;
var $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0;
var $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0;
var $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0;
var $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0;
var $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($2)) + 3|0);
$4 = HEAP8[$3>>0]|0;
$5 = $4&255;
$6 = $5 << 24;
$7 = ((($2)) + 2|0);
$8 = HEAP8[$7>>0]|0;
$9 = $8&255;
$10 = $9 << 16;
$11 = $10 | $6;
$12 = ((($2)) + 1|0);
$13 = HEAP8[$12>>0]|0;
$14 = $13&255;
$15 = $14 << 8;
$16 = $11 | $15;
$17 = HEAP8[$2>>0]|0;
$18 = $17&255;
$19 = $16 | $18;
$20 = ((($0)) + 4112|0);
$21 = HEAP32[$20>>2]|0;
$22 = $19 ^ $21;
$23 = ((($2)) + 4|0);
$24 = ((($2)) + 7|0);
$25 = HEAP8[$24>>0]|0;
$26 = $25&255;
$27 = $26 << 24;
$28 = ((($2)) + 6|0);
$29 = HEAP8[$28>>0]|0;
$30 = $29&255;
$31 = $30 << 16;
$32 = $31 | $27;
$33 = ((($2)) + 5|0);
$34 = HEAP8[$33>>0]|0;
$35 = $34&255;
$36 = $35 << 8;
$37 = $32 | $36;
$38 = HEAP8[$23>>0]|0;
$39 = $38&255;
$40 = $37 | $39;
$41 = ((($0)) + 4116|0);
$42 = HEAP32[$41>>2]|0;
$43 = $40 ^ $42;
$44 = ((($2)) + 8|0);
$45 = ((($2)) + 11|0);
$46 = HEAP8[$45>>0]|0;
$47 = $46&255;
$48 = $47 << 24;
$49 = ((($2)) + 10|0);
$50 = HEAP8[$49>>0]|0;
$51 = $50&255;
$52 = $51 << 16;
$53 = $52 | $48;
$54 = ((($2)) + 9|0);
$55 = HEAP8[$54>>0]|0;
$56 = $55&255;
$57 = $56 << 8;
$58 = $53 | $57;
$59 = HEAP8[$44>>0]|0;
$60 = $59&255;
$61 = $58 | $60;
$62 = ((($0)) + 4120|0);
$63 = HEAP32[$62>>2]|0;
$64 = $61 ^ $63;
$65 = ((($2)) + 12|0);
$66 = ((($2)) + 15|0);
$67 = HEAP8[$66>>0]|0;
$68 = $67&255;
$69 = $68 << 24;
$70 = ((($2)) + 14|0);
$71 = HEAP8[$70>>0]|0;
$72 = $71&255;
$73 = $72 << 16;
$74 = $73 | $69;
$75 = ((($2)) + 13|0);
$76 = HEAP8[$75>>0]|0;
$77 = $76&255;
$78 = $77 << 8;
$79 = $74 | $78;
$80 = HEAP8[$65>>0]|0;
$81 = $80&255;
$82 = $79 | $81;
$83 = ((($0)) + 4124|0);
$84 = HEAP32[$83>>2]|0;
$85 = $82 ^ $84;
$86 = $22 & 255;
$87 = (($0) + ($86<<2)|0);
$88 = HEAP32[$87>>2]|0;
$89 = $22 >>> 8;
$90 = $89 & 255;
$91 = (((($0)) + 1024|0) + ($90<<2)|0);
$92 = HEAP32[$91>>2]|0;
$93 = $92 ^ $88;
$94 = $22 >>> 16;
$95 = $94 & 255;
$96 = (((($0)) + 2048|0) + ($95<<2)|0);
$97 = HEAP32[$96>>2]|0;
$98 = $93 ^ $97;
$99 = $22 >>> 24;
$100 = (((($0)) + 3072|0) + ($99<<2)|0);
$101 = HEAP32[$100>>2]|0;
$102 = $98 ^ $101;
$103 = $43 & 255;
$104 = (((($0)) + 1024|0) + ($103<<2)|0);
$105 = HEAP32[$104>>2]|0;
$106 = $43 >>> 8;
$107 = $106 & 255;
$108 = (((($0)) + 2048|0) + ($107<<2)|0);
$109 = HEAP32[$108>>2]|0;
$110 = $109 ^ $105;
$111 = $43 >>> 16;
$112 = $111 & 255;
$113 = (((($0)) + 3072|0) + ($112<<2)|0);
$114 = HEAP32[$113>>2]|0;
$115 = $110 ^ $114;
$116 = $43 >>> 24;
$117 = (($0) + ($116<<2)|0);
$118 = HEAP32[$117>>2]|0;
$119 = $115 ^ $118;
$120 = (($119) + ($102))|0;
$121 = ((($0)) + 4252|0);
$122 = HEAP32[$121>>2]|0;
$123 = (($122) + ($119))|0;
$124 = (($123) + ($120))|0;
$125 = $85 ^ $124;
$126 = $125 >>> 1;
$127 = $125 << 31;
$128 = $126 | $127;
$129 = $64 << 1;
$130 = $64 >>> 31;
$131 = $129 | $130;
$132 = ((($0)) + 4248|0);
$133 = HEAP32[$132>>2]|0;
$134 = (($120) + ($133))|0;
$135 = $134 ^ $131;
$136 = $135 & 255;
$137 = (($0) + ($136<<2)|0);
$138 = HEAP32[$137>>2]|0;
$139 = $135 >>> 8;
$140 = $139 & 255;
$141 = (((($0)) + 1024|0) + ($140<<2)|0);
$142 = HEAP32[$141>>2]|0;
$143 = $142 ^ $138;
$144 = $135 >>> 16;
$145 = $144 & 255;
$146 = (((($0)) + 2048|0) + ($145<<2)|0);
$147 = HEAP32[$146>>2]|0;
$148 = $143 ^ $147;
$149 = $135 >>> 24;
$150 = (((($0)) + 3072|0) + ($149<<2)|0);
$151 = HEAP32[$150>>2]|0;
$152 = $148 ^ $151;
$153 = $126 & 255;
$154 = (((($0)) + 1024|0) + ($153<<2)|0);
$155 = HEAP32[$154>>2]|0;
$156 = $125 >>> 9;
$157 = $156 & 255;
$158 = (((($0)) + 2048|0) + ($157<<2)|0);
$159 = HEAP32[$158>>2]|0;
$160 = $159 ^ $155;
$161 = $125 >>> 17;
$162 = $161 & 255;
$163 = (((($0)) + 3072|0) + ($162<<2)|0);
$164 = HEAP32[$163>>2]|0;
$165 = $160 ^ $164;
$166 = $128 >>> 24;
$167 = (($0) + ($166<<2)|0);
$168 = HEAP32[$167>>2]|0;
$169 = $165 ^ $168;
$170 = (($169) + ($152))|0;
$171 = ((($0)) + 4244|0);
$172 = HEAP32[$171>>2]|0;
$173 = (($172) + ($169))|0;
$174 = (($173) + ($170))|0;
$175 = $174 ^ $43;
$176 = $175 >>> 1;
$177 = $175 << 31;
$178 = $176 | $177;
$179 = $22 << 1;
$180 = $22 >>> 31;
$181 = $179 | $180;
$182 = ((($0)) + 4240|0);
$183 = HEAP32[$182>>2]|0;
$184 = (($170) + ($183))|0;
$185 = $184 ^ $181;
$186 = $185 & 255;
$187 = (($0) + ($186<<2)|0);
$188 = HEAP32[$187>>2]|0;
$189 = $185 >>> 8;
$190 = $189 & 255;
$191 = (((($0)) + 1024|0) + ($190<<2)|0);
$192 = HEAP32[$191>>2]|0;
$193 = $192 ^ $188;
$194 = $185 >>> 16;
$195 = $194 & 255;
$196 = (((($0)) + 2048|0) + ($195<<2)|0);
$197 = HEAP32[$196>>2]|0;
$198 = $193 ^ $197;
$199 = $185 >>> 24;
$200 = (((($0)) + 3072|0) + ($199<<2)|0);
$201 = HEAP32[$200>>2]|0;
$202 = $198 ^ $201;
$203 = $176 & 255;
$204 = (((($0)) + 1024|0) + ($203<<2)|0);
$205 = HEAP32[$204>>2]|0;
$206 = $175 >>> 9;
$207 = $206 & 255;
$208 = (((($0)) + 2048|0) + ($207<<2)|0);
$209 = HEAP32[$208>>2]|0;
$210 = $209 ^ $205;
$211 = $175 >>> 17;
$212 = $211 & 255;
$213 = (((($0)) + 3072|0) + ($212<<2)|0);
$214 = HEAP32[$213>>2]|0;
$215 = $210 ^ $214;
$216 = $178 >>> 24;
$217 = (($0) + ($216<<2)|0);
$218 = HEAP32[$217>>2]|0;
$219 = $215 ^ $218;
$220 = (($219) + ($202))|0;
$221 = ((($0)) + 4236|0);
$222 = HEAP32[$221>>2]|0;
$223 = (($222) + ($219))|0;
$224 = (($223) + ($220))|0;
$225 = $224 ^ $128;
$226 = $225 >>> 1;
$227 = $225 << 31;
$228 = $226 | $227;
$229 = $135 << 1;
$230 = $135 >>> 31;
$231 = $229 | $230;
$232 = ((($0)) + 4232|0);
$233 = HEAP32[$232>>2]|0;
$234 = (($220) + ($233))|0;
$235 = $234 ^ $231;
$236 = $235 & 255;
$237 = (($0) + ($236<<2)|0);
$238 = HEAP32[$237>>2]|0;
$239 = $235 >>> 8;
$240 = $239 & 255;
$241 = (((($0)) + 1024|0) + ($240<<2)|0);
$242 = HEAP32[$241>>2]|0;
$243 = $242 ^ $238;
$244 = $235 >>> 16;
$245 = $244 & 255;
$246 = (((($0)) + 2048|0) + ($245<<2)|0);
$247 = HEAP32[$246>>2]|0;
$248 = $243 ^ $247;
$249 = $235 >>> 24;
$250 = (((($0)) + 3072|0) + ($249<<2)|0);
$251 = HEAP32[$250>>2]|0;
$252 = $248 ^ $251;
$253 = $226 & 255;
$254 = (((($0)) + 1024|0) + ($253<<2)|0);
$255 = HEAP32[$254>>2]|0;
$256 = $225 >>> 9;
$257 = $256 & 255;
$258 = (((($0)) + 2048|0) + ($257<<2)|0);
$259 = HEAP32[$258>>2]|0;
$260 = $259 ^ $255;
$261 = $225 >>> 17;
$262 = $261 & 255;
$263 = (((($0)) + 3072|0) + ($262<<2)|0);
$264 = HEAP32[$263>>2]|0;
$265 = $260 ^ $264;
$266 = $228 >>> 24;
$267 = (($0) + ($266<<2)|0);
$268 = HEAP32[$267>>2]|0;
$269 = $265 ^ $268;
$270 = (($269) + ($252))|0;
$271 = ((($0)) + 4228|0);
$272 = HEAP32[$271>>2]|0;
$273 = (($272) + ($269))|0;
$274 = (($273) + ($270))|0;
$275 = $274 ^ $178;
$276 = $275 >>> 1;
$277 = $275 << 31;
$278 = $276 | $277;
$279 = $185 << 1;
$280 = $185 >>> 31;
$281 = $279 | $280;
$282 = ((($0)) + 4224|0);
$283 = HEAP32[$282>>2]|0;
$284 = (($270) + ($283))|0;
$285 = $284 ^ $281;
$286 = $285 & 255;
$287 = (($0) + ($286<<2)|0);
$288 = HEAP32[$287>>2]|0;
$289 = $285 >>> 8;
$290 = $289 & 255;
$291 = (((($0)) + 1024|0) + ($290<<2)|0);
$292 = HEAP32[$291>>2]|0;
$293 = $292 ^ $288;
$294 = $285 >>> 16;
$295 = $294 & 255;
$296 = (((($0)) + 2048|0) + ($295<<2)|0);
$297 = HEAP32[$296>>2]|0;
$298 = $293 ^ $297;
$299 = $285 >>> 24;
$300 = (((($0)) + 3072|0) + ($299<<2)|0);
$301 = HEAP32[$300>>2]|0;
$302 = $298 ^ $301;
$303 = $276 & 255;
$304 = (((($0)) + 1024|0) + ($303<<2)|0);
$305 = HEAP32[$304>>2]|0;
$306 = $275 >>> 9;
$307 = $306 & 255;
$308 = (((($0)) + 2048|0) + ($307<<2)|0);
$309 = HEAP32[$308>>2]|0;
$310 = $309 ^ $305;
$311 = $275 >>> 17;
$312 = $311 & 255;
$313 = (((($0)) + 3072|0) + ($312<<2)|0);
$314 = HEAP32[$313>>2]|0;
$315 = $310 ^ $314;
$316 = $278 >>> 24;
$317 = (($0) + ($316<<2)|0);
$318 = HEAP32[$317>>2]|0;
$319 = $315 ^ $318;
$320 = (($319) + ($302))|0;
$321 = ((($0)) + 4220|0);
$322 = HEAP32[$321>>2]|0;
$323 = (($322) + ($319))|0;
$324 = (($323) + ($320))|0;
$325 = $324 ^ $228;
$326 = $325 >>> 1;
$327 = $325 << 31;
$328 = $326 | $327;
$329 = $235 << 1;
$330 = $235 >>> 31;
$331 = $329 | $330;
$332 = ((($0)) + 4216|0);
$333 = HEAP32[$332>>2]|0;
$334 = (($320) + ($333))|0;
$335 = $334 ^ $331;
$336 = $335 & 255;
$337 = (($0) + ($336<<2)|0);
$338 = HEAP32[$337>>2]|0;
$339 = $335 >>> 8;
$340 = $339 & 255;
$341 = (((($0)) + 1024|0) + ($340<<2)|0);
$342 = HEAP32[$341>>2]|0;
$343 = $342 ^ $338;
$344 = $335 >>> 16;
$345 = $344 & 255;
$346 = (((($0)) + 2048|0) + ($345<<2)|0);
$347 = HEAP32[$346>>2]|0;
$348 = $343 ^ $347;
$349 = $335 >>> 24;
$350 = (((($0)) + 3072|0) + ($349<<2)|0);
$351 = HEAP32[$350>>2]|0;
$352 = $348 ^ $351;
$353 = $326 & 255;
$354 = (((($0)) + 1024|0) + ($353<<2)|0);
$355 = HEAP32[$354>>2]|0;
$356 = $325 >>> 9;
$357 = $356 & 255;
$358 = (((($0)) + 2048|0) + ($357<<2)|0);
$359 = HEAP32[$358>>2]|0;
$360 = $359 ^ $355;
$361 = $325 >>> 17;
$362 = $361 & 255;
$363 = (((($0)) + 3072|0) + ($362<<2)|0);
$364 = HEAP32[$363>>2]|0;
$365 = $360 ^ $364;
$366 = $328 >>> 24;
$367 = (($0) + ($366<<2)|0);
$368 = HEAP32[$367>>2]|0;
$369 = $365 ^ $368;
$370 = (($369) + ($352))|0;
$371 = ((($0)) + 4212|0);
$372 = HEAP32[$371>>2]|0;
$373 = (($372) + ($369))|0;
$374 = (($373) + ($370))|0;
$375 = $374 ^ $278;
$376 = $375 >>> 1;
$377 = $375 << 31;
$378 = $376 | $377;
$379 = $285 << 1;
$380 = $285 >>> 31;
$381 = $379 | $380;
$382 = ((($0)) + 4208|0);
$383 = HEAP32[$382>>2]|0;
$384 = (($370) + ($383))|0;
$385 = $384 ^ $381;
$386 = $385 & 255;
$387 = (($0) + ($386<<2)|0);
$388 = HEAP32[$387>>2]|0;
$389 = $385 >>> 8;
$390 = $389 & 255;
$391 = (((($0)) + 1024|0) + ($390<<2)|0);
$392 = HEAP32[$391>>2]|0;
$393 = $392 ^ $388;
$394 = $385 >>> 16;
$395 = $394 & 255;
$396 = (((($0)) + 2048|0) + ($395<<2)|0);
$397 = HEAP32[$396>>2]|0;
$398 = $393 ^ $397;
$399 = $385 >>> 24;
$400 = (((($0)) + 3072|0) + ($399<<2)|0);
$401 = HEAP32[$400>>2]|0;
$402 = $398 ^ $401;
$403 = $376 & 255;
$404 = (((($0)) + 1024|0) + ($403<<2)|0);
$405 = HEAP32[$404>>2]|0;
$406 = $375 >>> 9;
$407 = $406 & 255;
$408 = (((($0)) + 2048|0) + ($407<<2)|0);
$409 = HEAP32[$408>>2]|0;
$410 = $409 ^ $405;
$411 = $375 >>> 17;
$412 = $411 & 255;
$413 = (((($0)) + 3072|0) + ($412<<2)|0);
$414 = HEAP32[$413>>2]|0;
$415 = $410 ^ $414;
$416 = $378 >>> 24;
$417 = (($0) + ($416<<2)|0);
$418 = HEAP32[$417>>2]|0;
$419 = $415 ^ $418;
$420 = (($419) + ($402))|0;
$421 = ((($0)) + 4204|0);
$422 = HEAP32[$421>>2]|0;
$423 = (($422) + ($419))|0;
$424 = (($423) + ($420))|0;
$425 = $424 ^ $328;
$426 = $425 >>> 1;
$427 = $425 << 31;
$428 = $426 | $427;
$429 = $335 << 1;
$430 = $335 >>> 31;
$431 = $429 | $430;
$432 = ((($0)) + 4200|0);
$433 = HEAP32[$432>>2]|0;
$434 = (($420) + ($433))|0;
$435 = $434 ^ $431;
$436 = $435 & 255;
$437 = (($0) + ($436<<2)|0);
$438 = HEAP32[$437>>2]|0;
$439 = $435 >>> 8;
$440 = $439 & 255;
$441 = (((($0)) + 1024|0) + ($440<<2)|0);
$442 = HEAP32[$441>>2]|0;
$443 = $442 ^ $438;
$444 = $435 >>> 16;
$445 = $444 & 255;
$446 = (((($0)) + 2048|0) + ($445<<2)|0);
$447 = HEAP32[$446>>2]|0;
$448 = $443 ^ $447;
$449 = $435 >>> 24;
$450 = (((($0)) + 3072|0) + ($449<<2)|0);
$451 = HEAP32[$450>>2]|0;
$452 = $448 ^ $451;
$453 = $426 & 255;
$454 = (((($0)) + 1024|0) + ($453<<2)|0);
$455 = HEAP32[$454>>2]|0;
$456 = $425 >>> 9;
$457 = $456 & 255;
$458 = (((($0)) + 2048|0) + ($457<<2)|0);
$459 = HEAP32[$458>>2]|0;
$460 = $459 ^ $455;
$461 = $425 >>> 17;
$462 = $461 & 255;
$463 = (((($0)) + 3072|0) + ($462<<2)|0);
$464 = HEAP32[$463>>2]|0;
$465 = $460 ^ $464;
$466 = $428 >>> 24;
$467 = (($0) + ($466<<2)|0);
$468 = HEAP32[$467>>2]|0;
$469 = $465 ^ $468;
$470 = (($469) + ($452))|0;
$471 = ((($0)) + 4196|0);
$472 = HEAP32[$471>>2]|0;
$473 = (($472) + ($469))|0;
$474 = (($473) + ($470))|0;
$475 = $474 ^ $378;
$476 = $475 >>> 1;
$477 = $475 << 31;
$478 = $476 | $477;
$479 = $385 << 1;
$480 = $385 >>> 31;
$481 = $479 | $480;
$482 = ((($0)) + 4192|0);
$483 = HEAP32[$482>>2]|0;
$484 = (($470) + ($483))|0;
$485 = $484 ^ $481;
$486 = $485 & 255;
$487 = (($0) + ($486<<2)|0);
$488 = HEAP32[$487>>2]|0;
$489 = $485 >>> 8;
$490 = $489 & 255;
$491 = (((($0)) + 1024|0) + ($490<<2)|0);
$492 = HEAP32[$491>>2]|0;
$493 = $492 ^ $488;
$494 = $485 >>> 16;
$495 = $494 & 255;
$496 = (((($0)) + 2048|0) + ($495<<2)|0);
$497 = HEAP32[$496>>2]|0;
$498 = $493 ^ $497;
$499 = $485 >>> 24;
$500 = (((($0)) + 3072|0) + ($499<<2)|0);
$501 = HEAP32[$500>>2]|0;
$502 = $498 ^ $501;
$503 = $476 & 255;
$504 = (((($0)) + 1024|0) + ($503<<2)|0);
$505 = HEAP32[$504>>2]|0;
$506 = $475 >>> 9;
$507 = $506 & 255;
$508 = (((($0)) + 2048|0) + ($507<<2)|0);
$509 = HEAP32[$508>>2]|0;
$510 = $509 ^ $505;
$511 = $475 >>> 17;
$512 = $511 & 255;
$513 = (((($0)) + 3072|0) + ($512<<2)|0);
$514 = HEAP32[$513>>2]|0;
$515 = $510 ^ $514;
$516 = $478 >>> 24;
$517 = (($0) + ($516<<2)|0);
$518 = HEAP32[$517>>2]|0;
$519 = $515 ^ $518;
$520 = (($519) + ($502))|0;
$521 = ((($0)) + 4188|0);
$522 = HEAP32[$521>>2]|0;
$523 = (($522) + ($519))|0;
$524 = (($523) + ($520))|0;
$525 = $524 ^ $428;
$526 = $525 >>> 1;
$527 = $525 << 31;
$528 = $526 | $527;
$529 = $435 << 1;
$530 = $435 >>> 31;
$531 = $529 | $530;
$532 = ((($0)) + 4184|0);
$533 = HEAP32[$532>>2]|0;
$534 = (($520) + ($533))|0;
$535 = $534 ^ $531;
$536 = $535 & 255;
$537 = (($0) + ($536<<2)|0);
$538 = HEAP32[$537>>2]|0;
$539 = $535 >>> 8;
$540 = $539 & 255;
$541 = (((($0)) + 1024|0) + ($540<<2)|0);
$542 = HEAP32[$541>>2]|0;
$543 = $542 ^ $538;
$544 = $535 >>> 16;
$545 = $544 & 255;
$546 = (((($0)) + 2048|0) + ($545<<2)|0);
$547 = HEAP32[$546>>2]|0;
$548 = $543 ^ $547;
$549 = $535 >>> 24;
$550 = (((($0)) + 3072|0) + ($549<<2)|0);
$551 = HEAP32[$550>>2]|0;
$552 = $548 ^ $551;
$553 = $526 & 255;
$554 = (((($0)) + 1024|0) + ($553<<2)|0);
$555 = HEAP32[$554>>2]|0;
$556 = $525 >>> 9;
$557 = $556 & 255;
$558 = (((($0)) + 2048|0) + ($557<<2)|0);
$559 = HEAP32[$558>>2]|0;
$560 = $559 ^ $555;
$561 = $525 >>> 17;
$562 = $561 & 255;
$563 = (((($0)) + 3072|0) + ($562<<2)|0);
$564 = HEAP32[$563>>2]|0;
$565 = $560 ^ $564;
$566 = $528 >>> 24;
$567 = (($0) + ($566<<2)|0);
$568 = HEAP32[$567>>2]|0;
$569 = $565 ^ $568;
$570 = (($569) + ($552))|0;
$571 = ((($0)) + 4180|0);
$572 = HEAP32[$571>>2]|0;
$573 = (($572) + ($569))|0;
$574 = (($573) + ($570))|0;
$575 = $574 ^ $478;
$576 = $575 >>> 1;
$577 = $575 << 31;
$578 = $576 | $577;
$579 = $485 << 1;
$580 = $485 >>> 31;
$581 = $579 | $580;
$582 = ((($0)) + 4176|0);
$583 = HEAP32[$582>>2]|0;
$584 = (($570) + ($583))|0;
$585 = $584 ^ $581;
$586 = $585 & 255;
$587 = (($0) + ($586<<2)|0);
$588 = HEAP32[$587>>2]|0;
$589 = $585 >>> 8;
$590 = $589 & 255;
$591 = (((($0)) + 1024|0) + ($590<<2)|0);
$592 = HEAP32[$591>>2]|0;
$593 = $592 ^ $588;
$594 = $585 >>> 16;
$595 = $594 & 255;
$596 = (((($0)) + 2048|0) + ($595<<2)|0);
$597 = HEAP32[$596>>2]|0;
$598 = $593 ^ $597;
$599 = $585 >>> 24;
$600 = (((($0)) + 3072|0) + ($599<<2)|0);
$601 = HEAP32[$600>>2]|0;
$602 = $598 ^ $601;
$603 = $576 & 255;
$604 = (((($0)) + 1024|0) + ($603<<2)|0);
$605 = HEAP32[$604>>2]|0;
$606 = $575 >>> 9;
$607 = $606 & 255;
$608 = (((($0)) + 2048|0) + ($607<<2)|0);
$609 = HEAP32[$608>>2]|0;
$610 = $609 ^ $605;
$611 = $575 >>> 17;
$612 = $611 & 255;
$613 = (((($0)) + 3072|0) + ($612<<2)|0);
$614 = HEAP32[$613>>2]|0;
$615 = $610 ^ $614;
$616 = $578 >>> 24;
$617 = (($0) + ($616<<2)|0);
$618 = HEAP32[$617>>2]|0;
$619 = $615 ^ $618;
$620 = (($619) + ($602))|0;
$621 = ((($0)) + 4172|0);
$622 = HEAP32[$621>>2]|0;
$623 = (($622) + ($619))|0;
$624 = (($623) + ($620))|0;
$625 = $624 ^ $528;
$626 = $625 >>> 1;
$627 = $625 << 31;
$628 = $626 | $627;
$629 = $535 << 1;
$630 = $535 >>> 31;
$631 = $629 | $630;
$632 = ((($0)) + 4168|0);
$633 = HEAP32[$632>>2]|0;
$634 = (($620) + ($633))|0;
$635 = $634 ^ $631;
$636 = $635 & 255;
$637 = (($0) + ($636<<2)|0);
$638 = HEAP32[$637>>2]|0;
$639 = $635 >>> 8;
$640 = $639 & 255;
$641 = (((($0)) + 1024|0) + ($640<<2)|0);
$642 = HEAP32[$641>>2]|0;
$643 = $642 ^ $638;
$644 = $635 >>> 16;
$645 = $644 & 255;
$646 = (((($0)) + 2048|0) + ($645<<2)|0);
$647 = HEAP32[$646>>2]|0;
$648 = $643 ^ $647;
$649 = $635 >>> 24;
$650 = (((($0)) + 3072|0) + ($649<<2)|0);
$651 = HEAP32[$650>>2]|0;
$652 = $648 ^ $651;
$653 = $626 & 255;
$654 = (((($0)) + 1024|0) + ($653<<2)|0);
$655 = HEAP32[$654>>2]|0;
$656 = $625 >>> 9;
$657 = $656 & 255;
$658 = (((($0)) + 2048|0) + ($657<<2)|0);
$659 = HEAP32[$658>>2]|0;
$660 = $659 ^ $655;
$661 = $625 >>> 17;
$662 = $661 & 255;
$663 = (((($0)) + 3072|0) + ($662<<2)|0);
$664 = HEAP32[$663>>2]|0;
$665 = $660 ^ $664;
$666 = $628 >>> 24;
$667 = (($0) + ($666<<2)|0);
$668 = HEAP32[$667>>2]|0;
$669 = $665 ^ $668;
$670 = (($669) + ($652))|0;
$671 = ((($0)) + 4164|0);
$672 = HEAP32[$671>>2]|0;
$673 = (($672) + ($669))|0;
$674 = (($673) + ($670))|0;
$675 = $674 ^ $578;
$676 = $675 >>> 1;
$677 = $675 << 31;
$678 = $676 | $677;
$679 = $585 << 1;
$680 = $585 >>> 31;
$681 = $679 | $680;
$682 = ((($0)) + 4160|0);
$683 = HEAP32[$682>>2]|0;
$684 = (($670) + ($683))|0;
$685 = $684 ^ $681;
$686 = $685 & 255;
$687 = (($0) + ($686<<2)|0);
$688 = HEAP32[$687>>2]|0;
$689 = $685 >>> 8;
$690 = $689 & 255;
$691 = (((($0)) + 1024|0) + ($690<<2)|0);
$692 = HEAP32[$691>>2]|0;
$693 = $692 ^ $688;
$694 = $685 >>> 16;
$695 = $694 & 255;
$696 = (((($0)) + 2048|0) + ($695<<2)|0);
$697 = HEAP32[$696>>2]|0;
$698 = $693 ^ $697;
$699 = $685 >>> 24;
$700 = (((($0)) + 3072|0) + ($699<<2)|0);
$701 = HEAP32[$700>>2]|0;
$702 = $698 ^ $701;
$703 = $676 & 255;
$704 = (((($0)) + 1024|0) + ($703<<2)|0);
$705 = HEAP32[$704>>2]|0;
$706 = $675 >>> 9;
$707 = $706 & 255;
$708 = (((($0)) + 2048|0) + ($707<<2)|0);
$709 = HEAP32[$708>>2]|0;
$710 = $709 ^ $705;
$711 = $675 >>> 17;
$712 = $711 & 255;
$713 = (((($0)) + 3072|0) + ($712<<2)|0);
$714 = HEAP32[$713>>2]|0;
$715 = $710 ^ $714;
$716 = $678 >>> 24;
$717 = (($0) + ($716<<2)|0);
$718 = HEAP32[$717>>2]|0;
$719 = $715 ^ $718;
$720 = (($719) + ($702))|0;
$721 = ((($0)) + 4156|0);
$722 = HEAP32[$721>>2]|0;
$723 = (($722) + ($719))|0;
$724 = (($723) + ($720))|0;
$725 = $724 ^ $628;
$726 = $725 >>> 1;
$727 = $725 << 31;
$728 = $726 | $727;
$729 = $635 << 1;
$730 = $635 >>> 31;
$731 = $729 | $730;
$732 = ((($0)) + 4152|0);
$733 = HEAP32[$732>>2]|0;
$734 = (($720) + ($733))|0;
$735 = $734 ^ $731;
$736 = $735 & 255;
$737 = (($0) + ($736<<2)|0);
$738 = HEAP32[$737>>2]|0;
$739 = $735 >>> 8;
$740 = $739 & 255;
$741 = (((($0)) + 1024|0) + ($740<<2)|0);
$742 = HEAP32[$741>>2]|0;
$743 = $742 ^ $738;
$744 = $735 >>> 16;
$745 = $744 & 255;
$746 = (((($0)) + 2048|0) + ($745<<2)|0);
$747 = HEAP32[$746>>2]|0;
$748 = $743 ^ $747;
$749 = $735 >>> 24;
$750 = (((($0)) + 3072|0) + ($749<<2)|0);
$751 = HEAP32[$750>>2]|0;
$752 = $748 ^ $751;
$753 = $726 & 255;
$754 = (((($0)) + 1024|0) + ($753<<2)|0);
$755 = HEAP32[$754>>2]|0;
$756 = $725 >>> 9;
$757 = $756 & 255;
$758 = (((($0)) + 2048|0) + ($757<<2)|0);
$759 = HEAP32[$758>>2]|0;
$760 = $759 ^ $755;
$761 = $725 >>> 17;
$762 = $761 & 255;
$763 = (((($0)) + 3072|0) + ($762<<2)|0);
$764 = HEAP32[$763>>2]|0;
$765 = $760 ^ $764;
$766 = $728 >>> 24;
$767 = (($0) + ($766<<2)|0);
$768 = HEAP32[$767>>2]|0;
$769 = $765 ^ $768;
$770 = (($769) + ($752))|0;
$771 = ((($0)) + 4148|0);
$772 = HEAP32[$771>>2]|0;
$773 = (($772) + ($769))|0;
$774 = (($773) + ($770))|0;
$775 = $774 ^ $678;
$776 = $775 >>> 1;
$777 = $775 << 31;
$778 = $776 | $777;
$779 = $685 << 1;
$780 = $685 >>> 31;
$781 = $779 | $780;
$782 = ((($0)) + 4144|0);
$783 = HEAP32[$782>>2]|0;
$784 = (($770) + ($783))|0;
$785 = $784 ^ $781;
$786 = $785 & 255;
$787 = (($0) + ($786<<2)|0);
$788 = HEAP32[$787>>2]|0;
$789 = $785 >>> 8;
$790 = $789 & 255;
$791 = (((($0)) + 1024|0) + ($790<<2)|0);
$792 = HEAP32[$791>>2]|0;
$793 = $792 ^ $788;
$794 = $785 >>> 16;
$795 = $794 & 255;
$796 = (((($0)) + 2048|0) + ($795<<2)|0);
$797 = HEAP32[$796>>2]|0;
$798 = $793 ^ $797;
$799 = $785 >>> 24;
$800 = (((($0)) + 3072|0) + ($799<<2)|0);
$801 = HEAP32[$800>>2]|0;
$802 = $798 ^ $801;
$803 = $776 & 255;
$804 = (((($0)) + 1024|0) + ($803<<2)|0);
$805 = HEAP32[$804>>2]|0;
$806 = $775 >>> 9;
$807 = $806 & 255;
$808 = (((($0)) + 2048|0) + ($807<<2)|0);
$809 = HEAP32[$808>>2]|0;
$810 = $809 ^ $805;
$811 = $775 >>> 17;
$812 = $811 & 255;
$813 = (((($0)) + 3072|0) + ($812<<2)|0);
$814 = HEAP32[$813>>2]|0;
$815 = $810 ^ $814;
$816 = $778 >>> 24;
$817 = (($0) + ($816<<2)|0);
$818 = HEAP32[$817>>2]|0;
$819 = $815 ^ $818;
$820 = (($819) + ($802))|0;
$821 = ((($0)) + 4140|0);
$822 = HEAP32[$821>>2]|0;
$823 = (($822) + ($819))|0;
$824 = (($823) + ($820))|0;
$825 = $824 ^ $728;
$826 = $825 >>> 1;
$827 = $825 << 31;
$828 = $826 | $827;
$829 = $735 << 1;
$830 = $735 >>> 31;
$831 = $829 | $830;
$832 = ((($0)) + 4136|0);
$833 = HEAP32[$832>>2]|0;
$834 = (($820) + ($833))|0;
$835 = $834 ^ $831;
$836 = $835 & 255;
$837 = (($0) + ($836<<2)|0);
$838 = HEAP32[$837>>2]|0;
$839 = $835 >>> 8;
$840 = $839 & 255;
$841 = (((($0)) + 1024|0) + ($840<<2)|0);
$842 = HEAP32[$841>>2]|0;
$843 = $842 ^ $838;
$844 = $835 >>> 16;
$845 = $844 & 255;
$846 = (((($0)) + 2048|0) + ($845<<2)|0);
$847 = HEAP32[$846>>2]|0;
$848 = $843 ^ $847;
$849 = $835 >>> 24;
$850 = (((($0)) + 3072|0) + ($849<<2)|0);
$851 = HEAP32[$850>>2]|0;
$852 = $848 ^ $851;
$853 = $826 & 255;
$854 = (((($0)) + 1024|0) + ($853<<2)|0);
$855 = HEAP32[$854>>2]|0;
$856 = $825 >>> 9;
$857 = $856 & 255;
$858 = (((($0)) + 2048|0) + ($857<<2)|0);
$859 = HEAP32[$858>>2]|0;
$860 = $859 ^ $855;
$861 = $825 >>> 17;
$862 = $861 & 255;
$863 = (((($0)) + 3072|0) + ($862<<2)|0);
$864 = HEAP32[$863>>2]|0;
$865 = $860 ^ $864;
$866 = $828 >>> 24;
$867 = (($0) + ($866<<2)|0);
$868 = HEAP32[$867>>2]|0;
$869 = $865 ^ $868;
$870 = (($869) + ($852))|0;
$871 = ((($0)) + 4132|0);
$872 = HEAP32[$871>>2]|0;
$873 = (($872) + ($869))|0;
$874 = (($873) + ($870))|0;
$875 = $874 ^ $778;
$876 = $875 >>> 1;
$877 = $875 << 31;
$878 = $876 | $877;
$879 = $785 << 1;
$880 = $785 >>> 31;
$881 = $879 | $880;
$882 = ((($0)) + 4128|0);
$883 = HEAP32[$882>>2]|0;
$884 = (($870) + ($883))|0;
$885 = $884 ^ $881;
$886 = ((($0)) + 4096|0);
$887 = HEAP32[$886>>2]|0;
$888 = $887 ^ $835;
$889 = $888 >>> 24;
$890 = $889&255;
$891 = ((($1)) + 3|0);
HEAP8[$891>>0] = $890;
$892 = $888 >>> 16;
$893 = $892&255;
$894 = ((($1)) + 2|0);
HEAP8[$894>>0] = $893;
$895 = $888 >>> 8;
$896 = $895&255;
$897 = ((($1)) + 1|0);
HEAP8[$897>>0] = $896;
$898 = $888&255;
HEAP8[$1>>0] = $898;
$899 = ((($0)) + 4100|0);
$900 = HEAP32[$899>>2]|0;
$901 = $900 ^ $828;
$902 = ((($1)) + 4|0);
$903 = $901 >>> 24;
$904 = $903&255;
$905 = ((($1)) + 7|0);
HEAP8[$905>>0] = $904;
$906 = $901 >>> 16;
$907 = $906&255;
$908 = ((($1)) + 6|0);
HEAP8[$908>>0] = $907;
$909 = $901 >>> 8;
$910 = $909&255;
$911 = ((($1)) + 5|0);
HEAP8[$911>>0] = $910;
$912 = $901&255;
HEAP8[$902>>0] = $912;
$913 = ((($0)) + 4104|0);
$914 = HEAP32[$913>>2]|0;
$915 = $885 ^ $914;
$916 = ((($1)) + 8|0);
$917 = $915 >>> 24;
$918 = $917&255;
$919 = ((($1)) + 11|0);
HEAP8[$919>>0] = $918;
$920 = $915 >>> 16;
$921 = $920&255;
$922 = ((($1)) + 10|0);
HEAP8[$922>>0] = $921;
$923 = $915 >>> 8;
$924 = $923&255;
$925 = ((($1)) + 9|0);
HEAP8[$925>>0] = $924;
$926 = $915&255;
HEAP8[$916>>0] = $926;
$927 = ((($0)) + 4108|0);
$928 = HEAP32[$927>>2]|0;
$929 = $928 ^ $878;
$930 = ((($1)) + 12|0);
$931 = $929 >>> 24;
$932 = $931&255;
$933 = ((($1)) + 15|0);
HEAP8[$933>>0] = $932;
$934 = $929 >>> 16;
$935 = $934&255;
$936 = ((($1)) + 14|0);
HEAP8[$936>>0] = $935;
$937 = $929 >>> 8;
$938 = $937&255;
$939 = ((($1)) + 13|0);
HEAP8[$939>>0] = $938;
$940 = $929&255;
HEAP8[$930>>0] = $940;
return 36;
}
function _do_twofish_setkey($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$i$ph = 0, $$0$i1914 = 0, $$01787 = 0, $$01795 = 0, $$01803 = 0, $$01819 = 0, $$01827 = 0, $$01835 = 0, $$01851 = 0, $$01859 = 0, $$01867 = 0, $$01883 = 0, $$01891 = 0, $$01899 = 0, $$019071917 = 0, $$019091916 = 0, $$019111915 = 0, $$01913 = 0, $$1 = 0, $$11788 = 0;
var $$11796 = 0, $$11804 = 0, $$11812 = 0, $$11820 = 0, $$11828 = 0, $$11836 = 0, $$11844 = 0, $$11852 = 0, $$11860 = 0, $$11868 = 0, $$11876 = 0, $$11884 = 0, $$11892 = 0, $$11900 = 0, $$119081920 = 0, $$119101919 = 0, $$119121918 = 0, $$2 = 0, $$21789 = 0, $$21797 = 0;
var $$21805 = 0, $$21813 = 0, $$21821 = 0, $$21829 = 0, $$21837 = 0, $$21845 = 0, $$21853 = 0, $$21861 = 0, $$21869 = 0, $$21877 = 0, $$21885 = 0, $$21893 = 0, $$21901 = 0, $$3 = 0, $$31790 = 0, $$31798 = 0, $$31806 = 0, $$31814 = 0, $$31822 = 0, $$31830 = 0;
var $$31838 = 0, $$31846 = 0, $$31854 = 0, $$31862 = 0, $$31870 = 0, $$31878 = 0, $$31886 = 0, $$31894 = 0, $$31902 = 0, $$4 = 0, $$41791 = 0, $$41799 = 0, $$41807 = 0, $$41815 = 0, $$41823 = 0, $$41831 = 0, $$41839 = 0, $$41847 = 0, $$41855 = 0, $$41863 = 0;
var $$41871 = 0, $$41879 = 0, $$41887 = 0, $$41895 = 0, $$41903 = 0, $$5 = 0, $$51792 = 0, $$51800 = 0, $$51808 = 0, $$51816 = 0, $$51824 = 0, $$51832 = 0, $$51840 = 0, $$51848 = 0, $$51856 = 0, $$51864 = 0, $$51872 = 0, $$51880 = 0, $$51888 = 0, $$51896 = 0;
var $$51904 = 0, $$6 = 0, $$61793 = 0, $$61801 = 0, $$61809 = 0, $$61817 = 0, $$61825 = 0, $$61833 = 0, $$61841 = 0, $$61849 = 0, $$61857 = 0, $$61865 = 0, $$61873 = 0, $$61881 = 0, $$61889 = 0, $$61897 = 0, $$61905 = 0, $$7 = 0, $$71794 = 0, $$71802 = 0;
var $$71810 = 0, $$71818 = 0, $$71826 = 0, $$71834 = 0, $$71842 = 0, $$71850 = 0, $$71858 = 0, $$71866 = 0, $$71874 = 0, $$71882 = 0, $$71890 = 0, $$71898 = 0, $$71906 = 0, $$pr = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0;
var $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0;
var $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0;
var $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0;
var $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0;
var $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0;
var $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0;
var $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0;
var $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0;
var $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0;
var $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0;
var $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0;
var $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0;
var $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0;
var $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0;
var $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0;
var $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0;
var $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0;
var $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0;
var $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0;
var $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0;
var $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0;
var $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0;
var $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0;
var $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0;
var $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0;
var $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0;
var $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0;
var $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0;
var $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0;
var $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0;
var $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0;
var $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0;
var $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0;
var $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0;
var $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0;
var $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0;
var $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0;
var $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0;
var $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0;
var $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0;
var $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0;
var $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0;
var $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0;
var $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0;
var $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0;
var $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0;
var $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0;
var $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0;
var $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0;
var $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0;
var $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0;
var $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0;
var $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0;
var $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0;
var $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0;
var $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0;
var $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0;
var $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0;
var $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0;
var $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0;
var $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0;
var $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0;
var $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0;
var $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0;
var $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0;
var $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0;
var $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0;
var $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0;
var $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0;
var $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0;
var $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0;
var $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0;
var $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0;
var $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0;
var $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0;
var $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0;
var $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0;
var $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0;
var $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0;
var $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0;
var $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0;
var $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0;
var $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0;
var $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0;
var $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0;
var $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0;
var $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0;
var $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0;
var $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0;
var $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0;
var $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0;
var $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0;
var $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0;
var $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0;
var $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0;
var $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0;
var $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0;
var $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0;
var $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0;
var $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0;
var $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0;
var $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0;
var $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0;
var $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0;
var $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0;
var $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0;
var $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0;
var $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0;
var $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0;
var $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0;
var $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0;
var $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0;
var $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0;
var $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0, $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0;
var $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0, $3068 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0;
var $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0, $3081 = 0, $3082 = 0, $3083 = 0, $3084 = 0, $3085 = 0, $3086 = 0, $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0;
var $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $310 = 0, $3100 = 0, $3101 = 0, $3102 = 0, $3103 = 0, $3104 = 0, $3105 = 0, $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0;
var $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0, $312 = 0, $3120 = 0, $3121 = 0, $3122 = 0, $3123 = 0, $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0;
var $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0, $3135 = 0, $3136 = 0, $3137 = 0, $3138 = 0, $3139 = 0, $314 = 0, $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0;
var $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0, $3157 = 0, $3158 = 0, $3159 = 0, $316 = 0, $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0;
var $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0, $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0, $3175 = 0, $3176 = 0, $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0;
var $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0, $3193 = 0, $3194 = 0, $3195 = 0, $3196 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0;
var $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0, $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0, $3210 = 0, $3211 = 0, $3212 = 0, $3213 = 0, $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0;
var $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0, $3225 = 0, $3226 = 0, $3227 = 0, $3228 = 0, $3229 = 0, $323 = 0, $3230 = 0, $3231 = 0, $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0;
var $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0, $3243 = 0, $3244 = 0, $3245 = 0, $3246 = 0, $3247 = 0, $3248 = 0, $3249 = 0, $325 = 0, $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0;
var $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0, $3264 = 0, $3265 = 0, $3266 = 0, $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0;
var $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0, $328 = 0, $3280 = 0, $3281 = 0, $3282 = 0, $3283 = 0, $3284 = 0, $3285 = 0, $3286 = 0, $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0;
var $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $33 = 0, $330 = 0, $3300 = 0, $3301 = 0, $3302 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0;
var $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3316 = 0, $3317 = 0, $3318 = 0, $3319 = 0, $332 = 0, $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0;
var $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3334 = 0, $3335 = 0, $3336 = 0, $3337 = 0, $3338 = 0, $3339 = 0, $334 = 0, $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0;
var $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0, $3351 = 0, $3352 = 0, $3353 = 0, $3354 = 0, $3355 = 0, $3356 = 0, $3357 = 0, $3358 = 0, $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0;
var $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0, $337 = 0, $3370 = 0, $3371 = 0, $3372 = 0, $3373 = 0, $3374 = 0, $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0;
var $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0, $3388 = 0, $3389 = 0, $339 = 0, $3390 = 0, $3391 = 0, $3392 = 0, $3393 = 0, $3394 = 0, $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0;
var $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0, $3408 = 0, $3409 = 0, $341 = 0, $3410 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0;
var $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0, $3423 = 0, $3424 = 0, $3425 = 0, $3426 = 0, $3427 = 0, $3428 = 0, $3429 = 0, $343 = 0, $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0;
var $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0, $3441 = 0, $3442 = 0, $3443 = 0, $3444 = 0, $3445 = 0, $3446 = 0, $3447 = 0, $3448 = 0, $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0;
var $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3460 = 0, $3461 = 0, $3462 = 0, $3463 = 0, $3464 = 0, $3465 = 0, $3466 = 0, $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0;
var $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $348 = 0, $3480 = 0, $3481 = 0, $3482 = 0, $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0;
var $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0, $3496 = 0, $3497 = 0, $3498 = 0, $3499 = 0, $35 = 0, $350 = 0, $3500 = 0, $3501 = 0, $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0;
var $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0, $3513 = 0, $3514 = 0, $3515 = 0, $3516 = 0, $3517 = 0, $3518 = 0, $3519 = 0, $352 = 0, $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0;
var $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0, $3531 = 0, $3532 = 0, $3533 = 0, $3534 = 0, $3535 = 0, $3536 = 0, $3537 = 0, $3538 = 0, $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0;
var $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0, $355 = 0, $3550 = 0, $3551 = 0, $3552 = 0, $3553 = 0, $3554 = 0, $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0;
var $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0, $3571 = 0, $3572 = 0, $3573 = 0, $3574 = 0, $3575 = 0, $3576 = 0, $3577 = 0, $3578 = 0, $3579 = 0, $358 = 0;
var $3580 = 0, $3581 = 0, $3582 = 0, $3583 = 0, $3584 = 0, $3585 = 0, $3586 = 0, $3587 = 0, $3588 = 0, $3589 = 0, $359 = 0, $3590 = 0, $3591 = 0, $3592 = 0, $3593 = 0, $3594 = 0, $3595 = 0, $3596 = 0, $3597 = 0, $3598 = 0;
var $3599 = 0, $36 = 0, $360 = 0, $3600 = 0, $3601 = 0, $3602 = 0, $3603 = 0, $3604 = 0, $3605 = 0, $3606 = 0, $3607 = 0, $3608 = 0, $3609 = 0, $361 = 0, $3610 = 0, $3611 = 0, $3612 = 0, $3613 = 0, $3614 = 0, $3615 = 0;
var $3616 = 0, $3617 = 0, $3618 = 0, $3619 = 0, $362 = 0, $3620 = 0, $3621 = 0, $3622 = 0, $3623 = 0, $3624 = 0, $3625 = 0, $3626 = 0, $3627 = 0, $3628 = 0, $3629 = 0, $363 = 0, $3630 = 0, $3631 = 0, $3632 = 0, $3633 = 0;
var $3634 = 0, $3635 = 0, $3636 = 0, $3637 = 0, $3638 = 0, $3639 = 0, $364 = 0, $3640 = 0, $3641 = 0, $3642 = 0, $3643 = 0, $3644 = 0, $3645 = 0, $3646 = 0, $3647 = 0, $3648 = 0, $3649 = 0, $365 = 0, $3650 = 0, $3651 = 0;
var $3652 = 0, $3653 = 0, $3654 = 0, $3655 = 0, $3656 = 0, $3657 = 0, $3658 = 0, $3659 = 0, $366 = 0, $3660 = 0, $3661 = 0, $3662 = 0, $3663 = 0, $3664 = 0, $3665 = 0, $3666 = 0, $3667 = 0, $3668 = 0, $3669 = 0, $367 = 0;
var $3670 = 0, $3671 = 0, $3672 = 0, $3673 = 0, $3674 = 0, $3675 = 0, $3676 = 0, $3677 = 0, $3678 = 0, $3679 = 0, $368 = 0, $3680 = 0, $3681 = 0, $3682 = 0, $3683 = 0, $3684 = 0, $3685 = 0, $3686 = 0, $3687 = 0, $3688 = 0;
var $3689 = 0, $369 = 0, $3690 = 0, $3691 = 0, $3692 = 0, $3693 = 0, $3694 = 0, $3695 = 0, $3696 = 0, $3697 = 0, $3698 = 0, $3699 = 0, $37 = 0, $370 = 0, $3700 = 0, $3701 = 0, $3702 = 0, $3703 = 0, $3704 = 0, $3705 = 0;
var $3706 = 0, $3707 = 0, $3708 = 0, $3709 = 0, $371 = 0, $3710 = 0, $3711 = 0, $3712 = 0, $3713 = 0, $3714 = 0, $3715 = 0, $3716 = 0, $3717 = 0, $3718 = 0, $3719 = 0, $372 = 0, $3720 = 0, $3721 = 0, $3722 = 0, $3723 = 0;
var $3724 = 0, $3725 = 0, $3726 = 0, $3727 = 0, $3728 = 0, $3729 = 0, $373 = 0, $3730 = 0, $3731 = 0, $3732 = 0, $3733 = 0, $3734 = 0, $3735 = 0, $3736 = 0, $3737 = 0, $3738 = 0, $3739 = 0, $374 = 0, $3740 = 0, $3741 = 0;
var $3742 = 0, $3743 = 0, $3744 = 0, $3745 = 0, $3746 = 0, $3747 = 0, $3748 = 0, $3749 = 0, $375 = 0, $3750 = 0, $3751 = 0, $3752 = 0, $3753 = 0, $3754 = 0, $3755 = 0, $3756 = 0, $3757 = 0, $3758 = 0, $3759 = 0, $376 = 0;
var $3760 = 0, $3761 = 0, $3762 = 0, $3763 = 0, $3764 = 0, $3765 = 0, $3766 = 0, $3767 = 0, $3768 = 0, $3769 = 0, $377 = 0, $3770 = 0, $3771 = 0, $3772 = 0, $3773 = 0, $3774 = 0, $3775 = 0, $3776 = 0, $3777 = 0, $3778 = 0;
var $3779 = 0, $378 = 0, $3780 = 0, $3781 = 0, $3782 = 0, $3783 = 0, $3784 = 0, $3785 = 0, $3786 = 0, $3787 = 0, $3788 = 0, $3789 = 0, $379 = 0, $3790 = 0, $3791 = 0, $3792 = 0, $3793 = 0, $3794 = 0, $3795 = 0, $3796 = 0;
var $3797 = 0, $3798 = 0, $3799 = 0, $38 = 0, $380 = 0, $3800 = 0, $3801 = 0, $3802 = 0, $3803 = 0, $3804 = 0, $3805 = 0, $3806 = 0, $3807 = 0, $3808 = 0, $3809 = 0, $381 = 0, $3810 = 0, $3811 = 0, $3812 = 0, $3813 = 0;
var $3814 = 0, $3815 = 0, $3816 = 0, $3817 = 0, $3818 = 0, $3819 = 0, $382 = 0, $3820 = 0, $3821 = 0, $3822 = 0, $3823 = 0, $3824 = 0, $3825 = 0, $3826 = 0, $3827 = 0, $3828 = 0, $3829 = 0, $383 = 0, $3830 = 0, $3831 = 0;
var $3832 = 0, $3833 = 0, $3834 = 0, $3835 = 0, $3836 = 0, $3837 = 0, $3838 = 0, $3839 = 0, $384 = 0, $3840 = 0, $3841 = 0, $3842 = 0, $3843 = 0, $3844 = 0, $3845 = 0, $3846 = 0, $3847 = 0, $3848 = 0, $3849 = 0, $385 = 0;
var $3850 = 0, $3851 = 0, $3852 = 0, $3853 = 0, $3854 = 0, $3855 = 0, $3856 = 0, $3857 = 0, $3858 = 0, $3859 = 0, $386 = 0, $3860 = 0, $3861 = 0, $3862 = 0, $3863 = 0, $3864 = 0, $3865 = 0, $3866 = 0, $3867 = 0, $3868 = 0;
var $3869 = 0, $387 = 0, $3870 = 0, $3871 = 0, $3872 = 0, $3873 = 0, $3874 = 0, $3875 = 0, $3876 = 0, $3877 = 0, $3878 = 0, $3879 = 0, $388 = 0, $3880 = 0, $3881 = 0, $3882 = 0, $3883 = 0, $3884 = 0, $3885 = 0, $3886 = 0;
var $3887 = 0, $3888 = 0, $3889 = 0, $389 = 0, $3890 = 0, $3891 = 0, $3892 = 0, $3893 = 0, $3894 = 0, $3895 = 0, $3896 = 0, $3897 = 0, $3898 = 0, $3899 = 0, $39 = 0, $390 = 0, $3900 = 0, $3901 = 0, $3902 = 0, $3903 = 0;
var $3904 = 0, $3905 = 0, $3906 = 0, $3907 = 0, $3908 = 0, $3909 = 0, $391 = 0, $3910 = 0, $3911 = 0, $3912 = 0, $3913 = 0, $3914 = 0, $3915 = 0, $3916 = 0, $3917 = 0, $3918 = 0, $3919 = 0, $392 = 0, $3920 = 0, $3921 = 0;
var $3922 = 0, $3923 = 0, $3924 = 0, $3925 = 0, $3926 = 0, $3927 = 0, $3928 = 0, $3929 = 0, $393 = 0, $3930 = 0, $3931 = 0, $3932 = 0, $3933 = 0, $3934 = 0, $3935 = 0, $3936 = 0, $3937 = 0, $3938 = 0, $3939 = 0, $394 = 0;
var $3940 = 0, $3941 = 0, $3942 = 0, $3943 = 0, $3944 = 0, $3945 = 0, $3946 = 0, $3947 = 0, $3948 = 0, $3949 = 0, $395 = 0, $3950 = 0, $3951 = 0, $3952 = 0, $3953 = 0, $3954 = 0, $3955 = 0, $3956 = 0, $3957 = 0, $3958 = 0;
var $3959 = 0, $396 = 0, $3960 = 0, $3961 = 0, $3962 = 0, $3963 = 0, $3964 = 0, $3965 = 0, $3966 = 0, $3967 = 0, $3968 = 0, $3969 = 0, $397 = 0, $3970 = 0, $3971 = 0, $3972 = 0, $3973 = 0, $3974 = 0, $3975 = 0, $3976 = 0;
var $3977 = 0, $3978 = 0, $3979 = 0, $398 = 0, $3980 = 0, $3981 = 0, $3982 = 0, $3983 = 0, $3984 = 0, $3985 = 0, $3986 = 0, $3987 = 0, $3988 = 0, $3989 = 0, $399 = 0, $3990 = 0, $3991 = 0, $3992 = 0, $3993 = 0, $3994 = 0;
var $3995 = 0, $3996 = 0, $3997 = 0, $3998 = 0, $3999 = 0, $4 = 0, $40 = 0, $400 = 0, $4000 = 0, $4001 = 0, $4002 = 0, $4003 = 0, $4004 = 0, $4005 = 0, $4006 = 0, $4007 = 0, $4008 = 0, $4009 = 0, $401 = 0, $4010 = 0;
var $4011 = 0, $4012 = 0, $4013 = 0, $4014 = 0, $4015 = 0, $4016 = 0, $4017 = 0, $4018 = 0, $4019 = 0, $402 = 0, $4020 = 0, $4021 = 0, $4022 = 0, $4023 = 0, $4024 = 0, $4025 = 0, $4026 = 0, $4027 = 0, $4028 = 0, $4029 = 0;
var $403 = 0, $4030 = 0, $4031 = 0, $4032 = 0, $4033 = 0, $4034 = 0, $4035 = 0, $4036 = 0, $4037 = 0, $4038 = 0, $4039 = 0, $404 = 0, $4040 = 0, $4041 = 0, $4042 = 0, $4043 = 0, $4044 = 0, $4045 = 0, $4046 = 0, $4047 = 0;
var $4048 = 0, $4049 = 0, $405 = 0, $4050 = 0, $4051 = 0, $4052 = 0, $4053 = 0, $4054 = 0, $4055 = 0, $4056 = 0, $4057 = 0, $4058 = 0, $4059 = 0, $406 = 0, $4060 = 0, $4061 = 0, $4062 = 0, $4063 = 0, $4064 = 0, $4065 = 0;
var $4066 = 0, $4067 = 0, $4068 = 0, $4069 = 0, $407 = 0, $4070 = 0, $4071 = 0, $4072 = 0, $4073 = 0, $4074 = 0, $4075 = 0, $4076 = 0, $4077 = 0, $4078 = 0, $4079 = 0, $408 = 0, $4080 = 0, $4081 = 0, $4082 = 0, $4083 = 0;
var $4084 = 0, $4085 = 0, $4086 = 0, $4087 = 0, $4088 = 0, $4089 = 0, $409 = 0, $4090 = 0, $4091 = 0, $4092 = 0, $4093 = 0, $4094 = 0, $4095 = 0, $4096 = 0, $4097 = 0, $4098 = 0, $4099 = 0, $41 = 0, $410 = 0, $4100 = 0;
var $4101 = 0, $4102 = 0, $4103 = 0, $4104 = 0, $4105 = 0, $4106 = 0, $4107 = 0, $4108 = 0, $4109 = 0, $411 = 0, $4110 = 0, $4111 = 0, $4112 = 0, $4113 = 0, $4114 = 0, $4115 = 0, $4116 = 0, $4117 = 0, $4118 = 0, $4119 = 0;
var $412 = 0, $4120 = 0, $4121 = 0, $4122 = 0, $4123 = 0, $4124 = 0, $4125 = 0, $4126 = 0, $4127 = 0, $4128 = 0, $4129 = 0, $413 = 0, $4130 = 0, $4131 = 0, $4132 = 0, $4133 = 0, $4134 = 0, $4135 = 0, $4136 = 0, $4137 = 0;
var $4138 = 0, $4139 = 0, $414 = 0, $4140 = 0, $4141 = 0, $4142 = 0, $4143 = 0, $4144 = 0, $4145 = 0, $4146 = 0, $4147 = 0, $4148 = 0, $4149 = 0, $415 = 0, $4150 = 0, $4151 = 0, $4152 = 0, $4153 = 0, $4154 = 0, $4155 = 0;
var $4156 = 0, $4157 = 0, $4158 = 0, $4159 = 0, $416 = 0, $4160 = 0, $4161 = 0, $4162 = 0, $4163 = 0, $4164 = 0, $4165 = 0, $4166 = 0, $4167 = 0, $4168 = 0, $4169 = 0, $417 = 0, $4170 = 0, $4171 = 0, $4172 = 0, $4173 = 0;
var $4174 = 0, $4175 = 0, $4176 = 0, $4177 = 0, $4178 = 0, $4179 = 0, $418 = 0, $4180 = 0, $4181 = 0, $4182 = 0, $4183 = 0, $4184 = 0, $4185 = 0, $4186 = 0, $4187 = 0, $4188 = 0, $4189 = 0, $419 = 0, $4190 = 0, $4191 = 0;
var $4192 = 0, $4193 = 0, $4194 = 0, $4195 = 0, $4196 = 0, $4197 = 0, $4198 = 0, $4199 = 0, $42 = 0, $420 = 0, $4200 = 0, $4201 = 0, $4202 = 0, $4203 = 0, $4204 = 0, $4205 = 0, $4206 = 0, $4207 = 0, $4208 = 0, $4209 = 0;
var $421 = 0, $4210 = 0, $4211 = 0, $4212 = 0, $4213 = 0, $4214 = 0, $4215 = 0, $4216 = 0, $4217 = 0, $4218 = 0, $4219 = 0, $422 = 0, $4220 = 0, $4221 = 0, $4222 = 0, $4223 = 0, $4224 = 0, $4225 = 0, $4226 = 0, $4227 = 0;
var $4228 = 0, $4229 = 0, $423 = 0, $4230 = 0, $4231 = 0, $4232 = 0, $4233 = 0, $4234 = 0, $4235 = 0, $4236 = 0, $4237 = 0, $4238 = 0, $4239 = 0, $424 = 0, $4240 = 0, $4241 = 0, $4242 = 0, $4243 = 0, $4244 = 0, $4245 = 0;
var $4246 = 0, $4247 = 0, $4248 = 0, $4249 = 0, $425 = 0, $4250 = 0, $4251 = 0, $4252 = 0, $4253 = 0, $4254 = 0, $4255 = 0, $4256 = 0, $4257 = 0, $4258 = 0, $4259 = 0, $426 = 0, $4260 = 0, $4261 = 0, $4262 = 0, $4263 = 0;
var $4264 = 0, $4265 = 0, $4266 = 0, $4267 = 0, $4268 = 0, $4269 = 0, $427 = 0, $4270 = 0, $4271 = 0, $4272 = 0, $4273 = 0, $4274 = 0, $4275 = 0, $4276 = 0, $4277 = 0, $4278 = 0, $4279 = 0, $428 = 0, $4280 = 0, $4281 = 0;
var $4282 = 0, $4283 = 0, $4284 = 0, $4285 = 0, $4286 = 0, $4287 = 0, $4288 = 0, $4289 = 0, $429 = 0, $4290 = 0, $4291 = 0, $4292 = 0, $4293 = 0, $4294 = 0, $4295 = 0, $4296 = 0, $4297 = 0, $4298 = 0, $4299 = 0, $43 = 0;
var $430 = 0, $4300 = 0, $4301 = 0, $4302 = 0, $4303 = 0, $4304 = 0, $4305 = 0, $4306 = 0, $4307 = 0, $4308 = 0, $4309 = 0, $431 = 0, $4310 = 0, $4311 = 0, $4312 = 0, $4313 = 0, $4314 = 0, $4315 = 0, $4316 = 0, $4317 = 0;
var $4318 = 0, $4319 = 0, $432 = 0, $4320 = 0, $4321 = 0, $4322 = 0, $4323 = 0, $4324 = 0, $4325 = 0, $4326 = 0, $4327 = 0, $4328 = 0, $4329 = 0, $433 = 0, $4330 = 0, $4331 = 0, $4332 = 0, $4333 = 0, $4334 = 0, $4335 = 0;
var $4336 = 0, $4337 = 0, $4338 = 0, $4339 = 0, $434 = 0, $4340 = 0, $4341 = 0, $4342 = 0, $4343 = 0, $4344 = 0, $4345 = 0, $4346 = 0, $4347 = 0, $4348 = 0, $4349 = 0, $435 = 0, $4350 = 0, $4351 = 0, $4352 = 0, $4353 = 0;
var $4354 = 0, $4355 = 0, $4356 = 0, $4357 = 0, $4358 = 0, $4359 = 0, $436 = 0, $4360 = 0, $4361 = 0, $4362 = 0, $4363 = 0, $4364 = 0, $4365 = 0, $4366 = 0, $4367 = 0, $4368 = 0, $4369 = 0, $437 = 0, $4370 = 0, $4371 = 0;
var $4372 = 0, $4373 = 0, $4374 = 0, $4375 = 0, $4376 = 0, $4377 = 0, $4378 = 0, $4379 = 0, $438 = 0, $4380 = 0, $4381 = 0, $4382 = 0, $4383 = 0, $4384 = 0, $4385 = 0, $4386 = 0, $4387 = 0, $4388 = 0, $4389 = 0, $439 = 0;
var $4390 = 0, $4391 = 0, $4392 = 0, $4393 = 0, $4394 = 0, $4395 = 0, $4396 = 0, $4397 = 0, $4398 = 0, $4399 = 0, $44 = 0, $440 = 0, $4400 = 0, $4401 = 0, $4402 = 0, $4403 = 0, $4404 = 0, $4405 = 0, $4406 = 0, $4407 = 0;
var $4408 = 0, $4409 = 0, $441 = 0, $4410 = 0, $4411 = 0, $4412 = 0, $4413 = 0, $4414 = 0, $4415 = 0, $4416 = 0, $4417 = 0, $4418 = 0, $4419 = 0, $442 = 0, $4420 = 0, $4421 = 0, $4422 = 0, $4423 = 0, $4424 = 0, $4425 = 0;
var $4426 = 0, $4427 = 0, $4428 = 0, $4429 = 0, $443 = 0, $4430 = 0, $4431 = 0, $4432 = 0, $4433 = 0, $4434 = 0, $4435 = 0, $4436 = 0, $4437 = 0, $4438 = 0, $4439 = 0, $444 = 0, $4440 = 0, $4441 = 0, $4442 = 0, $4443 = 0;
var $4444 = 0, $4445 = 0, $4446 = 0, $4447 = 0, $4448 = 0, $4449 = 0, $445 = 0, $4450 = 0, $4451 = 0, $4452 = 0, $4453 = 0, $4454 = 0, $4455 = 0, $4456 = 0, $4457 = 0, $4458 = 0, $4459 = 0, $446 = 0, $4460 = 0, $4461 = 0;
var $4462 = 0, $4463 = 0, $4464 = 0, $4465 = 0, $4466 = 0, $4467 = 0, $4468 = 0, $4469 = 0, $447 = 0, $4470 = 0, $4471 = 0, $4472 = 0, $4473 = 0, $4474 = 0, $4475 = 0, $4476 = 0, $4477 = 0, $4478 = 0, $4479 = 0, $448 = 0;
var $4480 = 0, $4481 = 0, $4482 = 0, $4483 = 0, $4484 = 0, $4485 = 0, $4486 = 0, $4487 = 0, $4488 = 0, $4489 = 0, $449 = 0, $4490 = 0, $4491 = 0, $4492 = 0, $4493 = 0, $4494 = 0, $4495 = 0, $4496 = 0, $4497 = 0, $4498 = 0;
var $4499 = 0, $45 = 0, $450 = 0, $4500 = 0, $4501 = 0, $4502 = 0, $4503 = 0, $4504 = 0, $4505 = 0, $4506 = 0, $4507 = 0, $4508 = 0, $4509 = 0, $451 = 0, $4510 = 0, $4511 = 0, $4512 = 0, $4513 = 0, $4514 = 0, $4515 = 0;
var $4516 = 0, $4517 = 0, $4518 = 0, $4519 = 0, $452 = 0, $4520 = 0, $4521 = 0, $4522 = 0, $4523 = 0, $4524 = 0, $4525 = 0, $4526 = 0, $4527 = 0, $4528 = 0, $4529 = 0, $453 = 0, $4530 = 0, $4531 = 0, $4532 = 0, $4533 = 0;
var $4534 = 0, $4535 = 0, $4536 = 0, $4537 = 0, $4538 = 0, $4539 = 0, $454 = 0, $4540 = 0, $4541 = 0, $4542 = 0, $4543 = 0, $4544 = 0, $4545 = 0, $4546 = 0, $4547 = 0, $4548 = 0, $4549 = 0, $455 = 0, $4550 = 0, $4551 = 0;
var $4552 = 0, $4553 = 0, $4554 = 0, $4555 = 0, $4556 = 0, $4557 = 0, $4558 = 0, $4559 = 0, $456 = 0, $4560 = 0, $4561 = 0, $4562 = 0, $4563 = 0, $4564 = 0, $4565 = 0, $4566 = 0, $4567 = 0, $4568 = 0, $4569 = 0, $457 = 0;
var $4570 = 0, $4571 = 0, $4572 = 0, $4573 = 0, $4574 = 0, $4575 = 0, $4576 = 0, $4577 = 0, $4578 = 0, $4579 = 0, $458 = 0, $4580 = 0, $4581 = 0, $4582 = 0, $4583 = 0, $4584 = 0, $4585 = 0, $4586 = 0, $4587 = 0, $4588 = 0;
var $4589 = 0, $459 = 0, $4590 = 0, $4591 = 0, $4592 = 0, $4593 = 0, $4594 = 0, $4595 = 0, $4596 = 0, $4597 = 0, $4598 = 0, $4599 = 0, $46 = 0, $460 = 0, $4600 = 0, $4601 = 0, $4602 = 0, $4603 = 0, $4604 = 0, $4605 = 0;
var $4606 = 0, $4607 = 0, $4608 = 0, $4609 = 0, $461 = 0, $4610 = 0, $4611 = 0, $4612 = 0, $4613 = 0, $4614 = 0, $4615 = 0, $4616 = 0, $4617 = 0, $4618 = 0, $4619 = 0, $462 = 0, $4620 = 0, $4621 = 0, $4622 = 0, $4623 = 0;
var $4624 = 0, $4625 = 0, $4626 = 0, $4627 = 0, $4628 = 0, $4629 = 0, $463 = 0, $4630 = 0, $4631 = 0, $4632 = 0, $4633 = 0, $4634 = 0, $4635 = 0, $4636 = 0, $4637 = 0, $4638 = 0, $4639 = 0, $464 = 0, $4640 = 0, $4641 = 0;
var $4642 = 0, $4643 = 0, $4644 = 0, $4645 = 0, $4646 = 0, $4647 = 0, $4648 = 0, $4649 = 0, $465 = 0, $4650 = 0, $4651 = 0, $4652 = 0, $4653 = 0, $4654 = 0, $4655 = 0, $4656 = 0, $4657 = 0, $4658 = 0, $4659 = 0, $466 = 0;
var $4660 = 0, $4661 = 0, $4662 = 0, $4663 = 0, $4664 = 0, $4665 = 0, $4666 = 0, $4667 = 0, $4668 = 0, $4669 = 0, $467 = 0, $4670 = 0, $4671 = 0, $4672 = 0, $4673 = 0, $4674 = 0, $4675 = 0, $4676 = 0, $4677 = 0, $4678 = 0;
var $4679 = 0, $468 = 0, $4680 = 0, $4681 = 0, $4682 = 0, $4683 = 0, $4684 = 0, $4685 = 0, $4686 = 0, $4687 = 0, $4688 = 0, $4689 = 0, $469 = 0, $4690 = 0, $4691 = 0, $4692 = 0, $4693 = 0, $4694 = 0, $4695 = 0, $4696 = 0;
var $4697 = 0, $4698 = 0, $4699 = 0, $47 = 0, $470 = 0, $4700 = 0, $4701 = 0, $4702 = 0, $4703 = 0, $4704 = 0, $4705 = 0, $4706 = 0, $4707 = 0, $4708 = 0, $4709 = 0, $471 = 0, $4710 = 0, $4711 = 0, $4712 = 0, $4713 = 0;
var $4714 = 0, $4715 = 0, $4716 = 0, $4717 = 0, $4718 = 0, $4719 = 0, $472 = 0, $4720 = 0, $4721 = 0, $4722 = 0, $4723 = 0, $4724 = 0, $4725 = 0, $4726 = 0, $4727 = 0, $4728 = 0, $4729 = 0, $473 = 0, $4730 = 0, $4731 = 0;
var $4732 = 0, $4733 = 0, $4734 = 0, $4735 = 0, $4736 = 0, $4737 = 0, $4738 = 0, $4739 = 0, $474 = 0, $4740 = 0, $4741 = 0, $4742 = 0, $4743 = 0, $4744 = 0, $4745 = 0, $4746 = 0, $4747 = 0, $4748 = 0, $4749 = 0, $475 = 0;
var $4750 = 0, $4751 = 0, $4752 = 0, $4753 = 0, $4754 = 0, $4755 = 0, $4756 = 0, $4757 = 0, $4758 = 0, $4759 = 0, $476 = 0, $4760 = 0, $4761 = 0, $4762 = 0, $4763 = 0, $4764 = 0, $4765 = 0, $4766 = 0, $4767 = 0, $4768 = 0;
var $4769 = 0, $477 = 0, $4770 = 0, $4771 = 0, $4772 = 0, $4773 = 0, $4774 = 0, $4775 = 0, $4776 = 0, $4777 = 0, $4778 = 0, $4779 = 0, $478 = 0, $4780 = 0, $4781 = 0, $4782 = 0, $4783 = 0, $4784 = 0, $4785 = 0, $4786 = 0;
var $4787 = 0, $4788 = 0, $4789 = 0, $479 = 0, $4790 = 0, $4791 = 0, $4792 = 0, $4793 = 0, $4794 = 0, $4795 = 0, $4796 = 0, $4797 = 0, $4798 = 0, $4799 = 0, $48 = 0, $480 = 0, $4800 = 0, $4801 = 0, $4802 = 0, $4803 = 0;
var $4804 = 0, $4805 = 0, $4806 = 0, $4807 = 0, $4808 = 0, $4809 = 0, $481 = 0, $4810 = 0, $4811 = 0, $4812 = 0, $4813 = 0, $4814 = 0, $4815 = 0, $4816 = 0, $4817 = 0, $4818 = 0, $4819 = 0, $482 = 0, $4820 = 0, $4821 = 0;
var $4822 = 0, $4823 = 0, $4824 = 0, $4825 = 0, $4826 = 0, $4827 = 0, $4828 = 0, $4829 = 0, $483 = 0, $4830 = 0, $4831 = 0, $4832 = 0, $4833 = 0, $4834 = 0, $4835 = 0, $4836 = 0, $4837 = 0, $4838 = 0, $4839 = 0, $484 = 0;
var $4840 = 0, $4841 = 0, $4842 = 0, $4843 = 0, $4844 = 0, $4845 = 0, $4846 = 0, $4847 = 0, $4848 = 0, $4849 = 0, $485 = 0, $4850 = 0, $4851 = 0, $4852 = 0, $4853 = 0, $4854 = 0, $4855 = 0, $4856 = 0, $4857 = 0, $4858 = 0;
var $4859 = 0, $486 = 0, $4860 = 0, $4861 = 0, $4862 = 0, $4863 = 0, $4864 = 0, $4865 = 0, $4866 = 0, $4867 = 0, $4868 = 0, $4869 = 0, $487 = 0, $4870 = 0, $4871 = 0, $4872 = 0, $4873 = 0, $4874 = 0, $4875 = 0, $4876 = 0;
var $4877 = 0, $4878 = 0, $4879 = 0, $488 = 0, $4880 = 0, $4881 = 0, $4882 = 0, $4883 = 0, $4884 = 0, $4885 = 0, $4886 = 0, $4887 = 0, $4888 = 0, $4889 = 0, $489 = 0, $4890 = 0, $4891 = 0, $4892 = 0, $4893 = 0, $4894 = 0;
var $4895 = 0, $4896 = 0, $4897 = 0, $4898 = 0, $4899 = 0, $49 = 0, $490 = 0, $4900 = 0, $4901 = 0, $4902 = 0, $4903 = 0, $4904 = 0, $4905 = 0, $4906 = 0, $4907 = 0, $4908 = 0, $4909 = 0, $491 = 0, $4910 = 0, $4911 = 0;
var $4912 = 0, $4913 = 0, $4914 = 0, $4915 = 0, $4916 = 0, $4917 = 0, $4918 = 0, $4919 = 0, $492 = 0, $4920 = 0, $4921 = 0, $4922 = 0, $4923 = 0, $4924 = 0, $4925 = 0, $4926 = 0, $4927 = 0, $4928 = 0, $4929 = 0, $493 = 0;
var $4930 = 0, $4931 = 0, $4932 = 0, $4933 = 0, $4934 = 0, $4935 = 0, $4936 = 0, $4937 = 0, $4938 = 0, $4939 = 0, $494 = 0, $4940 = 0, $4941 = 0, $4942 = 0, $4943 = 0, $4944 = 0, $4945 = 0, $4946 = 0, $4947 = 0, $4948 = 0;
var $4949 = 0, $495 = 0, $4950 = 0, $4951 = 0, $4952 = 0, $4953 = 0, $4954 = 0, $4955 = 0, $4956 = 0, $4957 = 0, $4958 = 0, $4959 = 0, $496 = 0, $4960 = 0, $4961 = 0, $4962 = 0, $4963 = 0, $4964 = 0, $4965 = 0, $4966 = 0;
var $4967 = 0, $4968 = 0, $4969 = 0, $497 = 0, $4970 = 0, $4971 = 0, $4972 = 0, $4973 = 0, $4974 = 0, $4975 = 0, $4976 = 0, $4977 = 0, $4978 = 0, $4979 = 0, $498 = 0, $4980 = 0, $4981 = 0, $4982 = 0, $4983 = 0, $4984 = 0;
var $4985 = 0, $4986 = 0, $4987 = 0, $4988 = 0, $4989 = 0, $499 = 0, $4990 = 0, $4991 = 0, $4992 = 0, $4993 = 0, $4994 = 0, $4995 = 0, $4996 = 0, $4997 = 0, $4998 = 0, $4999 = 0, $5 = 0, $50 = 0, $500 = 0, $5000 = 0;
var $5001 = 0, $5002 = 0, $5003 = 0, $5004 = 0, $5005 = 0, $5006 = 0, $5007 = 0, $5008 = 0, $5009 = 0, $501 = 0, $5010 = 0, $5011 = 0, $5012 = 0, $5013 = 0, $5014 = 0, $5015 = 0, $5016 = 0, $5017 = 0, $5018 = 0, $5019 = 0;
var $502 = 0, $5020 = 0, $5021 = 0, $5022 = 0, $5023 = 0, $5024 = 0, $5025 = 0, $5026 = 0, $5027 = 0, $5028 = 0, $5029 = 0, $503 = 0, $5030 = 0, $5031 = 0, $5032 = 0, $5033 = 0, $5034 = 0, $5035 = 0, $5036 = 0, $5037 = 0;
var $5038 = 0, $5039 = 0, $504 = 0, $5040 = 0, $5041 = 0, $5042 = 0, $5043 = 0, $5044 = 0, $5045 = 0, $5046 = 0, $5047 = 0, $5048 = 0, $5049 = 0, $505 = 0, $5050 = 0, $5051 = 0, $5052 = 0, $5053 = 0, $5054 = 0, $5055 = 0;
var $5056 = 0, $5057 = 0, $5058 = 0, $5059 = 0, $506 = 0, $5060 = 0, $5061 = 0, $5062 = 0, $5063 = 0, $5064 = 0, $5065 = 0, $5066 = 0, $5067 = 0, $5068 = 0, $5069 = 0, $507 = 0, $5070 = 0, $5071 = 0, $5072 = 0, $5073 = 0;
var $5074 = 0, $5075 = 0, $5076 = 0, $5077 = 0, $5078 = 0, $5079 = 0, $508 = 0, $5080 = 0, $5081 = 0, $5082 = 0, $5083 = 0, $5084 = 0, $5085 = 0, $5086 = 0, $5087 = 0, $5088 = 0, $5089 = 0, $509 = 0, $5090 = 0, $5091 = 0;
var $5092 = 0, $5093 = 0, $5094 = 0, $5095 = 0, $5096 = 0, $5097 = 0, $5098 = 0, $5099 = 0, $51 = 0, $510 = 0, $5100 = 0, $5101 = 0, $5102 = 0, $5103 = 0, $5104 = 0, $5105 = 0, $5106 = 0, $5107 = 0, $5108 = 0, $5109 = 0;
var $511 = 0, $5110 = 0, $5111 = 0, $5112 = 0, $5113 = 0, $5114 = 0, $5115 = 0, $5116 = 0, $5117 = 0, $5118 = 0, $5119 = 0, $512 = 0, $5120 = 0, $5121 = 0, $5122 = 0, $5123 = 0, $5124 = 0, $5125 = 0, $5126 = 0, $5127 = 0;
var $5128 = 0, $5129 = 0, $513 = 0, $5130 = 0, $5131 = 0, $5132 = 0, $5133 = 0, $5134 = 0, $5135 = 0, $5136 = 0, $5137 = 0, $5138 = 0, $5139 = 0, $514 = 0, $5140 = 0, $5141 = 0, $5142 = 0, $5143 = 0, $5144 = 0, $5145 = 0;
var $5146 = 0, $5147 = 0, $5148 = 0, $5149 = 0, $515 = 0, $5150 = 0, $5151 = 0, $5152 = 0, $5153 = 0, $5154 = 0, $5155 = 0, $5156 = 0, $5157 = 0, $5158 = 0, $5159 = 0, $516 = 0, $5160 = 0, $5161 = 0, $5162 = 0, $5163 = 0;
var $5164 = 0, $5165 = 0, $5166 = 0, $5167 = 0, $5168 = 0, $5169 = 0, $517 = 0, $5170 = 0, $5171 = 0, $5172 = 0, $5173 = 0, $5174 = 0, $5175 = 0, $5176 = 0, $5177 = 0, $5178 = 0, $5179 = 0, $518 = 0, $5180 = 0, $5181 = 0;
var $5182 = 0, $5183 = 0, $5184 = 0, $5185 = 0, $5186 = 0, $5187 = 0, $5188 = 0, $5189 = 0, $519 = 0, $5190 = 0, $5191 = 0, $5192 = 0, $5193 = 0, $5194 = 0, $5195 = 0, $5196 = 0, $5197 = 0, $5198 = 0, $5199 = 0, $52 = 0;
var $520 = 0, $5200 = 0, $5201 = 0, $5202 = 0, $5203 = 0, $5204 = 0, $5205 = 0, $5206 = 0, $5207 = 0, $5208 = 0, $5209 = 0, $521 = 0, $5210 = 0, $5211 = 0, $5212 = 0, $5213 = 0, $5214 = 0, $5215 = 0, $5216 = 0, $5217 = 0;
var $5218 = 0, $5219 = 0, $522 = 0, $5220 = 0, $5221 = 0, $5222 = 0, $5223 = 0, $5224 = 0, $5225 = 0, $5226 = 0, $5227 = 0, $5228 = 0, $5229 = 0, $523 = 0, $5230 = 0, $5231 = 0, $5232 = 0, $5233 = 0, $5234 = 0, $5235 = 0;
var $5236 = 0, $5237 = 0, $5238 = 0, $5239 = 0, $524 = 0, $5240 = 0, $5241 = 0, $5242 = 0, $5243 = 0, $5244 = 0, $5245 = 0, $5246 = 0, $5247 = 0, $5248 = 0, $5249 = 0, $525 = 0, $5250 = 0, $5251 = 0, $5252 = 0, $5253 = 0;
var $5254 = 0, $5255 = 0, $5256 = 0, $5257 = 0, $5258 = 0, $5259 = 0, $526 = 0, $5260 = 0, $5261 = 0, $5262 = 0, $5263 = 0, $5264 = 0, $5265 = 0, $5266 = 0, $5267 = 0, $5268 = 0, $5269 = 0, $527 = 0, $5270 = 0, $5271 = 0;
var $5272 = 0, $5273 = 0, $5274 = 0, $5275 = 0, $5276 = 0, $5277 = 0, $5278 = 0, $5279 = 0, $528 = 0, $5280 = 0, $5281 = 0, $5282 = 0, $5283 = 0, $5284 = 0, $5285 = 0, $5286 = 0, $5287 = 0, $5288 = 0, $5289 = 0, $529 = 0;
var $5290 = 0, $5291 = 0, $5292 = 0, $5293 = 0, $5294 = 0, $5295 = 0, $5296 = 0, $5297 = 0, $5298 = 0, $5299 = 0, $53 = 0, $530 = 0, $5300 = 0, $5301 = 0, $5302 = 0, $5303 = 0, $5304 = 0, $5305 = 0, $5306 = 0, $5307 = 0;
var $5308 = 0, $5309 = 0, $531 = 0, $5310 = 0, $5311 = 0, $5312 = 0, $5313 = 0, $5314 = 0, $5315 = 0, $5316 = 0, $5317 = 0, $5318 = 0, $5319 = 0, $532 = 0, $5320 = 0, $5321 = 0, $5322 = 0, $5323 = 0, $5324 = 0, $5325 = 0;
var $5326 = 0, $5327 = 0, $5328 = 0, $5329 = 0, $533 = 0, $5330 = 0, $5331 = 0, $5332 = 0, $5333 = 0, $5334 = 0, $5335 = 0, $5336 = 0, $5337 = 0, $5338 = 0, $5339 = 0, $534 = 0, $5340 = 0, $5341 = 0, $5342 = 0, $5343 = 0;
var $5344 = 0, $5345 = 0, $5346 = 0, $5347 = 0, $5348 = 0, $5349 = 0, $535 = 0, $5350 = 0, $5351 = 0, $5352 = 0, $5353 = 0, $5354 = 0, $5355 = 0, $5356 = 0, $5357 = 0, $5358 = 0, $5359 = 0, $536 = 0, $5360 = 0, $5361 = 0;
var $5362 = 0, $5363 = 0, $5364 = 0, $5365 = 0, $5366 = 0, $5367 = 0, $5368 = 0, $5369 = 0, $537 = 0, $5370 = 0, $5371 = 0, $5372 = 0, $5373 = 0, $5374 = 0, $5375 = 0, $5376 = 0, $5377 = 0, $5378 = 0, $5379 = 0, $538 = 0;
var $5380 = 0, $5381 = 0, $5382 = 0, $5383 = 0, $5384 = 0, $5385 = 0, $5386 = 0, $5387 = 0, $5388 = 0, $5389 = 0, $539 = 0, $5390 = 0, $5391 = 0, $5392 = 0, $5393 = 0, $5394 = 0, $5395 = 0, $5396 = 0, $5397 = 0, $5398 = 0;
var $5399 = 0, $54 = 0, $540 = 0, $5400 = 0, $5401 = 0, $5402 = 0, $5403 = 0, $5404 = 0, $5405 = 0, $5406 = 0, $5407 = 0, $5408 = 0, $5409 = 0, $541 = 0, $5410 = 0, $5411 = 0, $5412 = 0, $5413 = 0, $5414 = 0, $5415 = 0;
var $5416 = 0, $5417 = 0, $5418 = 0, $5419 = 0, $542 = 0, $5420 = 0, $5421 = 0, $5422 = 0, $5423 = 0, $5424 = 0, $5425 = 0, $5426 = 0, $5427 = 0, $5428 = 0, $5429 = 0, $543 = 0, $5430 = 0, $5431 = 0, $5432 = 0, $5433 = 0;
var $5434 = 0, $5435 = 0, $5436 = 0, $5437 = 0, $5438 = 0, $5439 = 0, $544 = 0, $5440 = 0, $5441 = 0, $5442 = 0, $5443 = 0, $5444 = 0, $5445 = 0, $5446 = 0, $5447 = 0, $5448 = 0, $5449 = 0, $545 = 0, $5450 = 0, $5451 = 0;
var $5452 = 0, $5453 = 0, $5454 = 0, $5455 = 0, $5456 = 0, $5457 = 0, $5458 = 0, $5459 = 0, $546 = 0, $5460 = 0, $5461 = 0, $5462 = 0, $5463 = 0, $5464 = 0, $5465 = 0, $5466 = 0, $5467 = 0, $5468 = 0, $5469 = 0, $547 = 0;
var $5470 = 0, $5471 = 0, $5472 = 0, $5473 = 0, $5474 = 0, $5475 = 0, $5476 = 0, $5477 = 0, $5478 = 0, $5479 = 0, $548 = 0, $5480 = 0, $5481 = 0, $5482 = 0, $5483 = 0, $5484 = 0, $5485 = 0, $5486 = 0, $5487 = 0, $5488 = 0;
var $5489 = 0, $549 = 0, $5490 = 0, $5491 = 0, $5492 = 0, $5493 = 0, $5494 = 0, $5495 = 0, $5496 = 0, $5497 = 0, $5498 = 0, $5499 = 0, $55 = 0, $550 = 0, $5500 = 0, $5501 = 0, $5502 = 0, $5503 = 0, $5504 = 0, $5505 = 0;
var $5506 = 0, $5507 = 0, $5508 = 0, $5509 = 0, $551 = 0, $5510 = 0, $5511 = 0, $5512 = 0, $5513 = 0, $5514 = 0, $5515 = 0, $5516 = 0, $5517 = 0, $5518 = 0, $5519 = 0, $552 = 0, $5520 = 0, $5521 = 0, $5522 = 0, $5523 = 0;
var $5524 = 0, $5525 = 0, $5526 = 0, $5527 = 0, $5528 = 0, $5529 = 0, $553 = 0, $5530 = 0, $5531 = 0, $5532 = 0, $5533 = 0, $5534 = 0, $5535 = 0, $5536 = 0, $5537 = 0, $5538 = 0, $5539 = 0, $554 = 0, $5540 = 0, $5541 = 0;
var $5542 = 0, $5543 = 0, $5544 = 0, $5545 = 0, $5546 = 0, $5547 = 0, $5548 = 0, $5549 = 0, $555 = 0, $5550 = 0, $5551 = 0, $5552 = 0, $5553 = 0, $5554 = 0, $5555 = 0, $5556 = 0, $5557 = 0, $5558 = 0, $5559 = 0, $556 = 0;
var $5560 = 0, $5561 = 0, $5562 = 0, $5563 = 0, $5564 = 0, $5565 = 0, $5566 = 0, $5567 = 0, $5568 = 0, $5569 = 0, $557 = 0, $5570 = 0, $5571 = 0, $5572 = 0, $5573 = 0, $5574 = 0, $5575 = 0, $5576 = 0, $5577 = 0, $5578 = 0;
var $5579 = 0, $558 = 0, $5580 = 0, $5581 = 0, $5582 = 0, $5583 = 0, $5584 = 0, $5585 = 0, $5586 = 0, $5587 = 0, $5588 = 0, $5589 = 0, $559 = 0, $5590 = 0, $5591 = 0, $5592 = 0, $5593 = 0, $5594 = 0, $5595 = 0, $5596 = 0;
var $5597 = 0, $5598 = 0, $5599 = 0, $56 = 0, $560 = 0, $5600 = 0, $5601 = 0, $5602 = 0, $5603 = 0, $5604 = 0, $5605 = 0, $5606 = 0, $5607 = 0, $5608 = 0, $5609 = 0, $561 = 0, $5610 = 0, $5611 = 0, $5612 = 0, $5613 = 0;
var $5614 = 0, $5615 = 0, $5616 = 0, $5617 = 0, $5618 = 0, $5619 = 0, $562 = 0, $5620 = 0, $5621 = 0, $5622 = 0, $5623 = 0, $5624 = 0, $5625 = 0, $5626 = 0, $5627 = 0, $5628 = 0, $5629 = 0, $563 = 0, $5630 = 0, $5631 = 0;
var $5632 = 0, $5633 = 0, $5634 = 0, $5635 = 0, $5636 = 0, $5637 = 0, $5638 = 0, $5639 = 0, $564 = 0, $5640 = 0, $5641 = 0, $5642 = 0, $5643 = 0, $5644 = 0, $5645 = 0, $5646 = 0, $5647 = 0, $5648 = 0, $5649 = 0, $565 = 0;
var $5650 = 0, $5651 = 0, $5652 = 0, $5653 = 0, $5654 = 0, $5655 = 0, $5656 = 0, $5657 = 0, $5658 = 0, $5659 = 0, $566 = 0, $5660 = 0, $5661 = 0, $5662 = 0, $5663 = 0, $5664 = 0, $5665 = 0, $5666 = 0, $5667 = 0, $5668 = 0;
var $5669 = 0, $567 = 0, $5670 = 0, $5671 = 0, $5672 = 0, $5673 = 0, $5674 = 0, $5675 = 0, $5676 = 0, $5677 = 0, $5678 = 0, $5679 = 0, $568 = 0, $5680 = 0, $5681 = 0, $5682 = 0, $5683 = 0, $5684 = 0, $5685 = 0, $5686 = 0;
var $5687 = 0, $5688 = 0, $5689 = 0, $569 = 0, $5690 = 0, $5691 = 0, $5692 = 0, $5693 = 0, $5694 = 0, $5695 = 0, $5696 = 0, $5697 = 0, $5698 = 0, $5699 = 0, $57 = 0, $570 = 0, $5700 = 0, $5701 = 0, $5702 = 0, $5703 = 0;
var $5704 = 0, $5705 = 0, $5706 = 0, $5707 = 0, $5708 = 0, $5709 = 0, $571 = 0, $5710 = 0, $5711 = 0, $5712 = 0, $5713 = 0, $5714 = 0, $5715 = 0, $5716 = 0, $5717 = 0, $5718 = 0, $5719 = 0, $572 = 0, $5720 = 0, $5721 = 0;
var $5722 = 0, $5723 = 0, $5724 = 0, $5725 = 0, $5726 = 0, $5727 = 0, $5728 = 0, $5729 = 0, $573 = 0, $5730 = 0, $5731 = 0, $5732 = 0, $5733 = 0, $5734 = 0, $5735 = 0, $5736 = 0, $5737 = 0, $5738 = 0, $5739 = 0, $574 = 0;
var $5740 = 0, $5741 = 0, $5742 = 0, $5743 = 0, $5744 = 0, $5745 = 0, $5746 = 0, $5747 = 0, $5748 = 0, $5749 = 0, $575 = 0, $5750 = 0, $5751 = 0, $5752 = 0, $5753 = 0, $5754 = 0, $5755 = 0, $5756 = 0, $5757 = 0, $5758 = 0;
var $5759 = 0, $576 = 0, $5760 = 0, $5761 = 0, $5762 = 0, $5763 = 0, $5764 = 0, $5765 = 0, $5766 = 0, $5767 = 0, $5768 = 0, $5769 = 0, $577 = 0, $5770 = 0, $5771 = 0, $5772 = 0, $5773 = 0, $5774 = 0, $5775 = 0, $5776 = 0;
var $5777 = 0, $5778 = 0, $5779 = 0, $578 = 0, $5780 = 0, $5781 = 0, $5782 = 0, $5783 = 0, $5784 = 0, $5785 = 0, $5786 = 0, $5787 = 0, $5788 = 0, $5789 = 0, $579 = 0, $5790 = 0, $5791 = 0, $5792 = 0, $5793 = 0, $5794 = 0;
var $5795 = 0, $5796 = 0, $5797 = 0, $5798 = 0, $5799 = 0, $58 = 0, $580 = 0, $5800 = 0, $5801 = 0, $5802 = 0, $5803 = 0, $5804 = 0, $5805 = 0, $5806 = 0, $5807 = 0, $5808 = 0, $5809 = 0, $581 = 0, $5810 = 0, $5811 = 0;
var $5812 = 0, $5813 = 0, $5814 = 0, $5815 = 0, $5816 = 0, $5817 = 0, $5818 = 0, $5819 = 0, $582 = 0, $5820 = 0, $5821 = 0, $5822 = 0, $5823 = 0, $5824 = 0, $5825 = 0, $5826 = 0, $5827 = 0, $5828 = 0, $5829 = 0, $583 = 0;
var $5830 = 0, $5831 = 0, $5832 = 0, $5833 = 0, $5834 = 0, $5835 = 0, $5836 = 0, $5837 = 0, $5838 = 0, $5839 = 0, $584 = 0, $5840 = 0, $5841 = 0, $5842 = 0, $5843 = 0, $5844 = 0, $5845 = 0, $5846 = 0, $5847 = 0, $5848 = 0;
var $5849 = 0, $585 = 0, $5850 = 0, $5851 = 0, $5852 = 0, $5853 = 0, $5854 = 0, $5855 = 0, $5856 = 0, $5857 = 0, $5858 = 0, $5859 = 0, $586 = 0, $5860 = 0, $5861 = 0, $5862 = 0, $5863 = 0, $5864 = 0, $5865 = 0, $5866 = 0;
var $5867 = 0, $5868 = 0, $5869 = 0, $587 = 0, $5870 = 0, $5871 = 0, $5872 = 0, $5873 = 0, $5874 = 0, $5875 = 0, $5876 = 0, $5877 = 0, $5878 = 0, $5879 = 0, $588 = 0, $5880 = 0, $5881 = 0, $5882 = 0, $5883 = 0, $5884 = 0;
var $5885 = 0, $5886 = 0, $5887 = 0, $5888 = 0, $5889 = 0, $589 = 0, $5890 = 0, $5891 = 0, $5892 = 0, $5893 = 0, $5894 = 0, $5895 = 0, $5896 = 0, $5897 = 0, $5898 = 0, $5899 = 0, $59 = 0, $590 = 0, $5900 = 0, $5901 = 0;
var $5902 = 0, $5903 = 0, $5904 = 0, $5905 = 0, $5906 = 0, $5907 = 0, $5908 = 0, $5909 = 0, $591 = 0, $5910 = 0, $5911 = 0, $5912 = 0, $5913 = 0, $5914 = 0, $5915 = 0, $5916 = 0, $5917 = 0, $5918 = 0, $5919 = 0, $592 = 0;
var $5920 = 0, $5921 = 0, $5922 = 0, $5923 = 0, $5924 = 0, $5925 = 0, $5926 = 0, $5927 = 0, $5928 = 0, $5929 = 0, $593 = 0, $5930 = 0, $5931 = 0, $5932 = 0, $5933 = 0, $5934 = 0, $5935 = 0, $5936 = 0, $5937 = 0, $5938 = 0;
var $5939 = 0, $594 = 0, $5940 = 0, $5941 = 0, $5942 = 0, $5943 = 0, $5944 = 0, $5945 = 0, $5946 = 0, $5947 = 0, $5948 = 0, $5949 = 0, $595 = 0, $5950 = 0, $5951 = 0, $5952 = 0, $5953 = 0, $5954 = 0, $5955 = 0, $5956 = 0;
var $5957 = 0, $5958 = 0, $5959 = 0, $596 = 0, $5960 = 0, $5961 = 0, $5962 = 0, $5963 = 0, $5964 = 0, $5965 = 0, $5966 = 0, $5967 = 0, $5968 = 0, $5969 = 0, $597 = 0, $5970 = 0, $5971 = 0, $5972 = 0, $5973 = 0, $5974 = 0;
var $5975 = 0, $5976 = 0, $5977 = 0, $5978 = 0, $5979 = 0, $598 = 0, $5980 = 0, $5981 = 0, $5982 = 0, $5983 = 0, $5984 = 0, $5985 = 0, $5986 = 0, $5987 = 0, $5988 = 0, $5989 = 0, $599 = 0, $5990 = 0, $5991 = 0, $5992 = 0;
var $5993 = 0, $5994 = 0, $5995 = 0, $5996 = 0, $5997 = 0, $5998 = 0, $5999 = 0, $6 = 0, $60 = 0, $600 = 0, $6000 = 0, $6001 = 0, $6002 = 0, $6003 = 0, $6004 = 0, $6005 = 0, $6006 = 0, $6007 = 0, $6008 = 0, $6009 = 0;
var $601 = 0, $6010 = 0, $6011 = 0, $6012 = 0, $6013 = 0, $6014 = 0, $6015 = 0, $6016 = 0, $6017 = 0, $6018 = 0, $6019 = 0, $602 = 0, $6020 = 0, $6021 = 0, $6022 = 0, $6023 = 0, $6024 = 0, $6025 = 0, $6026 = 0, $6027 = 0;
var $6028 = 0, $6029 = 0, $603 = 0, $6030 = 0, $6031 = 0, $6032 = 0, $6033 = 0, $6034 = 0, $6035 = 0, $6036 = 0, $6037 = 0, $6038 = 0, $6039 = 0, $604 = 0, $6040 = 0, $6041 = 0, $6042 = 0, $6043 = 0, $6044 = 0, $6045 = 0;
var $6046 = 0, $6047 = 0, $6048 = 0, $6049 = 0, $605 = 0, $6050 = 0, $6051 = 0, $6052 = 0, $6053 = 0, $6054 = 0, $6055 = 0, $6056 = 0, $6057 = 0, $6058 = 0, $6059 = 0, $606 = 0, $6060 = 0, $6061 = 0, $6062 = 0, $6063 = 0;
var $6064 = 0, $6065 = 0, $6066 = 0, $6067 = 0, $6068 = 0, $6069 = 0, $607 = 0, $6070 = 0, $6071 = 0, $6072 = 0, $6073 = 0, $6074 = 0, $6075 = 0, $6076 = 0, $6077 = 0, $6078 = 0, $6079 = 0, $608 = 0, $6080 = 0, $6081 = 0;
var $6082 = 0, $6083 = 0, $6084 = 0, $6085 = 0, $6086 = 0, $6087 = 0, $6088 = 0, $6089 = 0, $609 = 0, $6090 = 0, $6091 = 0, $6092 = 0, $6093 = 0, $6094 = 0, $6095 = 0, $6096 = 0, $6097 = 0, $6098 = 0, $6099 = 0, $61 = 0;
var $610 = 0, $6100 = 0, $6101 = 0, $6102 = 0, $6103 = 0, $6104 = 0, $6105 = 0, $6106 = 0, $6107 = 0, $6108 = 0, $6109 = 0, $611 = 0, $6110 = 0, $6111 = 0, $6112 = 0, $6113 = 0, $6114 = 0, $6115 = 0, $6116 = 0, $6117 = 0;
var $6118 = 0, $6119 = 0, $612 = 0, $6120 = 0, $6121 = 0, $6122 = 0, $6123 = 0, $6124 = 0, $6125 = 0, $6126 = 0, $6127 = 0, $6128 = 0, $6129 = 0, $613 = 0, $6130 = 0, $6131 = 0, $6132 = 0, $6133 = 0, $6134 = 0, $6135 = 0;
var $6136 = 0, $6137 = 0, $6138 = 0, $6139 = 0, $614 = 0, $6140 = 0, $6141 = 0, $6142 = 0, $6143 = 0, $6144 = 0, $6145 = 0, $6146 = 0, $6147 = 0, $6148 = 0, $6149 = 0, $615 = 0, $6150 = 0, $6151 = 0, $6152 = 0, $6153 = 0;
var $6154 = 0, $6155 = 0, $6156 = 0, $6157 = 0, $6158 = 0, $6159 = 0, $616 = 0, $6160 = 0, $6161 = 0, $6162 = 0, $6163 = 0, $6164 = 0, $6165 = 0, $6166 = 0, $6167 = 0, $6168 = 0, $6169 = 0, $617 = 0, $6170 = 0, $6171 = 0;
var $6172 = 0, $6173 = 0, $6174 = 0, $6175 = 0, $6176 = 0, $6177 = 0, $6178 = 0, $6179 = 0, $618 = 0, $6180 = 0, $6181 = 0, $6182 = 0, $6183 = 0, $6184 = 0, $6185 = 0, $6186 = 0, $6187 = 0, $6188 = 0, $6189 = 0, $619 = 0;
var $6190 = 0, $6191 = 0, $6192 = 0, $6193 = 0, $6194 = 0, $6195 = 0, $6196 = 0, $6197 = 0, $6198 = 0, $6199 = 0, $62 = 0, $620 = 0, $6200 = 0, $6201 = 0, $6202 = 0, $6203 = 0, $6204 = 0, $6205 = 0, $6206 = 0, $6207 = 0;
var $6208 = 0, $6209 = 0, $621 = 0, $6210 = 0, $6211 = 0, $6212 = 0, $6213 = 0, $6214 = 0, $6215 = 0, $6216 = 0, $6217 = 0, $6218 = 0, $6219 = 0, $622 = 0, $6220 = 0, $6221 = 0, $6222 = 0, $6223 = 0, $6224 = 0, $6225 = 0;
var $6226 = 0, $6227 = 0, $6228 = 0, $6229 = 0, $623 = 0, $6230 = 0, $6231 = 0, $6232 = 0, $6233 = 0, $6234 = 0, $6235 = 0, $6236 = 0, $6237 = 0, $6238 = 0, $6239 = 0, $624 = 0, $6240 = 0, $6241 = 0, $6242 = 0, $6243 = 0;
var $6244 = 0, $6245 = 0, $6246 = 0, $6247 = 0, $6248 = 0, $6249 = 0, $625 = 0, $6250 = 0, $6251 = 0, $6252 = 0, $6253 = 0, $6254 = 0, $6255 = 0, $6256 = 0, $6257 = 0, $6258 = 0, $6259 = 0, $626 = 0, $6260 = 0, $6261 = 0;
var $6262 = 0, $6263 = 0, $6264 = 0, $6265 = 0, $6266 = 0, $6267 = 0, $6268 = 0, $6269 = 0, $627 = 0, $6270 = 0, $6271 = 0, $6272 = 0, $6273 = 0, $6274 = 0, $6275 = 0, $6276 = 0, $6277 = 0, $6278 = 0, $6279 = 0, $628 = 0;
var $6280 = 0, $6281 = 0, $6282 = 0, $6283 = 0, $6284 = 0, $6285 = 0, $6286 = 0, $6287 = 0, $6288 = 0, $6289 = 0, $629 = 0, $6290 = 0, $6291 = 0, $6292 = 0, $6293 = 0, $6294 = 0, $6295 = 0, $6296 = 0, $6297 = 0, $6298 = 0;
var $6299 = 0, $63 = 0, $630 = 0, $6300 = 0, $6301 = 0, $6302 = 0, $6303 = 0, $6304 = 0, $6305 = 0, $6306 = 0, $6307 = 0, $6308 = 0, $6309 = 0, $631 = 0, $6310 = 0, $6311 = 0, $6312 = 0, $6313 = 0, $6314 = 0, $632 = 0;
var $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0;
var $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0;
var $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0;
var $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0;
var $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0;
var $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0;
var $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0;
var $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0;
var $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0;
var $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0;
var $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0;
var $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0;
var $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0;
var $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0;
var $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0;
var $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0;
var $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0;
var $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0;
var $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0;
var $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0;
var $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $exitcond = 0, $exitcond1921 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 4288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4288|0);
$vararg_buffer = sp + 16|0;
$3 = sp + 24|0;
$4 = sp;
$5 = (($2) + -16)|0;
$6 = $5 | 16;
$7 = ($6|0)==(16);
if (!($7)) {
$$01913 = 44;
STACKTOP = sp;return ($$01913|0);
}
$8 = HEAP32[18118]|0;
$9 = ($8|0)==(0);
do {
if ($9) {
HEAP32[18118] = 1;
(_do_twofish_setkey($3,8800,16)|0);
___gcry_burn_stack(47);
(_twofish_encrypt($3,$4,8816)|0);
$10 = (_memcmp($4,8832,16)|0);
$11 = ($10|0)==(0);
if ($11) {
(_twofish_decrypt($3,$4,$4)|0);
$12 = (_memcmp($4,8816,16)|0);
$13 = ($12|0)==(0);
if ($13) {
(_do_twofish_setkey($3,8848,32)|0);
___gcry_burn_stack(47);
(_twofish_encrypt($3,$4,8880)|0);
$14 = (_memcmp($4,8896,16)|0);
$15 = ($14|0)==(0);
if ($15) {
(_twofish_decrypt($3,$4,$4)|0);
$16 = (_memcmp($4,8880,16)|0);
$17 = ($16|0)==(0);
if ($17) {
$18 = (__gcry_selftest_helper_ctr(63524,32,33,70,4,16,4256)|0);
$19 = ($18|0)==(0|0);
if ($19) {
$20 = (__gcry_selftest_helper_cbc(63524,32,33,68,5,16,4256)|0);
$21 = ($20|0)==(0|0);
if ($21) {
$22 = (__gcry_selftest_helper_cfb(63524,32,33,69,5,16,4256)|0);
HEAP32[18119] = $22;
$23 = ($22|0)==(0|0);
if ($23) {
break;
} else {
$$0$i1914 = $22;
}
} else {
$$0$i$ph = $20;
label = 9;
}
} else {
$$0$i$ph = $18;
label = 9;
}
} else {
$$0$i$ph = 63532;
label = 9;
}
} else {
$$0$i$ph = 63568;
label = 9;
}
} else {
$$0$i$ph = 63604;
label = 9;
}
} else {
$$0$i$ph = 63640;
label = 9;
}
if ((label|0) == 9) {
HEAP32[18119] = $$0$i$ph;
$$0$i1914 = $$0$i$ph;
}
HEAP32[$vararg_buffer>>2] = $$0$i1914;
__gcry_log_error(63676,$vararg_buffer);
label = 12;
} else {
label = 12;
}
} while(0);
if ((label|0) == 12) {
$$pr = HEAP32[18119]|0;
$24 = ($$pr|0)==(0|0);
if (!($24)) {
$$01913 = 50;
STACKTOP = sp;return ($$01913|0);
}
}
$25 = HEAP8[$1>>0]|0;
$26 = ($25<<24>>24)==(0);
if ($26) {
$$01883 = 0;$$01891 = 0;$$01899 = 0;
} else {
$27 = $25&255;
$28 = (($27) + -1)|0;
$29 = (8912 + ($28)|0);
$30 = HEAP8[$29>>0]|0;
$31 = $30&255;
$32 = (9168 + ($31)|0);
$33 = HEAP8[$32>>0]|0;
$34 = (($31) + 45)|0;
$35 = (9168 + ($34)|0);
$36 = HEAP8[$35>>0]|0;
$37 = (($31) + 1)|0;
$38 = (9168 + ($37)|0);
$39 = HEAP8[$38>>0]|0;
$$01883 = $39;$$01891 = $36;$$01899 = $33;
}
$40 = ((($1)) + 1|0);
$41 = HEAP8[$40>>0]|0;
$42 = ($41<<24>>24)==(0);
if ($42) {
$$11876 = $$01891;$$11884 = $$01883;$$11892 = $$01891;$$11900 = $$01899;
} else {
$43 = $41&255;
$44 = (($43) + -1)|0;
$45 = (8912 + ($44)|0);
$46 = HEAP8[$45>>0]|0;
$47 = $46&255;
$48 = (($47) + 45)|0;
$49 = (9168 + ($48)|0);
$50 = HEAP8[$49>>0]|0;
$51 = $50 ^ $$01899;
$52 = (($47) + 164)|0;
$53 = (9168 + ($52)|0);
$54 = HEAP8[$53>>0]|0;
$55 = $54 ^ $$01891;
$56 = (($47) + 68)|0;
$57 = (9168 + ($56)|0);
$58 = HEAP8[$57>>0]|0;
$59 = $58 ^ $$01883;
$60 = (($47) + 138)|0;
$61 = (9168 + ($60)|0);
$62 = HEAP8[$61>>0]|0;
$63 = $62 ^ $$01891;
$$11876 = $63;$$11884 = $59;$$11892 = $55;$$11900 = $51;
}
$64 = ((($1)) + 2|0);
$65 = HEAP8[$64>>0]|0;
$66 = ($65<<24>>24)==(0);
if ($66) {
$$21877 = $$11876;$$21885 = $$11884;$$21893 = $$11892;$$21901 = $$11900;
} else {
$67 = $65&255;
$68 = (($67) + -1)|0;
$69 = (8912 + ($68)|0);
$70 = HEAP8[$69>>0]|0;
$71 = $70&255;
$72 = (($71) + 138)|0;
$73 = (9168 + ($72)|0);
$74 = HEAP8[$73>>0]|0;
$75 = $74 ^ $$11900;
$76 = (($71) + 213)|0;
$77 = (9168 + ($76)|0);
$78 = HEAP8[$77>>0]|0;
$79 = $78 ^ $$11892;
$80 = (($71) + 191)|0;
$81 = (9168 + ($80)|0);
$82 = HEAP8[$81>>0]|0;
$83 = $82 ^ $$11884;
$84 = (($71) + 209)|0;
$85 = (9168 + ($84)|0);
$86 = HEAP8[$85>>0]|0;
$87 = $86 ^ $$11876;
$$21877 = $87;$$21885 = $83;$$21893 = $79;$$21901 = $75;
}
$88 = ((($1)) + 3|0);
$89 = HEAP8[$88>>0]|0;
$90 = ($89<<24>>24)==(0);
if ($90) {
$$31878 = $$21877;$$31886 = $$21885;$$31894 = $$21893;$$31902 = $$21901;
} else {
$91 = $89&255;
$92 = (($91) + -1)|0;
$93 = (8912 + ($92)|0);
$94 = HEAP8[$93>>0]|0;
$95 = $94&255;
$96 = (($95) + 209)|0;
$97 = (9168 + ($96)|0);
$98 = HEAP8[$97>>0]|0;
$99 = $98 ^ $$21901;
$100 = (($95) + 127)|0;
$101 = (9168 + ($100)|0);
$102 = HEAP8[$101>>0]|0;
$103 = $102 ^ $$21893;
$104 = (($95) + 61)|0;
$105 = (9168 + ($104)|0);
$106 = HEAP8[$105>>0]|0;
$107 = $106 ^ $$21885;
$108 = (($95) + 153)|0;
$109 = (9168 + ($108)|0);
$110 = HEAP8[$109>>0]|0;
$111 = $110 ^ $$21877;
$$31878 = $111;$$31886 = $107;$$31894 = $103;$$31902 = $99;
}
$112 = ((($1)) + 4|0);
$113 = HEAP8[$112>>0]|0;
$114 = ($113<<24>>24)==(0);
if ($114) {
$$41879 = $$31878;$$41887 = $$31886;$$41895 = $$31894;$$41903 = $$31902;
} else {
$115 = $113&255;
$116 = (($115) + -1)|0;
$117 = (8912 + ($116)|0);
$118 = HEAP8[$117>>0]|0;
$119 = $118&255;
$120 = (($119) + 153)|0;
$121 = (9168 + ($120)|0);
$122 = HEAP8[$121>>0]|0;
$123 = $122 ^ $$31902;
$124 = (($119) + 70)|0;
$125 = (9168 + ($124)|0);
$126 = HEAP8[$125>>0]|0;
$127 = $126 ^ $$31894;
$128 = (($119) + 102)|0;
$129 = (9168 + ($128)|0);
$130 = HEAP8[$129>>0]|0;
$131 = $130 ^ $$31886;
$132 = (($119) + 150)|0;
$133 = (9168 + ($132)|0);
$134 = HEAP8[$133>>0]|0;
$135 = $134 ^ $$31878;
$$41879 = $135;$$41887 = $131;$$41895 = $127;$$41903 = $123;
}
$136 = ((($1)) + 5|0);
$137 = HEAP8[$136>>0]|0;
$138 = ($137<<24>>24)==(0);
if ($138) {
$$51880 = $$41879;$$51888 = $$41887;$$51896 = $$41895;$$51904 = $$41903;
} else {
$139 = $137&255;
$140 = (($139) + -1)|0;
$141 = (8912 + ($140)|0);
$142 = HEAP8[$141>>0]|0;
$143 = $142&255;
$144 = (($143) + 150)|0;
$145 = (9168 + ($144)|0);
$146 = HEAP8[$145>>0]|0;
$147 = $146 ^ $$41903;
$148 = (($143) + 60)|0;
$149 = (9168 + ($148)|0);
$150 = HEAP8[$149>>0]|0;
$151 = $150 ^ $$41895;
$152 = (($143) + 91)|0;
$153 = (9168 + ($152)|0);
$154 = HEAP8[$153>>0]|0;
$155 = $154 ^ $$41887;
$156 = (($143) + 237)|0;
$157 = (9168 + ($156)|0);
$158 = HEAP8[$157>>0]|0;
$159 = $158 ^ $$41879;
$$51880 = $159;$$51888 = $155;$$51896 = $151;$$51904 = $147;
}
$160 = ((($1)) + 6|0);
$161 = HEAP8[$160>>0]|0;
$162 = ($161<<24>>24)==(0);
if ($162) {
$$61881 = $$51880;$$61889 = $$51888;$$61897 = $$51896;$$61905 = $$51904;
} else {
$163 = $161&255;
$164 = (($163) + -1)|0;
$165 = (8912 + ($164)|0);
$166 = HEAP8[$165>>0]|0;
$167 = $166&255;
$168 = (($167) + 237)|0;
$169 = (9168 + ($168)|0);
$170 = HEAP8[$169>>0]|0;
$171 = $170 ^ $$51904;
$172 = (($167) + 55)|0;
$173 = (9168 + ($172)|0);
$174 = HEAP8[$173>>0]|0;
$175 = $174 ^ $$51896;
$176 = (($167) + 79)|0;
$177 = (9168 + ($176)|0);
$178 = HEAP8[$177>>0]|0;
$179 = $178 ^ $$51888;
$180 = (($167) + 224)|0;
$181 = (9168 + ($180)|0);
$182 = HEAP8[$181>>0]|0;
$183 = $182 ^ $$51880;
$$61881 = $183;$$61889 = $179;$$61897 = $175;$$61905 = $171;
}
$184 = ((($1)) + 7|0);
$185 = HEAP8[$184>>0]|0;
$186 = ($185<<24>>24)==(0);
if ($186) {
$$71882 = $$61881;$$71890 = $$61889;$$71898 = $$61897;$$71906 = $$61905;
} else {
$187 = $185&255;
$188 = (($187) + -1)|0;
$189 = (8912 + ($188)|0);
$190 = HEAP8[$189>>0]|0;
$191 = $190&255;
$192 = (($191) + 224)|0;
$193 = (9168 + ($192)|0);
$194 = HEAP8[$193>>0]|0;
$195 = $194 ^ $$61905;
$196 = (($191) + 208)|0;
$197 = (9168 + ($196)|0);
$198 = HEAP8[$197>>0]|0;
$199 = $198 ^ $$61897;
$200 = (($191) + 140)|0;
$201 = (9168 + ($200)|0);
$202 = HEAP8[$201>>0]|0;
$203 = $202 ^ $$61889;
$204 = (($191) + 23)|0;
$205 = (9168 + ($204)|0);
$206 = HEAP8[$205>>0]|0;
$207 = $206 ^ $$61881;
$$71882 = $207;$$71890 = $203;$$71898 = $199;$$71906 = $195;
}
$208 = ((($1)) + 8|0);
$209 = HEAP8[$208>>0]|0;
$210 = ($209<<24>>24)==(0);
if ($210) {
$$01851 = 0;$$01859 = 0;$$01867 = 0;
} else {
$211 = $209&255;
$212 = (($211) + -1)|0;
$213 = (8912 + ($212)|0);
$214 = HEAP8[$213>>0]|0;
$215 = $214&255;
$216 = (9168 + ($215)|0);
$217 = HEAP8[$216>>0]|0;
$218 = (($215) + 45)|0;
$219 = (9168 + ($218)|0);
$220 = HEAP8[$219>>0]|0;
$221 = (($215) + 1)|0;
$222 = (9168 + ($221)|0);
$223 = HEAP8[$222>>0]|0;
$$01851 = $223;$$01859 = $220;$$01867 = $217;
}
$224 = ((($1)) + 9|0);
$225 = HEAP8[$224>>0]|0;
$226 = ($225<<24>>24)==(0);
if ($226) {
$$11844 = $$01859;$$11852 = $$01851;$$11860 = $$01859;$$11868 = $$01867;
} else {
$227 = $225&255;
$228 = (($227) + -1)|0;
$229 = (8912 + ($228)|0);
$230 = HEAP8[$229>>0]|0;
$231 = $230&255;
$232 = (($231) + 45)|0;
$233 = (9168 + ($232)|0);
$234 = HEAP8[$233>>0]|0;
$235 = $234 ^ $$01867;
$236 = (($231) + 164)|0;
$237 = (9168 + ($236)|0);
$238 = HEAP8[$237>>0]|0;
$239 = $238 ^ $$01859;
$240 = (($231) + 68)|0;
$241 = (9168 + ($240)|0);
$242 = HEAP8[$241>>0]|0;
$243 = $242 ^ $$01851;
$244 = (($231) + 138)|0;
$245 = (9168 + ($244)|0);
$246 = HEAP8[$245>>0]|0;
$247 = $246 ^ $$01859;
$$11844 = $247;$$11852 = $243;$$11860 = $239;$$11868 = $235;
}
$248 = ((($1)) + 10|0);
$249 = HEAP8[$248>>0]|0;
$250 = ($249<<24>>24)==(0);
if ($250) {
$$21845 = $$11844;$$21853 = $$11852;$$21861 = $$11860;$$21869 = $$11868;
} else {
$251 = $249&255;
$252 = (($251) + -1)|0;
$253 = (8912 + ($252)|0);
$254 = HEAP8[$253>>0]|0;
$255 = $254&255;
$256 = (($255) + 138)|0;
$257 = (9168 + ($256)|0);
$258 = HEAP8[$257>>0]|0;
$259 = $258 ^ $$11868;
$260 = (($255) + 213)|0;
$261 = (9168 + ($260)|0);
$262 = HEAP8[$261>>0]|0;
$263 = $262 ^ $$11860;
$264 = (($255) + 191)|0;
$265 = (9168 + ($264)|0);
$266 = HEAP8[$265>>0]|0;
$267 = $266 ^ $$11852;
$268 = (($255) + 209)|0;
$269 = (9168 + ($268)|0);
$270 = HEAP8[$269>>0]|0;
$271 = $270 ^ $$11844;
$$21845 = $271;$$21853 = $267;$$21861 = $263;$$21869 = $259;
}
$272 = ((($1)) + 11|0);
$273 = HEAP8[$272>>0]|0;
$274 = ($273<<24>>24)==(0);
if ($274) {
$$31846 = $$21845;$$31854 = $$21853;$$31862 = $$21861;$$31870 = $$21869;
} else {
$275 = $273&255;
$276 = (($275) + -1)|0;
$277 = (8912 + ($276)|0);
$278 = HEAP8[$277>>0]|0;
$279 = $278&255;
$280 = (($279) + 209)|0;
$281 = (9168 + ($280)|0);
$282 = HEAP8[$281>>0]|0;
$283 = $282 ^ $$21869;
$284 = (($279) + 127)|0;
$285 = (9168 + ($284)|0);
$286 = HEAP8[$285>>0]|0;
$287 = $286 ^ $$21861;
$288 = (($279) + 61)|0;
$289 = (9168 + ($288)|0);
$290 = HEAP8[$289>>0]|0;
$291 = $290 ^ $$21853;
$292 = (($279) + 153)|0;
$293 = (9168 + ($292)|0);
$294 = HEAP8[$293>>0]|0;
$295 = $294 ^ $$21845;
$$31846 = $295;$$31854 = $291;$$31862 = $287;$$31870 = $283;
}
$296 = ((($1)) + 12|0);
$297 = HEAP8[$296>>0]|0;
$298 = ($297<<24>>24)==(0);
if ($298) {
$$41847 = $$31846;$$41855 = $$31854;$$41863 = $$31862;$$41871 = $$31870;
} else {
$299 = $297&255;
$300 = (($299) + -1)|0;
$301 = (8912 + ($300)|0);
$302 = HEAP8[$301>>0]|0;
$303 = $302&255;
$304 = (($303) + 153)|0;
$305 = (9168 + ($304)|0);
$306 = HEAP8[$305>>0]|0;
$307 = $306 ^ $$31870;
$308 = (($303) + 70)|0;
$309 = (9168 + ($308)|0);
$310 = HEAP8[$309>>0]|0;
$311 = $310 ^ $$31862;
$312 = (($303) + 102)|0;
$313 = (9168 + ($312)|0);
$314 = HEAP8[$313>>0]|0;
$315 = $314 ^ $$31854;
$316 = (($303) + 150)|0;
$317 = (9168 + ($316)|0);
$318 = HEAP8[$317>>0]|0;
$319 = $318 ^ $$31846;
$$41847 = $319;$$41855 = $315;$$41863 = $311;$$41871 = $307;
}
$320 = ((($1)) + 13|0);
$321 = HEAP8[$320>>0]|0;
$322 = ($321<<24>>24)==(0);
if ($322) {
$$51848 = $$41847;$$51856 = $$41855;$$51864 = $$41863;$$51872 = $$41871;
} else {
$323 = $321&255;
$324 = (($323) + -1)|0;
$325 = (8912 + ($324)|0);
$326 = HEAP8[$325>>0]|0;
$327 = $326&255;
$328 = (($327) + 150)|0;
$329 = (9168 + ($328)|0);
$330 = HEAP8[$329>>0]|0;
$331 = $330 ^ $$41871;
$332 = (($327) + 60)|0;
$333 = (9168 + ($332)|0);
$334 = HEAP8[$333>>0]|0;
$335 = $334 ^ $$41863;
$336 = (($327) + 91)|0;
$337 = (9168 + ($336)|0);
$338 = HEAP8[$337>>0]|0;
$339 = $338 ^ $$41855;
$340 = (($327) + 237)|0;
$341 = (9168 + ($340)|0);
$342 = HEAP8[$341>>0]|0;
$343 = $342 ^ $$41847;
$$51848 = $343;$$51856 = $339;$$51864 = $335;$$51872 = $331;
}
$344 = ((($1)) + 14|0);
$345 = HEAP8[$344>>0]|0;
$346 = ($345<<24>>24)==(0);
if ($346) {
$$61849 = $$51848;$$61857 = $$51856;$$61865 = $$51864;$$61873 = $$51872;
} else {
$347 = $345&255;
$348 = (($347) + -1)|0;
$349 = (8912 + ($348)|0);
$350 = HEAP8[$349>>0]|0;
$351 = $350&255;
$352 = (($351) + 237)|0;
$353 = (9168 + ($352)|0);
$354 = HEAP8[$353>>0]|0;
$355 = $354 ^ $$51872;
$356 = (($351) + 55)|0;
$357 = (9168 + ($356)|0);
$358 = HEAP8[$357>>0]|0;
$359 = $358 ^ $$51864;
$360 = (($351) + 79)|0;
$361 = (9168 + ($360)|0);
$362 = HEAP8[$361>>0]|0;
$363 = $362 ^ $$51856;
$364 = (($351) + 224)|0;
$365 = (9168 + ($364)|0);
$366 = HEAP8[$365>>0]|0;
$367 = $366 ^ $$51848;
$$61849 = $367;$$61857 = $363;$$61865 = $359;$$61873 = $355;
}
$368 = ((($1)) + 15|0);
$369 = HEAP8[$368>>0]|0;
$370 = ($369<<24>>24)==(0);
if ($370) {
$$71850 = $$61849;$$71858 = $$61857;$$71866 = $$61865;$$71874 = $$61873;
} else {
$371 = $369&255;
$372 = (($371) + -1)|0;
$373 = (8912 + ($372)|0);
$374 = HEAP8[$373>>0]|0;
$375 = $374&255;
$376 = (($375) + 224)|0;
$377 = (9168 + ($376)|0);
$378 = HEAP8[$377>>0]|0;
$379 = $378 ^ $$61873;
$380 = (($375) + 208)|0;
$381 = (9168 + ($380)|0);
$382 = HEAP8[$381>>0]|0;
$383 = $382 ^ $$61865;
$384 = (($375) + 140)|0;
$385 = (9168 + ($384)|0);
$386 = HEAP8[$385>>0]|0;
$387 = $386 ^ $$61857;
$388 = (($375) + 23)|0;
$389 = (9168 + ($388)|0);
$390 = HEAP8[$389>>0]|0;
$391 = $390 ^ $$61849;
$$71850 = $391;$$71858 = $387;$$71866 = $383;$$71874 = $379;
}
$392 = ($2|0)==(32);
if (!($392)) {
$$119081920 = 1;$$119101919 = 0;$$119121918 = 0;
while(1) {
$4354 = (9664 + ($$119101919)|0);
$4355 = HEAP8[$4354>>0]|0;
$4356 = $4355 ^ $$71906;
$4357 = $4356&255;
$4358 = (10432 + ($4357)|0);
$4359 = HEAP8[$4358>>0]|0;
$4360 = $4359 ^ $$71874;
$4361 = $4360&255;
$4362 = (10688 + ($4361<<2)|0);
$4363 = HEAP32[$4362>>2]|0;
$4364 = (($0) + ($$119121918<<2)|0);
HEAP32[$4364>>2] = $4363;
$4365 = (9664 + ($$119081920)|0);
$4366 = HEAP8[$4365>>0]|0;
$4367 = $4366 ^ $$71898;
$4368 = $4367&255;
$4369 = (10432 + ($4368)|0);
$4370 = HEAP8[$4369>>0]|0;
$4371 = $4370 ^ $$71866;
$4372 = $4371&255;
$4373 = (11712 + ($4372<<2)|0);
$4374 = HEAP32[$4373>>2]|0;
$4375 = (((($0)) + 1024|0) + ($$119121918<<2)|0);
HEAP32[$4375>>2] = $4374;
$4376 = $4355 ^ $$71890;
$4377 = $4376&255;
$4378 = (10176 + ($4377)|0);
$4379 = HEAP8[$4378>>0]|0;
$4380 = $4379 ^ $$71858;
$4381 = $4380&255;
$4382 = (12736 + ($4381<<2)|0);
$4383 = HEAP32[$4382>>2]|0;
$4384 = (((($0)) + 2048|0) + ($$119121918<<2)|0);
HEAP32[$4384>>2] = $4383;
$4385 = $4366 ^ $$71882;
$4386 = $4385&255;
$4387 = (10176 + ($4386)|0);
$4388 = HEAP8[$4387>>0]|0;
$4389 = $4388 ^ $$71850;
$4390 = $4389&255;
$4391 = (13760 + ($4390<<2)|0);
$4392 = HEAP32[$4391>>2]|0;
$4393 = (((($0)) + 3072|0) + ($$119121918<<2)|0);
HEAP32[$4393>>2] = $4392;
$4394 = (($$119121918) + 1)|0;
$4395 = (($$119101919) + 2)|0;
$4396 = (($$119081920) + 2)|0;
$exitcond1921 = ($4394|0)==(256);
if ($exitcond1921) {
break;
} else {
$$119081920 = $4396;$$119101919 = $4395;$$119121918 = $4394;
}
}
$4397 = HEAP8[$208>>0]|0;
$4398 = $4397 ^ -87;
$4399 = $4398&255;
$4400 = (10432 + ($4399)|0);
$4401 = HEAP8[$4400>>0]|0;
$4402 = HEAP8[$1>>0]|0;
$4403 = $4402 ^ $4401;
$4404 = $4403&255;
$4405 = (10688 + ($4404<<2)|0);
$4406 = HEAP32[$4405>>2]|0;
$4407 = HEAP8[$224>>0]|0;
$4408 = $4407 ^ 117;
$4409 = $4408&255;
$4410 = (10432 + ($4409)|0);
$4411 = HEAP8[$4410>>0]|0;
$4412 = HEAP8[$40>>0]|0;
$4413 = $4412 ^ $4411;
$4414 = $4413&255;
$4415 = (11712 + ($4414<<2)|0);
$4416 = HEAP32[$4415>>2]|0;
$4417 = $4416 ^ $4406;
$4418 = HEAP8[$248>>0]|0;
$4419 = $4418 ^ -87;
$4420 = $4419&255;
$4421 = (10176 + ($4420)|0);
$4422 = HEAP8[$4421>>0]|0;
$4423 = HEAP8[$64>>0]|0;
$4424 = $4423 ^ $4422;
$4425 = $4424&255;
$4426 = (12736 + ($4425<<2)|0);
$4427 = HEAP32[$4426>>2]|0;
$4428 = $4417 ^ $4427;
$4429 = HEAP8[$272>>0]|0;
$4430 = $4429 ^ 117;
$4431 = $4430&255;
$4432 = (10176 + ($4431)|0);
$4433 = HEAP8[$4432>>0]|0;
$4434 = HEAP8[$88>>0]|0;
$4435 = $4434 ^ $4433;
$4436 = $4435&255;
$4437 = (13760 + ($4436<<2)|0);
$4438 = HEAP32[$4437>>2]|0;
$4439 = $4428 ^ $4438;
$4440 = HEAP8[$296>>0]|0;
$4441 = $4440 ^ 103;
$4442 = $4441&255;
$4443 = (10432 + ($4442)|0);
$4444 = HEAP8[$4443>>0]|0;
$4445 = HEAP8[$112>>0]|0;
$4446 = $4445 ^ $4444;
$4447 = $4446&255;
$4448 = (10688 + ($4447<<2)|0);
$4449 = HEAP32[$4448>>2]|0;
$4450 = HEAP8[$320>>0]|0;
$4451 = $4450 ^ -13;
$4452 = $4451&255;
$4453 = (10432 + ($4452)|0);
$4454 = HEAP8[$4453>>0]|0;
$4455 = HEAP8[$136>>0]|0;
$4456 = $4455 ^ $4454;
$4457 = $4456&255;
$4458 = (11712 + ($4457<<2)|0);
$4459 = HEAP32[$4458>>2]|0;
$4460 = $4459 ^ $4449;
$4461 = HEAP8[$344>>0]|0;
$4462 = $4461 ^ 103;
$4463 = $4462&255;
$4464 = (10176 + ($4463)|0);
$4465 = HEAP8[$4464>>0]|0;
$4466 = HEAP8[$160>>0]|0;
$4467 = $4466 ^ $4465;
$4468 = $4467&255;
$4469 = (12736 + ($4468<<2)|0);
$4470 = HEAP32[$4469>>2]|0;
$4471 = $4460 ^ $4470;
$4472 = HEAP8[$368>>0]|0;
$4473 = $4472 ^ -13;
$4474 = $4473&255;
$4475 = (10176 + ($4474)|0);
$4476 = HEAP8[$4475>>0]|0;
$4477 = HEAP8[$184>>0]|0;
$4478 = $4477 ^ $4476;
$4479 = $4478&255;
$4480 = (13760 + ($4479<<2)|0);
$4481 = HEAP32[$4480>>2]|0;
$4482 = $4471 ^ $4481;
$4483 = $4482 << 8;
$4484 = $4482 >>> 24;
$4485 = $4483 | $4484;
$4486 = (($4485) + ($4439))|0;
$4487 = (($4486) + ($4485))|0;
$4488 = ((($0)) + 4096|0);
HEAP32[$4488>>2] = $4486;
$4489 = $4487 << 9;
$4490 = $4487 >>> 23;
$4491 = $4489 | $4490;
$4492 = ((($0)) + 4100|0);
HEAP32[$4492>>2] = $4491;
$4493 = HEAP8[$208>>0]|0;
$4494 = $4493 ^ -77;
$4495 = $4494&255;
$4496 = (10432 + ($4495)|0);
$4497 = HEAP8[$4496>>0]|0;
$4498 = HEAP8[$1>>0]|0;
$4499 = $4498 ^ $4497;
$4500 = $4499&255;
$4501 = (10688 + ($4500<<2)|0);
$4502 = HEAP32[$4501>>2]|0;
$4503 = HEAP8[$224>>0]|0;
$4504 = $4503 ^ -58;
$4505 = $4504&255;
$4506 = (10432 + ($4505)|0);
$4507 = HEAP8[$4506>>0]|0;
$4508 = HEAP8[$40>>0]|0;
$4509 = $4508 ^ $4507;
$4510 = $4509&255;
$4511 = (11712 + ($4510<<2)|0);
$4512 = HEAP32[$4511>>2]|0;
$4513 = $4512 ^ $4502;
$4514 = HEAP8[$248>>0]|0;
$4515 = $4514 ^ -77;
$4516 = $4515&255;
$4517 = (10176 + ($4516)|0);
$4518 = HEAP8[$4517>>0]|0;
$4519 = HEAP8[$64>>0]|0;
$4520 = $4519 ^ $4518;
$4521 = $4520&255;
$4522 = (12736 + ($4521<<2)|0);
$4523 = HEAP32[$4522>>2]|0;
$4524 = $4513 ^ $4523;
$4525 = HEAP8[$272>>0]|0;
$4526 = $4525 ^ -58;
$4527 = $4526&255;
$4528 = (10176 + ($4527)|0);
$4529 = HEAP8[$4528>>0]|0;
$4530 = HEAP8[$88>>0]|0;
$4531 = $4530 ^ $4529;
$4532 = $4531&255;
$4533 = (13760 + ($4532<<2)|0);
$4534 = HEAP32[$4533>>2]|0;
$4535 = $4524 ^ $4534;
$4536 = HEAP8[$296>>0]|0;
$4537 = $4536 ^ -24;
$4538 = $4537&255;
$4539 = (10432 + ($4538)|0);
$4540 = HEAP8[$4539>>0]|0;
$4541 = HEAP8[$112>>0]|0;
$4542 = $4541 ^ $4540;
$4543 = $4542&255;
$4544 = (10688 + ($4543<<2)|0);
$4545 = HEAP32[$4544>>2]|0;
$4546 = HEAP8[$320>>0]|0;
$4547 = $4546 ^ -12;
$4548 = $4547&255;
$4549 = (10432 + ($4548)|0);
$4550 = HEAP8[$4549>>0]|0;
$4551 = HEAP8[$136>>0]|0;
$4552 = $4551 ^ $4550;
$4553 = $4552&255;
$4554 = (11712 + ($4553<<2)|0);
$4555 = HEAP32[$4554>>2]|0;
$4556 = $4555 ^ $4545;
$4557 = HEAP8[$344>>0]|0;
$4558 = $4557 ^ -24;
$4559 = $4558&255;
$4560 = (10176 + ($4559)|0);
$4561 = HEAP8[$4560>>0]|0;
$4562 = HEAP8[$160>>0]|0;
$4563 = $4562 ^ $4561;
$4564 = $4563&255;
$4565 = (12736 + ($4564<<2)|0);
$4566 = HEAP32[$4565>>2]|0;
$4567 = $4556 ^ $4566;
$4568 = HEAP8[$368>>0]|0;
$4569 = $4568 ^ -12;
$4570 = $4569&255;
$4571 = (10176 + ($4570)|0);
$4572 = HEAP8[$4571>>0]|0;
$4573 = HEAP8[$184>>0]|0;
$4574 = $4573 ^ $4572;
$4575 = $4574&255;
$4576 = (13760 + ($4575<<2)|0);
$4577 = HEAP32[$4576>>2]|0;
$4578 = $4567 ^ $4577;
$4579 = $4578 << 8;
$4580 = $4578 >>> 24;
$4581 = $4579 | $4580;
$4582 = (($4581) + ($4535))|0;
$4583 = (($4582) + ($4581))|0;
$4584 = ((($0)) + 4104|0);
HEAP32[$4584>>2] = $4582;
$4585 = $4583 << 9;
$4586 = $4583 >>> 23;
$4587 = $4585 | $4586;
$4588 = ((($0)) + 4108|0);
HEAP32[$4588>>2] = $4587;
$4589 = HEAP8[$208>>0]|0;
$4590 = $4589 ^ 4;
$4591 = $4590&255;
$4592 = (10432 + ($4591)|0);
$4593 = HEAP8[$4592>>0]|0;
$4594 = HEAP8[$1>>0]|0;
$4595 = $4594 ^ $4593;
$4596 = $4595&255;
$4597 = (10688 + ($4596<<2)|0);
$4598 = HEAP32[$4597>>2]|0;
$4599 = HEAP8[$224>>0]|0;
$4600 = $4599 ^ -37;
$4601 = $4600&255;
$4602 = (10432 + ($4601)|0);
$4603 = HEAP8[$4602>>0]|0;
$4604 = HEAP8[$40>>0]|0;
$4605 = $4604 ^ $4603;
$4606 = $4605&255;
$4607 = (11712 + ($4606<<2)|0);
$4608 = HEAP32[$4607>>2]|0;
$4609 = $4608 ^ $4598;
$4610 = HEAP8[$248>>0]|0;
$4611 = $4610 ^ 4;
$4612 = $4611&255;
$4613 = (10176 + ($4612)|0);
$4614 = HEAP8[$4613>>0]|0;
$4615 = HEAP8[$64>>0]|0;
$4616 = $4615 ^ $4614;
$4617 = $4616&255;
$4618 = (12736 + ($4617<<2)|0);
$4619 = HEAP32[$4618>>2]|0;
$4620 = $4609 ^ $4619;
$4621 = HEAP8[$272>>0]|0;
$4622 = $4621 ^ -37;
$4623 = $4622&255;
$4624 = (10176 + ($4623)|0);
$4625 = HEAP8[$4624>>0]|0;
$4626 = HEAP8[$88>>0]|0;
$4627 = $4626 ^ $4625;
$4628 = $4627&255;
$4629 = (13760 + ($4628<<2)|0);
$4630 = HEAP32[$4629>>2]|0;
$4631 = $4620 ^ $4630;
$4632 = HEAP8[$296>>0]|0;
$4633 = $4632 ^ -3;
$4634 = $4633&255;
$4635 = (10432 + ($4634)|0);
$4636 = HEAP8[$4635>>0]|0;
$4637 = HEAP8[$112>>0]|0;
$4638 = $4637 ^ $4636;
$4639 = $4638&255;
$4640 = (10688 + ($4639<<2)|0);
$4641 = HEAP32[$4640>>2]|0;
$4642 = HEAP8[$320>>0]|0;
$4643 = $4642 ^ 123;
$4644 = $4643&255;
$4645 = (10432 + ($4644)|0);
$4646 = HEAP8[$4645>>0]|0;
$4647 = HEAP8[$136>>0]|0;
$4648 = $4647 ^ $4646;
$4649 = $4648&255;
$4650 = (11712 + ($4649<<2)|0);
$4651 = HEAP32[$4650>>2]|0;
$4652 = $4651 ^ $4641;
$4653 = HEAP8[$344>>0]|0;
$4654 = $4653 ^ -3;
$4655 = $4654&255;
$4656 = (10176 + ($4655)|0);
$4657 = HEAP8[$4656>>0]|0;
$4658 = HEAP8[$160>>0]|0;
$4659 = $4658 ^ $4657;
$4660 = $4659&255;
$4661 = (12736 + ($4660<<2)|0);
$4662 = HEAP32[$4661>>2]|0;
$4663 = $4652 ^ $4662;
$4664 = HEAP8[$368>>0]|0;
$4665 = $4664 ^ 123;
$4666 = $4665&255;
$4667 = (10176 + ($4666)|0);
$4668 = HEAP8[$4667>>0]|0;
$4669 = HEAP8[$184>>0]|0;
$4670 = $4669 ^ $4668;
$4671 = $4670&255;
$4672 = (13760 + ($4671<<2)|0);
$4673 = HEAP32[$4672>>2]|0;
$4674 = $4663 ^ $4673;
$4675 = $4674 << 8;
$4676 = $4674 >>> 24;
$4677 = $4675 | $4676;
$4678 = (($4677) + ($4631))|0;
$4679 = (($4678) + ($4677))|0;
$4680 = ((($0)) + 4112|0);
HEAP32[$4680>>2] = $4678;
$4681 = $4679 << 9;
$4682 = $4679 >>> 23;
$4683 = $4681 | $4682;
$4684 = ((($0)) + 4116|0);
HEAP32[$4684>>2] = $4683;
$4685 = HEAP8[$208>>0]|0;
$4686 = $4685 ^ -93;
$4687 = $4686&255;
$4688 = (10432 + ($4687)|0);
$4689 = HEAP8[$4688>>0]|0;
$4690 = HEAP8[$1>>0]|0;
$4691 = $4690 ^ $4689;
$4692 = $4691&255;
$4693 = (10688 + ($4692<<2)|0);
$4694 = HEAP32[$4693>>2]|0;
$4695 = HEAP8[$224>>0]|0;
$4696 = $4695 ^ -5;
$4697 = $4696&255;
$4698 = (10432 + ($4697)|0);
$4699 = HEAP8[$4698>>0]|0;
$4700 = HEAP8[$40>>0]|0;
$4701 = $4700 ^ $4699;
$4702 = $4701&255;
$4703 = (11712 + ($4702<<2)|0);
$4704 = HEAP32[$4703>>2]|0;
$4705 = $4704 ^ $4694;
$4706 = HEAP8[$248>>0]|0;
$4707 = $4706 ^ -93;
$4708 = $4707&255;
$4709 = (10176 + ($4708)|0);
$4710 = HEAP8[$4709>>0]|0;
$4711 = HEAP8[$64>>0]|0;
$4712 = $4711 ^ $4710;
$4713 = $4712&255;
$4714 = (12736 + ($4713<<2)|0);
$4715 = HEAP32[$4714>>2]|0;
$4716 = $4705 ^ $4715;
$4717 = HEAP8[$272>>0]|0;
$4718 = $4717 ^ -5;
$4719 = $4718&255;
$4720 = (10176 + ($4719)|0);
$4721 = HEAP8[$4720>>0]|0;
$4722 = HEAP8[$88>>0]|0;
$4723 = $4722 ^ $4721;
$4724 = $4723&255;
$4725 = (13760 + ($4724<<2)|0);
$4726 = HEAP32[$4725>>2]|0;
$4727 = $4716 ^ $4726;
$4728 = HEAP8[$296>>0]|0;
$4729 = $4728 ^ 118;
$4730 = $4729&255;
$4731 = (10432 + ($4730)|0);
$4732 = HEAP8[$4731>>0]|0;
$4733 = HEAP8[$112>>0]|0;
$4734 = $4733 ^ $4732;
$4735 = $4734&255;
$4736 = (10688 + ($4735<<2)|0);
$4737 = HEAP32[$4736>>2]|0;
$4738 = HEAP8[$320>>0]|0;
$4739 = $4738 ^ -56;
$4740 = $4739&255;
$4741 = (10432 + ($4740)|0);
$4742 = HEAP8[$4741>>0]|0;
$4743 = HEAP8[$136>>0]|0;
$4744 = $4743 ^ $4742;
$4745 = $4744&255;
$4746 = (11712 + ($4745<<2)|0);
$4747 = HEAP32[$4746>>2]|0;
$4748 = $4747 ^ $4737;
$4749 = HEAP8[$344>>0]|0;
$4750 = $4749 ^ 118;
$4751 = $4750&255;
$4752 = (10176 + ($4751)|0);
$4753 = HEAP8[$4752>>0]|0;
$4754 = HEAP8[$160>>0]|0;
$4755 = $4754 ^ $4753;
$4756 = $4755&255;
$4757 = (12736 + ($4756<<2)|0);
$4758 = HEAP32[$4757>>2]|0;
$4759 = $4748 ^ $4758;
$4760 = HEAP8[$368>>0]|0;
$4761 = $4760 ^ -56;
$4762 = $4761&255;
$4763 = (10176 + ($4762)|0);
$4764 = HEAP8[$4763>>0]|0;
$4765 = HEAP8[$184>>0]|0;
$4766 = $4765 ^ $4764;
$4767 = $4766&255;
$4768 = (13760 + ($4767<<2)|0);
$4769 = HEAP32[$4768>>2]|0;
$4770 = $4759 ^ $4769;
$4771 = $4770 << 8;
$4772 = $4770 >>> 24;
$4773 = $4771 | $4772;
$4774 = (($4773) + ($4727))|0;
$4775 = (($4774) + ($4773))|0;
$4776 = ((($0)) + 4120|0);
HEAP32[$4776>>2] = $4774;
$4777 = $4775 << 9;
$4778 = $4775 >>> 23;
$4779 = $4777 | $4778;
$4780 = ((($0)) + 4124|0);
HEAP32[$4780>>2] = $4779;
$4781 = HEAP8[$208>>0]|0;
$4782 = $4781 ^ -102;
$4783 = $4782&255;
$4784 = (10432 + ($4783)|0);
$4785 = HEAP8[$4784>>0]|0;
$4786 = HEAP8[$1>>0]|0;
$4787 = $4786 ^ $4785;
$4788 = $4787&255;
$4789 = (10688 + ($4788<<2)|0);
$4790 = HEAP32[$4789>>2]|0;
$4791 = HEAP8[$224>>0]|0;
$4792 = $4791 ^ 74;
$4793 = $4792&255;
$4794 = (10432 + ($4793)|0);
$4795 = HEAP8[$4794>>0]|0;
$4796 = HEAP8[$40>>0]|0;
$4797 = $4796 ^ $4795;
$4798 = $4797&255;
$4799 = (11712 + ($4798<<2)|0);
$4800 = HEAP32[$4799>>2]|0;
$4801 = $4800 ^ $4790;
$4802 = HEAP8[$248>>0]|0;
$4803 = $4802 ^ -102;
$4804 = $4803&255;
$4805 = (10176 + ($4804)|0);
$4806 = HEAP8[$4805>>0]|0;
$4807 = HEAP8[$64>>0]|0;
$4808 = $4807 ^ $4806;
$4809 = $4808&255;
$4810 = (12736 + ($4809<<2)|0);
$4811 = HEAP32[$4810>>2]|0;
$4812 = $4801 ^ $4811;
$4813 = HEAP8[$272>>0]|0;
$4814 = $4813 ^ 74;
$4815 = $4814&255;
$4816 = (10176 + ($4815)|0);
$4817 = HEAP8[$4816>>0]|0;
$4818 = HEAP8[$88>>0]|0;
$4819 = $4818 ^ $4817;
$4820 = $4819&255;
$4821 = (13760 + ($4820<<2)|0);
$4822 = HEAP32[$4821>>2]|0;
$4823 = $4812 ^ $4822;
$4824 = HEAP8[$296>>0]|0;
$4825 = $4824 ^ -110;
$4826 = $4825&255;
$4827 = (10432 + ($4826)|0);
$4828 = HEAP8[$4827>>0]|0;
$4829 = HEAP8[$112>>0]|0;
$4830 = $4829 ^ $4828;
$4831 = $4830&255;
$4832 = (10688 + ($4831<<2)|0);
$4833 = HEAP32[$4832>>2]|0;
$4834 = HEAP8[$320>>0]|0;
$4835 = $4834 ^ -45;
$4836 = $4835&255;
$4837 = (10432 + ($4836)|0);
$4838 = HEAP8[$4837>>0]|0;
$4839 = HEAP8[$136>>0]|0;
$4840 = $4839 ^ $4838;
$4841 = $4840&255;
$4842 = (11712 + ($4841<<2)|0);
$4843 = HEAP32[$4842>>2]|0;
$4844 = $4843 ^ $4833;
$4845 = HEAP8[$344>>0]|0;
$4846 = $4845 ^ -110;
$4847 = $4846&255;
$4848 = (10176 + ($4847)|0);
$4849 = HEAP8[$4848>>0]|0;
$4850 = HEAP8[$160>>0]|0;
$4851 = $4850 ^ $4849;
$4852 = $4851&255;
$4853 = (12736 + ($4852<<2)|0);
$4854 = HEAP32[$4853>>2]|0;
$4855 = $4844 ^ $4854;
$4856 = HEAP8[$368>>0]|0;
$4857 = $4856 ^ -45;
$4858 = $4857&255;
$4859 = (10176 + ($4858)|0);
$4860 = HEAP8[$4859>>0]|0;
$4861 = HEAP8[$184>>0]|0;
$4862 = $4861 ^ $4860;
$4863 = $4862&255;
$4864 = (13760 + ($4863<<2)|0);
$4865 = HEAP32[$4864>>2]|0;
$4866 = $4855 ^ $4865;
$4867 = $4866 << 8;
$4868 = $4866 >>> 24;
$4869 = $4867 | $4868;
$4870 = (($4869) + ($4823))|0;
$4871 = (($4870) + ($4869))|0;
$4872 = ((($0)) + 4128|0);
HEAP32[$4872>>2] = $4870;
$4873 = $4871 << 9;
$4874 = $4871 >>> 23;
$4875 = $4873 | $4874;
$4876 = ((($0)) + 4132|0);
HEAP32[$4876>>2] = $4875;
$4877 = HEAP8[$208>>0]|0;
$4878 = $4877 ^ -128;
$4879 = $4878&255;
$4880 = (10432 + ($4879)|0);
$4881 = HEAP8[$4880>>0]|0;
$4882 = HEAP8[$1>>0]|0;
$4883 = $4882 ^ $4881;
$4884 = $4883&255;
$4885 = (10688 + ($4884<<2)|0);
$4886 = HEAP32[$4885>>2]|0;
$4887 = HEAP8[$224>>0]|0;
$4888 = $4887 ^ -26;
$4889 = $4888&255;
$4890 = (10432 + ($4889)|0);
$4891 = HEAP8[$4890>>0]|0;
$4892 = HEAP8[$40>>0]|0;
$4893 = $4892 ^ $4891;
$4894 = $4893&255;
$4895 = (11712 + ($4894<<2)|0);
$4896 = HEAP32[$4895>>2]|0;
$4897 = $4896 ^ $4886;
$4898 = HEAP8[$248>>0]|0;
$4899 = $4898 ^ -128;
$4900 = $4899&255;
$4901 = (10176 + ($4900)|0);
$4902 = HEAP8[$4901>>0]|0;
$4903 = HEAP8[$64>>0]|0;
$4904 = $4903 ^ $4902;
$4905 = $4904&255;
$4906 = (12736 + ($4905<<2)|0);
$4907 = HEAP32[$4906>>2]|0;
$4908 = $4897 ^ $4907;
$4909 = HEAP8[$272>>0]|0;
$4910 = $4909 ^ -26;
$4911 = $4910&255;
$4912 = (10176 + ($4911)|0);
$4913 = HEAP8[$4912>>0]|0;
$4914 = HEAP8[$88>>0]|0;
$4915 = $4914 ^ $4913;
$4916 = $4915&255;
$4917 = (13760 + ($4916<<2)|0);
$4918 = HEAP32[$4917>>2]|0;
$4919 = $4908 ^ $4918;
$4920 = HEAP8[$296>>0]|0;
$4921 = $4920 ^ 120;
$4922 = $4921&255;
$4923 = (10432 + ($4922)|0);
$4924 = HEAP8[$4923>>0]|0;
$4925 = HEAP8[$112>>0]|0;
$4926 = $4925 ^ $4924;
$4927 = $4926&255;
$4928 = (10688 + ($4927<<2)|0);
$4929 = HEAP32[$4928>>2]|0;
$4930 = HEAP8[$320>>0]|0;
$4931 = $4930 ^ 107;
$4932 = $4931&255;
$4933 = (10432 + ($4932)|0);
$4934 = HEAP8[$4933>>0]|0;
$4935 = HEAP8[$136>>0]|0;
$4936 = $4935 ^ $4934;
$4937 = $4936&255;
$4938 = (11712 + ($4937<<2)|0);
$4939 = HEAP32[$4938>>2]|0;
$4940 = $4939 ^ $4929;
$4941 = HEAP8[$344>>0]|0;
$4942 = $4941 ^ 120;
$4943 = $4942&255;
$4944 = (10176 + ($4943)|0);
$4945 = HEAP8[$4944>>0]|0;
$4946 = HEAP8[$160>>0]|0;
$4947 = $4946 ^ $4945;
$4948 = $4947&255;
$4949 = (12736 + ($4948<<2)|0);
$4950 = HEAP32[$4949>>2]|0;
$4951 = $4940 ^ $4950;
$4952 = HEAP8[$368>>0]|0;
$4953 = $4952 ^ 107;
$4954 = $4953&255;
$4955 = (10176 + ($4954)|0);
$4956 = HEAP8[$4955>>0]|0;
$4957 = HEAP8[$184>>0]|0;
$4958 = $4957 ^ $4956;
$4959 = $4958&255;
$4960 = (13760 + ($4959<<2)|0);
$4961 = HEAP32[$4960>>2]|0;
$4962 = $4951 ^ $4961;
$4963 = $4962 << 8;
$4964 = $4962 >>> 24;
$4965 = $4963 | $4964;
$4966 = (($4965) + ($4919))|0;
$4967 = (($4966) + ($4965))|0;
$4968 = ((($0)) + 4136|0);
HEAP32[$4968>>2] = $4966;
$4969 = $4967 << 9;
$4970 = $4967 >>> 23;
$4971 = $4969 | $4970;
$4972 = ((($0)) + 4140|0);
HEAP32[$4972>>2] = $4971;
$4973 = HEAP8[$208>>0]|0;
$4974 = $4973 ^ -28;
$4975 = $4974&255;
$4976 = (10432 + ($4975)|0);
$4977 = HEAP8[$4976>>0]|0;
$4978 = HEAP8[$1>>0]|0;
$4979 = $4978 ^ $4977;
$4980 = $4979&255;
$4981 = (10688 + ($4980<<2)|0);
$4982 = HEAP32[$4981>>2]|0;
$4983 = HEAP8[$224>>0]|0;
$4984 = $4983 ^ 69;
$4985 = $4984&255;
$4986 = (10432 + ($4985)|0);
$4987 = HEAP8[$4986>>0]|0;
$4988 = HEAP8[$40>>0]|0;
$4989 = $4988 ^ $4987;
$4990 = $4989&255;
$4991 = (11712 + ($4990<<2)|0);
$4992 = HEAP32[$4991>>2]|0;
$4993 = $4992 ^ $4982;
$4994 = HEAP8[$248>>0]|0;
$4995 = $4994 ^ -28;
$4996 = $4995&255;
$4997 = (10176 + ($4996)|0);
$4998 = HEAP8[$4997>>0]|0;
$4999 = HEAP8[$64>>0]|0;
$5000 = $4999 ^ $4998;
$5001 = $5000&255;
$5002 = (12736 + ($5001<<2)|0);
$5003 = HEAP32[$5002>>2]|0;
$5004 = $4993 ^ $5003;
$5005 = HEAP8[$272>>0]|0;
$5006 = $5005 ^ 69;
$5007 = $5006&255;
$5008 = (10176 + ($5007)|0);
$5009 = HEAP8[$5008>>0]|0;
$5010 = HEAP8[$88>>0]|0;
$5011 = $5010 ^ $5009;
$5012 = $5011&255;
$5013 = (13760 + ($5012<<2)|0);
$5014 = HEAP32[$5013>>2]|0;
$5015 = $5004 ^ $5014;
$5016 = HEAP8[$296>>0]|0;
$5017 = $5016 ^ -35;
$5018 = $5017&255;
$5019 = (10432 + ($5018)|0);
$5020 = HEAP8[$5019>>0]|0;
$5021 = HEAP8[$112>>0]|0;
$5022 = $5021 ^ $5020;
$5023 = $5022&255;
$5024 = (10688 + ($5023<<2)|0);
$5025 = HEAP32[$5024>>2]|0;
$5026 = HEAP8[$320>>0]|0;
$5027 = $5026 ^ 125;
$5028 = $5027&255;
$5029 = (10432 + ($5028)|0);
$5030 = HEAP8[$5029>>0]|0;
$5031 = HEAP8[$136>>0]|0;
$5032 = $5031 ^ $5030;
$5033 = $5032&255;
$5034 = (11712 + ($5033<<2)|0);
$5035 = HEAP32[$5034>>2]|0;
$5036 = $5035 ^ $5025;
$5037 = HEAP8[$344>>0]|0;
$5038 = $5037 ^ -35;
$5039 = $5038&255;
$5040 = (10176 + ($5039)|0);
$5041 = HEAP8[$5040>>0]|0;
$5042 = HEAP8[$160>>0]|0;
$5043 = $5042 ^ $5041;
$5044 = $5043&255;
$5045 = (12736 + ($5044<<2)|0);
$5046 = HEAP32[$5045>>2]|0;
$5047 = $5036 ^ $5046;
$5048 = HEAP8[$368>>0]|0;
$5049 = $5048 ^ 125;
$5050 = $5049&255;
$5051 = (10176 + ($5050)|0);
$5052 = HEAP8[$5051>>0]|0;
$5053 = HEAP8[$184>>0]|0;
$5054 = $5053 ^ $5052;
$5055 = $5054&255;
$5056 = (13760 + ($5055<<2)|0);
$5057 = HEAP32[$5056>>2]|0;
$5058 = $5047 ^ $5057;
$5059 = $5058 << 8;
$5060 = $5058 >>> 24;
$5061 = $5059 | $5060;
$5062 = (($5061) + ($5015))|0;
$5063 = (($5062) + ($5061))|0;
$5064 = ((($0)) + 4144|0);
HEAP32[$5064>>2] = $5062;
$5065 = $5063 << 9;
$5066 = $5063 >>> 23;
$5067 = $5065 | $5066;
$5068 = ((($0)) + 4148|0);
HEAP32[$5068>>2] = $5067;
$5069 = HEAP8[$208>>0]|0;
$5070 = $5069 ^ -47;
$5071 = $5070&255;
$5072 = (10432 + ($5071)|0);
$5073 = HEAP8[$5072>>0]|0;
$5074 = HEAP8[$1>>0]|0;
$5075 = $5074 ^ $5073;
$5076 = $5075&255;
$5077 = (10688 + ($5076<<2)|0);
$5078 = HEAP32[$5077>>2]|0;
$5079 = HEAP8[$224>>0]|0;
$5080 = $5079 ^ -24;
$5081 = $5080&255;
$5082 = (10432 + ($5081)|0);
$5083 = HEAP8[$5082>>0]|0;
$5084 = HEAP8[$40>>0]|0;
$5085 = $5084 ^ $5083;
$5086 = $5085&255;
$5087 = (11712 + ($5086<<2)|0);
$5088 = HEAP32[$5087>>2]|0;
$5089 = $5088 ^ $5078;
$5090 = HEAP8[$248>>0]|0;
$5091 = $5090 ^ -47;
$5092 = $5091&255;
$5093 = (10176 + ($5092)|0);
$5094 = HEAP8[$5093>>0]|0;
$5095 = HEAP8[$64>>0]|0;
$5096 = $5095 ^ $5094;
$5097 = $5096&255;
$5098 = (12736 + ($5097<<2)|0);
$5099 = HEAP32[$5098>>2]|0;
$5100 = $5089 ^ $5099;
$5101 = HEAP8[$272>>0]|0;
$5102 = $5101 ^ -24;
$5103 = $5102&255;
$5104 = (10176 + ($5103)|0);
$5105 = HEAP8[$5104>>0]|0;
$5106 = HEAP8[$88>>0]|0;
$5107 = $5106 ^ $5105;
$5108 = $5107&255;
$5109 = (13760 + ($5108<<2)|0);
$5110 = HEAP32[$5109>>2]|0;
$5111 = $5100 ^ $5110;
$5112 = HEAP8[$296>>0]|0;
$5113 = $5112 ^ 56;
$5114 = $5113&255;
$5115 = (10432 + ($5114)|0);
$5116 = HEAP8[$5115>>0]|0;
$5117 = HEAP8[$112>>0]|0;
$5118 = $5117 ^ $5116;
$5119 = $5118&255;
$5120 = (10688 + ($5119<<2)|0);
$5121 = HEAP32[$5120>>2]|0;
$5122 = HEAP8[$320>>0]|0;
$5123 = $5122 ^ 75;
$5124 = $5123&255;
$5125 = (10432 + ($5124)|0);
$5126 = HEAP8[$5125>>0]|0;
$5127 = HEAP8[$136>>0]|0;
$5128 = $5127 ^ $5126;
$5129 = $5128&255;
$5130 = (11712 + ($5129<<2)|0);
$5131 = HEAP32[$5130>>2]|0;
$5132 = $5131 ^ $5121;
$5133 = HEAP8[$344>>0]|0;
$5134 = $5133 ^ 56;
$5135 = $5134&255;
$5136 = (10176 + ($5135)|0);
$5137 = HEAP8[$5136>>0]|0;
$5138 = HEAP8[$160>>0]|0;
$5139 = $5138 ^ $5137;
$5140 = $5139&255;
$5141 = (12736 + ($5140<<2)|0);
$5142 = HEAP32[$5141>>2]|0;
$5143 = $5132 ^ $5142;
$5144 = HEAP8[$368>>0]|0;
$5145 = $5144 ^ 75;
$5146 = $5145&255;
$5147 = (10176 + ($5146)|0);
$5148 = HEAP8[$5147>>0]|0;
$5149 = HEAP8[$184>>0]|0;
$5150 = $5149 ^ $5148;
$5151 = $5150&255;
$5152 = (13760 + ($5151<<2)|0);
$5153 = HEAP32[$5152>>2]|0;
$5154 = $5143 ^ $5153;
$5155 = $5154 << 8;
$5156 = $5154 >>> 24;
$5157 = $5155 | $5156;
$5158 = (($5157) + ($5111))|0;
$5159 = (($5158) + ($5157))|0;
$5160 = ((($0)) + 4152|0);
HEAP32[$5160>>2] = $5158;
$5161 = $5159 << 9;
$5162 = $5159 >>> 23;
$5163 = $5161 | $5162;
$5164 = ((($0)) + 4156|0);
HEAP32[$5164>>2] = $5163;
$5165 = HEAP8[$208>>0]|0;
$5166 = $5165 ^ 13;
$5167 = $5166&255;
$5168 = (10432 + ($5167)|0);
$5169 = HEAP8[$5168>>0]|0;
$5170 = HEAP8[$1>>0]|0;
$5171 = $5170 ^ $5169;
$5172 = $5171&255;
$5173 = (10688 + ($5172<<2)|0);
$5174 = HEAP32[$5173>>2]|0;
$5175 = HEAP8[$224>>0]|0;
$5176 = $5175 ^ -42;
$5177 = $5176&255;
$5178 = (10432 + ($5177)|0);
$5179 = HEAP8[$5178>>0]|0;
$5180 = HEAP8[$40>>0]|0;
$5181 = $5180 ^ $5179;
$5182 = $5181&255;
$5183 = (11712 + ($5182<<2)|0);
$5184 = HEAP32[$5183>>2]|0;
$5185 = $5184 ^ $5174;
$5186 = HEAP8[$248>>0]|0;
$5187 = $5186 ^ 13;
$5188 = $5187&255;
$5189 = (10176 + ($5188)|0);
$5190 = HEAP8[$5189>>0]|0;
$5191 = HEAP8[$64>>0]|0;
$5192 = $5191 ^ $5190;
$5193 = $5192&255;
$5194 = (12736 + ($5193<<2)|0);
$5195 = HEAP32[$5194>>2]|0;
$5196 = $5185 ^ $5195;
$5197 = HEAP8[$272>>0]|0;
$5198 = $5197 ^ -42;
$5199 = $5198&255;
$5200 = (10176 + ($5199)|0);
$5201 = HEAP8[$5200>>0]|0;
$5202 = HEAP8[$88>>0]|0;
$5203 = $5202 ^ $5201;
$5204 = $5203&255;
$5205 = (13760 + ($5204<<2)|0);
$5206 = HEAP32[$5205>>2]|0;
$5207 = $5196 ^ $5206;
$5208 = HEAP8[$296>>0]|0;
$5209 = $5208 ^ -58;
$5210 = $5209&255;
$5211 = (10432 + ($5210)|0);
$5212 = HEAP8[$5211>>0]|0;
$5213 = HEAP8[$112>>0]|0;
$5214 = $5213 ^ $5212;
$5215 = $5214&255;
$5216 = (10688 + ($5215<<2)|0);
$5217 = HEAP32[$5216>>2]|0;
$5218 = HEAP8[$320>>0]|0;
$5219 = $5218 ^ 50;
$5220 = $5219&255;
$5221 = (10432 + ($5220)|0);
$5222 = HEAP8[$5221>>0]|0;
$5223 = HEAP8[$136>>0]|0;
$5224 = $5223 ^ $5222;
$5225 = $5224&255;
$5226 = (11712 + ($5225<<2)|0);
$5227 = HEAP32[$5226>>2]|0;
$5228 = $5227 ^ $5217;
$5229 = HEAP8[$344>>0]|0;
$5230 = $5229 ^ -58;
$5231 = $5230&255;
$5232 = (10176 + ($5231)|0);
$5233 = HEAP8[$5232>>0]|0;
$5234 = HEAP8[$160>>0]|0;
$5235 = $5234 ^ $5233;
$5236 = $5235&255;
$5237 = (12736 + ($5236<<2)|0);
$5238 = HEAP32[$5237>>2]|0;
$5239 = $5228 ^ $5238;
$5240 = HEAP8[$368>>0]|0;
$5241 = $5240 ^ 50;
$5242 = $5241&255;
$5243 = (10176 + ($5242)|0);
$5244 = HEAP8[$5243>>0]|0;
$5245 = HEAP8[$184>>0]|0;
$5246 = $5245 ^ $5244;
$5247 = $5246&255;
$5248 = (13760 + ($5247<<2)|0);
$5249 = HEAP32[$5248>>2]|0;
$5250 = $5239 ^ $5249;
$5251 = $5250 << 8;
$5252 = $5250 >>> 24;
$5253 = $5251 | $5252;
$5254 = (($5253) + ($5207))|0;
$5255 = (($5254) + ($5253))|0;
$5256 = ((($0)) + 4160|0);
HEAP32[$5256>>2] = $5254;
$5257 = $5255 << 9;
$5258 = $5255 >>> 23;
$5259 = $5257 | $5258;
$5260 = ((($0)) + 4164|0);
HEAP32[$5260>>2] = $5259;
$5261 = HEAP8[$208>>0]|0;
$5262 = $5261 ^ 53;
$5263 = $5262&255;
$5264 = (10432 + ($5263)|0);
$5265 = HEAP8[$5264>>0]|0;
$5266 = HEAP8[$1>>0]|0;
$5267 = $5266 ^ $5265;
$5268 = $5267&255;
$5269 = (10688 + ($5268<<2)|0);
$5270 = HEAP32[$5269>>2]|0;
$5271 = HEAP8[$224>>0]|0;
$5272 = $5271 ^ -40;
$5273 = $5272&255;
$5274 = (10432 + ($5273)|0);
$5275 = HEAP8[$5274>>0]|0;
$5276 = HEAP8[$40>>0]|0;
$5277 = $5276 ^ $5275;
$5278 = $5277&255;
$5279 = (11712 + ($5278<<2)|0);
$5280 = HEAP32[$5279>>2]|0;
$5281 = $5280 ^ $5270;
$5282 = HEAP8[$248>>0]|0;
$5283 = $5282 ^ 53;
$5284 = $5283&255;
$5285 = (10176 + ($5284)|0);
$5286 = HEAP8[$5285>>0]|0;
$5287 = HEAP8[$64>>0]|0;
$5288 = $5287 ^ $5286;
$5289 = $5288&255;
$5290 = (12736 + ($5289<<2)|0);
$5291 = HEAP32[$5290>>2]|0;
$5292 = $5281 ^ $5291;
$5293 = HEAP8[$272>>0]|0;
$5294 = $5293 ^ -40;
$5295 = $5294&255;
$5296 = (10176 + ($5295)|0);
$5297 = HEAP8[$5296>>0]|0;
$5298 = HEAP8[$88>>0]|0;
$5299 = $5298 ^ $5297;
$5300 = $5299&255;
$5301 = (13760 + ($5300<<2)|0);
$5302 = HEAP32[$5301>>2]|0;
$5303 = $5292 ^ $5302;
$5304 = HEAP8[$296>>0]|0;
$5305 = $5304 ^ -104;
$5306 = $5305&255;
$5307 = (10432 + ($5306)|0);
$5308 = HEAP8[$5307>>0]|0;
$5309 = HEAP8[$112>>0]|0;
$5310 = $5309 ^ $5308;
$5311 = $5310&255;
$5312 = (10688 + ($5311<<2)|0);
$5313 = HEAP32[$5312>>2]|0;
$5314 = HEAP8[$320>>0]|0;
$5315 = $5314 ^ -3;
$5316 = $5315&255;
$5317 = (10432 + ($5316)|0);
$5318 = HEAP8[$5317>>0]|0;
$5319 = HEAP8[$136>>0]|0;
$5320 = $5319 ^ $5318;
$5321 = $5320&255;
$5322 = (11712 + ($5321<<2)|0);
$5323 = HEAP32[$5322>>2]|0;
$5324 = $5323 ^ $5313;
$5325 = HEAP8[$344>>0]|0;
$5326 = $5325 ^ -104;
$5327 = $5326&255;
$5328 = (10176 + ($5327)|0);
$5329 = HEAP8[$5328>>0]|0;
$5330 = HEAP8[$160>>0]|0;
$5331 = $5330 ^ $5329;
$5332 = $5331&255;
$5333 = (12736 + ($5332<<2)|0);
$5334 = HEAP32[$5333>>2]|0;
$5335 = $5324 ^ $5334;
$5336 = HEAP8[$368>>0]|0;
$5337 = $5336 ^ -3;
$5338 = $5337&255;
$5339 = (10176 + ($5338)|0);
$5340 = HEAP8[$5339>>0]|0;
$5341 = HEAP8[$184>>0]|0;
$5342 = $5341 ^ $5340;
$5343 = $5342&255;
$5344 = (13760 + ($5343<<2)|0);
$5345 = HEAP32[$5344>>2]|0;
$5346 = $5335 ^ $5345;
$5347 = $5346 << 8;
$5348 = $5346 >>> 24;
$5349 = $5347 | $5348;
$5350 = (($5349) + ($5303))|0;
$5351 = (($5350) + ($5349))|0;
$5352 = ((($0)) + 4168|0);
HEAP32[$5352>>2] = $5350;
$5353 = $5351 << 9;
$5354 = $5351 >>> 23;
$5355 = $5353 | $5354;
$5356 = ((($0)) + 4172|0);
HEAP32[$5356>>2] = $5355;
$5357 = HEAP8[$208>>0]|0;
$5358 = $5357 ^ 24;
$5359 = $5358&255;
$5360 = (10432 + ($5359)|0);
$5361 = HEAP8[$5360>>0]|0;
$5362 = HEAP8[$1>>0]|0;
$5363 = $5362 ^ $5361;
$5364 = $5363&255;
$5365 = (10688 + ($5364<<2)|0);
$5366 = HEAP32[$5365>>2]|0;
$5367 = HEAP8[$224>>0]|0;
$5368 = $5367 ^ 55;
$5369 = $5368&255;
$5370 = (10432 + ($5369)|0);
$5371 = HEAP8[$5370>>0]|0;
$5372 = HEAP8[$40>>0]|0;
$5373 = $5372 ^ $5371;
$5374 = $5373&255;
$5375 = (11712 + ($5374<<2)|0);
$5376 = HEAP32[$5375>>2]|0;
$5377 = $5376 ^ $5366;
$5378 = HEAP8[$248>>0]|0;
$5379 = $5378 ^ 24;
$5380 = $5379&255;
$5381 = (10176 + ($5380)|0);
$5382 = HEAP8[$5381>>0]|0;
$5383 = HEAP8[$64>>0]|0;
$5384 = $5383 ^ $5382;
$5385 = $5384&255;
$5386 = (12736 + ($5385<<2)|0);
$5387 = HEAP32[$5386>>2]|0;
$5388 = $5377 ^ $5387;
$5389 = HEAP8[$272>>0]|0;
$5390 = $5389 ^ 55;
$5391 = $5390&255;
$5392 = (10176 + ($5391)|0);
$5393 = HEAP8[$5392>>0]|0;
$5394 = HEAP8[$88>>0]|0;
$5395 = $5394 ^ $5393;
$5396 = $5395&255;
$5397 = (13760 + ($5396<<2)|0);
$5398 = HEAP32[$5397>>2]|0;
$5399 = $5388 ^ $5398;
$5400 = HEAP8[$296>>0]|0;
$5401 = $5400 ^ -9;
$5402 = $5401&255;
$5403 = (10432 + ($5402)|0);
$5404 = HEAP8[$5403>>0]|0;
$5405 = HEAP8[$112>>0]|0;
$5406 = $5405 ^ $5404;
$5407 = $5406&255;
$5408 = (10688 + ($5407<<2)|0);
$5409 = HEAP32[$5408>>2]|0;
$5410 = HEAP8[$320>>0]|0;
$5411 = $5410 ^ 113;
$5412 = $5411&255;
$5413 = (10432 + ($5412)|0);
$5414 = HEAP8[$5413>>0]|0;
$5415 = HEAP8[$136>>0]|0;
$5416 = $5415 ^ $5414;
$5417 = $5416&255;
$5418 = (11712 + ($5417<<2)|0);
$5419 = HEAP32[$5418>>2]|0;
$5420 = $5419 ^ $5409;
$5421 = HEAP8[$344>>0]|0;
$5422 = $5421 ^ -9;
$5423 = $5422&255;
$5424 = (10176 + ($5423)|0);
$5425 = HEAP8[$5424>>0]|0;
$5426 = HEAP8[$160>>0]|0;
$5427 = $5426 ^ $5425;
$5428 = $5427&255;
$5429 = (12736 + ($5428<<2)|0);
$5430 = HEAP32[$5429>>2]|0;
$5431 = $5420 ^ $5430;
$5432 = HEAP8[$368>>0]|0;
$5433 = $5432 ^ 113;
$5434 = $5433&255;
$5435 = (10176 + ($5434)|0);
$5436 = HEAP8[$5435>>0]|0;
$5437 = HEAP8[$184>>0]|0;
$5438 = $5437 ^ $5436;
$5439 = $5438&255;
$5440 = (13760 + ($5439<<2)|0);
$5441 = HEAP32[$5440>>2]|0;
$5442 = $5431 ^ $5441;
$5443 = $5442 << 8;
$5444 = $5442 >>> 24;
$5445 = $5443 | $5444;
$5446 = (($5445) + ($5399))|0;
$5447 = (($5446) + ($5445))|0;
$5448 = ((($0)) + 4176|0);
HEAP32[$5448>>2] = $5446;
$5449 = $5447 << 9;
$5450 = $5447 >>> 23;
$5451 = $5449 | $5450;
$5452 = ((($0)) + 4180|0);
HEAP32[$5452>>2] = $5451;
$5453 = HEAP8[$208>>0]|0;
$5454 = $5453 ^ -20;
$5455 = $5454&255;
$5456 = (10432 + ($5455)|0);
$5457 = HEAP8[$5456>>0]|0;
$5458 = HEAP8[$1>>0]|0;
$5459 = $5458 ^ $5457;
$5460 = $5459&255;
$5461 = (10688 + ($5460<<2)|0);
$5462 = HEAP32[$5461>>2]|0;
$5463 = HEAP8[$224>>0]|0;
$5464 = $5463 ^ -15;
$5465 = $5464&255;
$5466 = (10432 + ($5465)|0);
$5467 = HEAP8[$5466>>0]|0;
$5468 = HEAP8[$40>>0]|0;
$5469 = $5468 ^ $5467;
$5470 = $5469&255;
$5471 = (11712 + ($5470<<2)|0);
$5472 = HEAP32[$5471>>2]|0;
$5473 = $5472 ^ $5462;
$5474 = HEAP8[$248>>0]|0;
$5475 = $5474 ^ -20;
$5476 = $5475&255;
$5477 = (10176 + ($5476)|0);
$5478 = HEAP8[$5477>>0]|0;
$5479 = HEAP8[$64>>0]|0;
$5480 = $5479 ^ $5478;
$5481 = $5480&255;
$5482 = (12736 + ($5481<<2)|0);
$5483 = HEAP32[$5482>>2]|0;
$5484 = $5473 ^ $5483;
$5485 = HEAP8[$272>>0]|0;
$5486 = $5485 ^ -15;
$5487 = $5486&255;
$5488 = (10176 + ($5487)|0);
$5489 = HEAP8[$5488>>0]|0;
$5490 = HEAP8[$88>>0]|0;
$5491 = $5490 ^ $5489;
$5492 = $5491&255;
$5493 = (13760 + ($5492<<2)|0);
$5494 = HEAP32[$5493>>2]|0;
$5495 = $5484 ^ $5494;
$5496 = HEAP8[$296>>0]|0;
$5497 = $5496 ^ 108;
$5498 = $5497&255;
$5499 = (10432 + ($5498)|0);
$5500 = HEAP8[$5499>>0]|0;
$5501 = HEAP8[$112>>0]|0;
$5502 = $5501 ^ $5500;
$5503 = $5502&255;
$5504 = (10688 + ($5503<<2)|0);
$5505 = HEAP32[$5504>>2]|0;
$5506 = HEAP8[$320>>0]|0;
$5507 = $5506 ^ -31;
$5508 = $5507&255;
$5509 = (10432 + ($5508)|0);
$5510 = HEAP8[$5509>>0]|0;
$5511 = HEAP8[$136>>0]|0;
$5512 = $5511 ^ $5510;
$5513 = $5512&255;
$5514 = (11712 + ($5513<<2)|0);
$5515 = HEAP32[$5514>>2]|0;
$5516 = $5515 ^ $5505;
$5517 = HEAP8[$344>>0]|0;
$5518 = $5517 ^ 108;
$5519 = $5518&255;
$5520 = (10176 + ($5519)|0);
$5521 = HEAP8[$5520>>0]|0;
$5522 = HEAP8[$160>>0]|0;
$5523 = $5522 ^ $5521;
$5524 = $5523&255;
$5525 = (12736 + ($5524<<2)|0);
$5526 = HEAP32[$5525>>2]|0;
$5527 = $5516 ^ $5526;
$5528 = HEAP8[$368>>0]|0;
$5529 = $5528 ^ -31;
$5530 = $5529&255;
$5531 = (10176 + ($5530)|0);
$5532 = HEAP8[$5531>>0]|0;
$5533 = HEAP8[$184>>0]|0;
$5534 = $5533 ^ $5532;
$5535 = $5534&255;
$5536 = (13760 + ($5535<<2)|0);
$5537 = HEAP32[$5536>>2]|0;
$5538 = $5527 ^ $5537;
$5539 = $5538 << 8;
$5540 = $5538 >>> 24;
$5541 = $5539 | $5540;
$5542 = (($5541) + ($5495))|0;
$5543 = (($5542) + ($5541))|0;
$5544 = ((($0)) + 4184|0);
HEAP32[$5544>>2] = $5542;
$5545 = $5543 << 9;
$5546 = $5543 >>> 23;
$5547 = $5545 | $5546;
$5548 = ((($0)) + 4188|0);
HEAP32[$5548>>2] = $5547;
$5549 = HEAP8[$208>>0]|0;
$5550 = $5549 ^ 67;
$5551 = $5550&255;
$5552 = (10432 + ($5551)|0);
$5553 = HEAP8[$5552>>0]|0;
$5554 = HEAP8[$1>>0]|0;
$5555 = $5554 ^ $5553;
$5556 = $5555&255;
$5557 = (10688 + ($5556<<2)|0);
$5558 = HEAP32[$5557>>2]|0;
$5559 = HEAP8[$224>>0]|0;
$5560 = $5559 ^ 48;
$5561 = $5560&255;
$5562 = (10432 + ($5561)|0);
$5563 = HEAP8[$5562>>0]|0;
$5564 = HEAP8[$40>>0]|0;
$5565 = $5564 ^ $5563;
$5566 = $5565&255;
$5567 = (11712 + ($5566<<2)|0);
$5568 = HEAP32[$5567>>2]|0;
$5569 = $5568 ^ $5558;
$5570 = HEAP8[$248>>0]|0;
$5571 = $5570 ^ 67;
$5572 = $5571&255;
$5573 = (10176 + ($5572)|0);
$5574 = HEAP8[$5573>>0]|0;
$5575 = HEAP8[$64>>0]|0;
$5576 = $5575 ^ $5574;
$5577 = $5576&255;
$5578 = (12736 + ($5577<<2)|0);
$5579 = HEAP32[$5578>>2]|0;
$5580 = $5569 ^ $5579;
$5581 = HEAP8[$272>>0]|0;
$5582 = $5581 ^ 48;
$5583 = $5582&255;
$5584 = (10176 + ($5583)|0);
$5585 = HEAP8[$5584>>0]|0;
$5586 = HEAP8[$88>>0]|0;
$5587 = $5586 ^ $5585;
$5588 = $5587&255;
$5589 = (13760 + ($5588<<2)|0);
$5590 = HEAP32[$5589>>2]|0;
$5591 = $5580 ^ $5590;
$5592 = HEAP8[$296>>0]|0;
$5593 = $5592 ^ 117;
$5594 = $5593&255;
$5595 = (10432 + ($5594)|0);
$5596 = HEAP8[$5595>>0]|0;
$5597 = HEAP8[$112>>0]|0;
$5598 = $5597 ^ $5596;
$5599 = $5598&255;
$5600 = (10688 + ($5599<<2)|0);
$5601 = HEAP32[$5600>>2]|0;
$5602 = HEAP8[$320>>0]|0;
$5603 = $5602 ^ 15;
$5604 = $5603&255;
$5605 = (10432 + ($5604)|0);
$5606 = HEAP8[$5605>>0]|0;
$5607 = HEAP8[$136>>0]|0;
$5608 = $5607 ^ $5606;
$5609 = $5608&255;
$5610 = (11712 + ($5609<<2)|0);
$5611 = HEAP32[$5610>>2]|0;
$5612 = $5611 ^ $5601;
$5613 = HEAP8[$344>>0]|0;
$5614 = $5613 ^ 117;
$5615 = $5614&255;
$5616 = (10176 + ($5615)|0);
$5617 = HEAP8[$5616>>0]|0;
$5618 = HEAP8[$160>>0]|0;
$5619 = $5618 ^ $5617;
$5620 = $5619&255;
$5621 = (12736 + ($5620<<2)|0);
$5622 = HEAP32[$5621>>2]|0;
$5623 = $5612 ^ $5622;
$5624 = HEAP8[$368>>0]|0;
$5625 = $5624 ^ 15;
$5626 = $5625&255;
$5627 = (10176 + ($5626)|0);
$5628 = HEAP8[$5627>>0]|0;
$5629 = HEAP8[$184>>0]|0;
$5630 = $5629 ^ $5628;
$5631 = $5630&255;
$5632 = (13760 + ($5631<<2)|0);
$5633 = HEAP32[$5632>>2]|0;
$5634 = $5623 ^ $5633;
$5635 = $5634 << 8;
$5636 = $5634 >>> 24;
$5637 = $5635 | $5636;
$5638 = (($5637) + ($5591))|0;
$5639 = (($5638) + ($5637))|0;
$5640 = ((($0)) + 4192|0);
HEAP32[$5640>>2] = $5638;
$5641 = $5639 << 9;
$5642 = $5639 >>> 23;
$5643 = $5641 | $5642;
$5644 = ((($0)) + 4196|0);
HEAP32[$5644>>2] = $5643;
$5645 = HEAP8[$208>>0]|0;
$5646 = $5645 ^ 55;
$5647 = $5646&255;
$5648 = (10432 + ($5647)|0);
$5649 = HEAP8[$5648>>0]|0;
$5650 = HEAP8[$1>>0]|0;
$5651 = $5650 ^ $5649;
$5652 = $5651&255;
$5653 = (10688 + ($5652<<2)|0);
$5654 = HEAP32[$5653>>2]|0;
$5655 = HEAP8[$224>>0]|0;
$5656 = $5655 ^ -8;
$5657 = $5656&255;
$5658 = (10432 + ($5657)|0);
$5659 = HEAP8[$5658>>0]|0;
$5660 = HEAP8[$40>>0]|0;
$5661 = $5660 ^ $5659;
$5662 = $5661&255;
$5663 = (11712 + ($5662<<2)|0);
$5664 = HEAP32[$5663>>2]|0;
$5665 = $5664 ^ $5654;
$5666 = HEAP8[$248>>0]|0;
$5667 = $5666 ^ 55;
$5668 = $5667&255;
$5669 = (10176 + ($5668)|0);
$5670 = HEAP8[$5669>>0]|0;
$5671 = HEAP8[$64>>0]|0;
$5672 = $5671 ^ $5670;
$5673 = $5672&255;
$5674 = (12736 + ($5673<<2)|0);
$5675 = HEAP32[$5674>>2]|0;
$5676 = $5665 ^ $5675;
$5677 = HEAP8[$272>>0]|0;
$5678 = $5677 ^ -8;
$5679 = $5678&255;
$5680 = (10176 + ($5679)|0);
$5681 = HEAP8[$5680>>0]|0;
$5682 = HEAP8[$88>>0]|0;
$5683 = $5682 ^ $5681;
$5684 = $5683&255;
$5685 = (13760 + ($5684<<2)|0);
$5686 = HEAP32[$5685>>2]|0;
$5687 = $5676 ^ $5686;
$5688 = HEAP8[$296>>0]|0;
$5689 = $5688 ^ 38;
$5690 = $5689&255;
$5691 = (10432 + ($5690)|0);
$5692 = HEAP8[$5691>>0]|0;
$5693 = HEAP8[$112>>0]|0;
$5694 = $5693 ^ $5692;
$5695 = $5694&255;
$5696 = (10688 + ($5695<<2)|0);
$5697 = HEAP32[$5696>>2]|0;
$5698 = HEAP8[$320>>0]|0;
$5699 = $5698 ^ 27;
$5700 = $5699&255;
$5701 = (10432 + ($5700)|0);
$5702 = HEAP8[$5701>>0]|0;
$5703 = HEAP8[$136>>0]|0;
$5704 = $5703 ^ $5702;
$5705 = $5704&255;
$5706 = (11712 + ($5705<<2)|0);
$5707 = HEAP32[$5706>>2]|0;
$5708 = $5707 ^ $5697;
$5709 = HEAP8[$344>>0]|0;
$5710 = $5709 ^ 38;
$5711 = $5710&255;
$5712 = (10176 + ($5711)|0);
$5713 = HEAP8[$5712>>0]|0;
$5714 = HEAP8[$160>>0]|0;
$5715 = $5714 ^ $5713;
$5716 = $5715&255;
$5717 = (12736 + ($5716<<2)|0);
$5718 = HEAP32[$5717>>2]|0;
$5719 = $5708 ^ $5718;
$5720 = HEAP8[$368>>0]|0;
$5721 = $5720 ^ 27;
$5722 = $5721&255;
$5723 = (10176 + ($5722)|0);
$5724 = HEAP8[$5723>>0]|0;
$5725 = HEAP8[$184>>0]|0;
$5726 = $5725 ^ $5724;
$5727 = $5726&255;
$5728 = (13760 + ($5727<<2)|0);
$5729 = HEAP32[$5728>>2]|0;
$5730 = $5719 ^ $5729;
$5731 = $5730 << 8;
$5732 = $5730 >>> 24;
$5733 = $5731 | $5732;
$5734 = (($5733) + ($5687))|0;
$5735 = (($5734) + ($5733))|0;
$5736 = ((($0)) + 4200|0);
HEAP32[$5736>>2] = $5734;
$5737 = $5735 << 9;
$5738 = $5735 >>> 23;
$5739 = $5737 | $5738;
$5740 = ((($0)) + 4204|0);
HEAP32[$5740>>2] = $5739;
$5741 = HEAP8[$208>>0]|0;
$5742 = $5741 ^ -6;
$5743 = $5742&255;
$5744 = (10432 + ($5743)|0);
$5745 = HEAP8[$5744>>0]|0;
$5746 = HEAP8[$1>>0]|0;
$5747 = $5746 ^ $5745;
$5748 = $5747&255;
$5749 = (10688 + ($5748<<2)|0);
$5750 = HEAP32[$5749>>2]|0;
$5751 = HEAP8[$224>>0]|0;
$5752 = $5751 ^ -121;
$5753 = $5752&255;
$5754 = (10432 + ($5753)|0);
$5755 = HEAP8[$5754>>0]|0;
$5756 = HEAP8[$40>>0]|0;
$5757 = $5756 ^ $5755;
$5758 = $5757&255;
$5759 = (11712 + ($5758<<2)|0);
$5760 = HEAP32[$5759>>2]|0;
$5761 = $5760 ^ $5750;
$5762 = HEAP8[$248>>0]|0;
$5763 = $5762 ^ -6;
$5764 = $5763&255;
$5765 = (10176 + ($5764)|0);
$5766 = HEAP8[$5765>>0]|0;
$5767 = HEAP8[$64>>0]|0;
$5768 = $5767 ^ $5766;
$5769 = $5768&255;
$5770 = (12736 + ($5769<<2)|0);
$5771 = HEAP32[$5770>>2]|0;
$5772 = $5761 ^ $5771;
$5773 = HEAP8[$272>>0]|0;
$5774 = $5773 ^ -121;
$5775 = $5774&255;
$5776 = (10176 + ($5775)|0);
$5777 = HEAP8[$5776>>0]|0;
$5778 = HEAP8[$88>>0]|0;
$5779 = $5778 ^ $5777;
$5780 = $5779&255;
$5781 = (13760 + ($5780<<2)|0);
$5782 = HEAP32[$5781>>2]|0;
$5783 = $5772 ^ $5782;
$5784 = HEAP8[$296>>0]|0;
$5785 = $5784 ^ 19;
$5786 = $5785&255;
$5787 = (10432 + ($5786)|0);
$5788 = HEAP8[$5787>>0]|0;
$5789 = HEAP8[$112>>0]|0;
$5790 = $5789 ^ $5788;
$5791 = $5790&255;
$5792 = (10688 + ($5791<<2)|0);
$5793 = HEAP32[$5792>>2]|0;
$5794 = HEAP8[$320>>0]|0;
$5795 = $5794 ^ -6;
$5796 = $5795&255;
$5797 = (10432 + ($5796)|0);
$5798 = HEAP8[$5797>>0]|0;
$5799 = HEAP8[$136>>0]|0;
$5800 = $5799 ^ $5798;
$5801 = $5800&255;
$5802 = (11712 + ($5801<<2)|0);
$5803 = HEAP32[$5802>>2]|0;
$5804 = $5803 ^ $5793;
$5805 = HEAP8[$344>>0]|0;
$5806 = $5805 ^ 19;
$5807 = $5806&255;
$5808 = (10176 + ($5807)|0);
$5809 = HEAP8[$5808>>0]|0;
$5810 = HEAP8[$160>>0]|0;
$5811 = $5810 ^ $5809;
$5812 = $5811&255;
$5813 = (12736 + ($5812<<2)|0);
$5814 = HEAP32[$5813>>2]|0;
$5815 = $5804 ^ $5814;
$5816 = HEAP8[$368>>0]|0;
$5817 = $5816 ^ -6;
$5818 = $5817&255;
$5819 = (10176 + ($5818)|0);
$5820 = HEAP8[$5819>>0]|0;
$5821 = HEAP8[$184>>0]|0;
$5822 = $5821 ^ $5820;
$5823 = $5822&255;
$5824 = (13760 + ($5823<<2)|0);
$5825 = HEAP32[$5824>>2]|0;
$5826 = $5815 ^ $5825;
$5827 = $5826 << 8;
$5828 = $5826 >>> 24;
$5829 = $5827 | $5828;
$5830 = (($5829) + ($5783))|0;
$5831 = (($5830) + ($5829))|0;
$5832 = ((($0)) + 4208|0);
HEAP32[$5832>>2] = $5830;
$5833 = $5831 << 9;
$5834 = $5831 >>> 23;
$5835 = $5833 | $5834;
$5836 = ((($0)) + 4212|0);
HEAP32[$5836>>2] = $5835;
$5837 = HEAP8[$208>>0]|0;
$5838 = $5837 ^ -108;
$5839 = $5838&255;
$5840 = (10432 + ($5839)|0);
$5841 = HEAP8[$5840>>0]|0;
$5842 = HEAP8[$1>>0]|0;
$5843 = $5842 ^ $5841;
$5844 = $5843&255;
$5845 = (10688 + ($5844<<2)|0);
$5846 = HEAP32[$5845>>2]|0;
$5847 = HEAP8[$224>>0]|0;
$5848 = $5847 ^ 6;
$5849 = $5848&255;
$5850 = (10432 + ($5849)|0);
$5851 = HEAP8[$5850>>0]|0;
$5852 = HEAP8[$40>>0]|0;
$5853 = $5852 ^ $5851;
$5854 = $5853&255;
$5855 = (11712 + ($5854<<2)|0);
$5856 = HEAP32[$5855>>2]|0;
$5857 = $5856 ^ $5846;
$5858 = HEAP8[$248>>0]|0;
$5859 = $5858 ^ -108;
$5860 = $5859&255;
$5861 = (10176 + ($5860)|0);
$5862 = HEAP8[$5861>>0]|0;
$5863 = HEAP8[$64>>0]|0;
$5864 = $5863 ^ $5862;
$5865 = $5864&255;
$5866 = (12736 + ($5865<<2)|0);
$5867 = HEAP32[$5866>>2]|0;
$5868 = $5857 ^ $5867;
$5869 = HEAP8[$272>>0]|0;
$5870 = $5869 ^ 6;
$5871 = $5870&255;
$5872 = (10176 + ($5871)|0);
$5873 = HEAP8[$5872>>0]|0;
$5874 = HEAP8[$88>>0]|0;
$5875 = $5874 ^ $5873;
$5876 = $5875&255;
$5877 = (13760 + ($5876<<2)|0);
$5878 = HEAP32[$5877>>2]|0;
$5879 = $5868 ^ $5878;
$5880 = HEAP8[$296>>0]|0;
$5881 = $5880 ^ 72;
$5882 = $5881&255;
$5883 = (10432 + ($5882)|0);
$5884 = HEAP8[$5883>>0]|0;
$5885 = HEAP8[$112>>0]|0;
$5886 = $5885 ^ $5884;
$5887 = $5886&255;
$5888 = (10688 + ($5887<<2)|0);
$5889 = HEAP32[$5888>>2]|0;
$5890 = HEAP8[$320>>0]|0;
$5891 = $5890 ^ 63;
$5892 = $5891&255;
$5893 = (10432 + ($5892)|0);
$5894 = HEAP8[$5893>>0]|0;
$5895 = HEAP8[$136>>0]|0;
$5896 = $5895 ^ $5894;
$5897 = $5896&255;
$5898 = (11712 + ($5897<<2)|0);
$5899 = HEAP32[$5898>>2]|0;
$5900 = $5899 ^ $5889;
$5901 = HEAP8[$344>>0]|0;
$5902 = $5901 ^ 72;
$5903 = $5902&255;
$5904 = (10176 + ($5903)|0);
$5905 = HEAP8[$5904>>0]|0;
$5906 = HEAP8[$160>>0]|0;
$5907 = $5906 ^ $5905;
$5908 = $5907&255;
$5909 = (12736 + ($5908<<2)|0);
$5910 = HEAP32[$5909>>2]|0;
$5911 = $5900 ^ $5910;
$5912 = HEAP8[$368>>0]|0;
$5913 = $5912 ^ 63;
$5914 = $5913&255;
$5915 = (10176 + ($5914)|0);
$5916 = HEAP8[$5915>>0]|0;
$5917 = HEAP8[$184>>0]|0;
$5918 = $5917 ^ $5916;
$5919 = $5918&255;
$5920 = (13760 + ($5919<<2)|0);
$5921 = HEAP32[$5920>>2]|0;
$5922 = $5911 ^ $5921;
$5923 = $5922 << 8;
$5924 = $5922 >>> 24;
$5925 = $5923 | $5924;
$5926 = (($5925) + ($5879))|0;
$5927 = (($5926) + ($5925))|0;
$5928 = ((($0)) + 4216|0);
HEAP32[$5928>>2] = $5926;
$5929 = $5927 << 9;
$5930 = $5927 >>> 23;
$5931 = $5929 | $5930;
$5932 = ((($0)) + 4220|0);
HEAP32[$5932>>2] = $5931;
$5933 = HEAP8[$208>>0]|0;
$5934 = $5933 ^ -14;
$5935 = $5934&255;
$5936 = (10432 + ($5935)|0);
$5937 = HEAP8[$5936>>0]|0;
$5938 = HEAP8[$1>>0]|0;
$5939 = $5938 ^ $5937;
$5940 = $5939&255;
$5941 = (10688 + ($5940<<2)|0);
$5942 = HEAP32[$5941>>2]|0;
$5943 = HEAP8[$224>>0]|0;
$5944 = $5943 ^ 94;
$5945 = $5944&255;
$5946 = (10432 + ($5945)|0);
$5947 = HEAP8[$5946>>0]|0;
$5948 = HEAP8[$40>>0]|0;
$5949 = $5948 ^ $5947;
$5950 = $5949&255;
$5951 = (11712 + ($5950<<2)|0);
$5952 = HEAP32[$5951>>2]|0;
$5953 = $5952 ^ $5942;
$5954 = HEAP8[$248>>0]|0;
$5955 = $5954 ^ -14;
$5956 = $5955&255;
$5957 = (10176 + ($5956)|0);
$5958 = HEAP8[$5957>>0]|0;
$5959 = HEAP8[$64>>0]|0;
$5960 = $5959 ^ $5958;
$5961 = $5960&255;
$5962 = (12736 + ($5961<<2)|0);
$5963 = HEAP32[$5962>>2]|0;
$5964 = $5953 ^ $5963;
$5965 = HEAP8[$272>>0]|0;
$5966 = $5965 ^ 94;
$5967 = $5966&255;
$5968 = (10176 + ($5967)|0);
$5969 = HEAP8[$5968>>0]|0;
$5970 = HEAP8[$88>>0]|0;
$5971 = $5970 ^ $5969;
$5972 = $5971&255;
$5973 = (13760 + ($5972<<2)|0);
$5974 = HEAP32[$5973>>2]|0;
$5975 = $5964 ^ $5974;
$5976 = HEAP8[$296>>0]|0;
$5977 = $5976 ^ -48;
$5978 = $5977&255;
$5979 = (10432 + ($5978)|0);
$5980 = HEAP8[$5979>>0]|0;
$5981 = HEAP8[$112>>0]|0;
$5982 = $5981 ^ $5980;
$5983 = $5982&255;
$5984 = (10688 + ($5983<<2)|0);
$5985 = HEAP32[$5984>>2]|0;
$5986 = HEAP8[$320>>0]|0;
$5987 = $5986 ^ -70;
$5988 = $5987&255;
$5989 = (10432 + ($5988)|0);
$5990 = HEAP8[$5989>>0]|0;
$5991 = HEAP8[$136>>0]|0;
$5992 = $5991 ^ $5990;
$5993 = $5992&255;
$5994 = (11712 + ($5993<<2)|0);
$5995 = HEAP32[$5994>>2]|0;
$5996 = $5995 ^ $5985;
$5997 = HEAP8[$344>>0]|0;
$5998 = $5997 ^ -48;
$5999 = $5998&255;
$6000 = (10176 + ($5999)|0);
$6001 = HEAP8[$6000>>0]|0;
$6002 = HEAP8[$160>>0]|0;
$6003 = $6002 ^ $6001;
$6004 = $6003&255;
$6005 = (12736 + ($6004<<2)|0);
$6006 = HEAP32[$6005>>2]|0;
$6007 = $5996 ^ $6006;
$6008 = HEAP8[$368>>0]|0;
$6009 = $6008 ^ -70;
$6010 = $6009&255;
$6011 = (10176 + ($6010)|0);
$6012 = HEAP8[$6011>>0]|0;
$6013 = HEAP8[$184>>0]|0;
$6014 = $6013 ^ $6012;
$6015 = $6014&255;
$6016 = (13760 + ($6015<<2)|0);
$6017 = HEAP32[$6016>>2]|0;
$6018 = $6007 ^ $6017;
$6019 = $6018 << 8;
$6020 = $6018 >>> 24;
$6021 = $6019 | $6020;
$6022 = (($6021) + ($5975))|0;
$6023 = (($6022) + ($6021))|0;
$6024 = ((($0)) + 4224|0);
HEAP32[$6024>>2] = $6022;
$6025 = $6023 << 9;
$6026 = $6023 >>> 23;
$6027 = $6025 | $6026;
$6028 = ((($0)) + 4228|0);
HEAP32[$6028>>2] = $6027;
$6029 = HEAP8[$208>>0]|0;
$6030 = $6029 ^ -117;
$6031 = $6030&255;
$6032 = (10432 + ($6031)|0);
$6033 = HEAP8[$6032>>0]|0;
$6034 = HEAP8[$1>>0]|0;
$6035 = $6034 ^ $6033;
$6036 = $6035&255;
$6037 = (10688 + ($6036<<2)|0);
$6038 = HEAP32[$6037>>2]|0;
$6039 = HEAP8[$224>>0]|0;
$6040 = $6039 ^ -82;
$6041 = $6040&255;
$6042 = (10432 + ($6041)|0);
$6043 = HEAP8[$6042>>0]|0;
$6044 = HEAP8[$40>>0]|0;
$6045 = $6044 ^ $6043;
$6046 = $6045&255;
$6047 = (11712 + ($6046<<2)|0);
$6048 = HEAP32[$6047>>2]|0;
$6049 = $6048 ^ $6038;
$6050 = HEAP8[$248>>0]|0;
$6051 = $6050 ^ -117;
$6052 = $6051&255;
$6053 = (10176 + ($6052)|0);
$6054 = HEAP8[$6053>>0]|0;
$6055 = HEAP8[$64>>0]|0;
$6056 = $6055 ^ $6054;
$6057 = $6056&255;
$6058 = (12736 + ($6057<<2)|0);
$6059 = HEAP32[$6058>>2]|0;
$6060 = $6049 ^ $6059;
$6061 = HEAP8[$272>>0]|0;
$6062 = $6061 ^ -82;
$6063 = $6062&255;
$6064 = (10176 + ($6063)|0);
$6065 = HEAP8[$6064>>0]|0;
$6066 = HEAP8[$88>>0]|0;
$6067 = $6066 ^ $6065;
$6068 = $6067&255;
$6069 = (13760 + ($6068<<2)|0);
$6070 = HEAP32[$6069>>2]|0;
$6071 = $6060 ^ $6070;
$6072 = HEAP8[$296>>0]|0;
$6073 = $6072 ^ 48;
$6074 = $6073&255;
$6075 = (10432 + ($6074)|0);
$6076 = HEAP8[$6075>>0]|0;
$6077 = HEAP8[$112>>0]|0;
$6078 = $6077 ^ $6076;
$6079 = $6078&255;
$6080 = (10688 + ($6079<<2)|0);
$6081 = HEAP32[$6080>>2]|0;
$6082 = HEAP8[$320>>0]|0;
$6083 = $6082 ^ 91;
$6084 = $6083&255;
$6085 = (10432 + ($6084)|0);
$6086 = HEAP8[$6085>>0]|0;
$6087 = HEAP8[$136>>0]|0;
$6088 = $6087 ^ $6086;
$6089 = $6088&255;
$6090 = (11712 + ($6089<<2)|0);
$6091 = HEAP32[$6090>>2]|0;
$6092 = $6091 ^ $6081;
$6093 = HEAP8[$344>>0]|0;
$6094 = $6093 ^ 48;
$6095 = $6094&255;
$6096 = (10176 + ($6095)|0);
$6097 = HEAP8[$6096>>0]|0;
$6098 = HEAP8[$160>>0]|0;
$6099 = $6098 ^ $6097;
$6100 = $6099&255;
$6101 = (12736 + ($6100<<2)|0);
$6102 = HEAP32[$6101>>2]|0;
$6103 = $6092 ^ $6102;
$6104 = HEAP8[$368>>0]|0;
$6105 = $6104 ^ 91;
$6106 = $6105&255;
$6107 = (10176 + ($6106)|0);
$6108 = HEAP8[$6107>>0]|0;
$6109 = HEAP8[$184>>0]|0;
$6110 = $6109 ^ $6108;
$6111 = $6110&255;
$6112 = (13760 + ($6111<<2)|0);
$6113 = HEAP32[$6112>>2]|0;
$6114 = $6103 ^ $6113;
$6115 = $6114 << 8;
$6116 = $6114 >>> 24;
$6117 = $6115 | $6116;
$6118 = (($6117) + ($6071))|0;
$6119 = (($6118) + ($6117))|0;
$6120 = ((($0)) + 4232|0);
HEAP32[$6120>>2] = $6118;
$6121 = $6119 << 9;
$6122 = $6119 >>> 23;
$6123 = $6121 | $6122;
$6124 = ((($0)) + 4236|0);
HEAP32[$6124>>2] = $6123;
$6125 = HEAP8[$208>>0]|0;
$6126 = $6125 ^ -124;
$6127 = $6126&255;
$6128 = (10432 + ($6127)|0);
$6129 = HEAP8[$6128>>0]|0;
$6130 = HEAP8[$1>>0]|0;
$6131 = $6130 ^ $6129;
$6132 = $6131&255;
$6133 = (10688 + ($6132<<2)|0);
$6134 = HEAP32[$6133>>2]|0;
$6135 = HEAP8[$224>>0]|0;
$6136 = $6135 ^ -118;
$6137 = $6136&255;
$6138 = (10432 + ($6137)|0);
$6139 = HEAP8[$6138>>0]|0;
$6140 = HEAP8[$40>>0]|0;
$6141 = $6140 ^ $6139;
$6142 = $6141&255;
$6143 = (11712 + ($6142<<2)|0);
$6144 = HEAP32[$6143>>2]|0;
$6145 = $6144 ^ $6134;
$6146 = HEAP8[$248>>0]|0;
$6147 = $6146 ^ -124;
$6148 = $6147&255;
$6149 = (10176 + ($6148)|0);
$6150 = HEAP8[$6149>>0]|0;
$6151 = HEAP8[$64>>0]|0;
$6152 = $6151 ^ $6150;
$6153 = $6152&255;
$6154 = (12736 + ($6153<<2)|0);
$6155 = HEAP32[$6154>>2]|0;
$6156 = $6145 ^ $6155;
$6157 = HEAP8[$272>>0]|0;
$6158 = $6157 ^ -118;
$6159 = $6158&255;
$6160 = (10176 + ($6159)|0);
$6161 = HEAP8[$6160>>0]|0;
$6162 = HEAP8[$88>>0]|0;
$6163 = $6162 ^ $6161;
$6164 = $6163&255;
$6165 = (13760 + ($6164<<2)|0);
$6166 = HEAP32[$6165>>2]|0;
$6167 = $6156 ^ $6166;
$6168 = HEAP8[$296>>0]|0;
$6169 = $6168 ^ 84;
$6170 = $6169&255;
$6171 = (10432 + ($6170)|0);
$6172 = HEAP8[$6171>>0]|0;
$6173 = HEAP8[$112>>0]|0;
$6174 = $6173 ^ $6172;
$6175 = $6174&255;
$6176 = (10688 + ($6175<<2)|0);
$6177 = HEAP32[$6176>>2]|0;
$6178 = HEAP8[$320>>0]|0;
$6179 = $6178&255;
$6180 = (10432 + ($6179)|0);
$6181 = HEAP8[$6180>>0]|0;
$6182 = HEAP8[$136>>0]|0;
$6183 = $6182 ^ $6181;
$6184 = $6183&255;
$6185 = (11712 + ($6184<<2)|0);
$6186 = HEAP32[$6185>>2]|0;
$6187 = $6186 ^ $6177;
$6188 = HEAP8[$344>>0]|0;
$6189 = $6188 ^ 84;
$6190 = $6189&255;
$6191 = (10176 + ($6190)|0);
$6192 = HEAP8[$6191>>0]|0;
$6193 = HEAP8[$160>>0]|0;
$6194 = $6193 ^ $6192;
$6195 = $6194&255;
$6196 = (12736 + ($6195<<2)|0);
$6197 = HEAP32[$6196>>2]|0;
$6198 = $6187 ^ $6197;
$6199 = HEAP8[$368>>0]|0;
$6200 = $6199&255;
$6201 = (10176 + ($6200)|0);
$6202 = HEAP8[$6201>>0]|0;
$6203 = HEAP8[$184>>0]|0;
$6204 = $6203 ^ $6202;
$6205 = $6204&255;
$6206 = (13760 + ($6205<<2)|0);
$6207 = HEAP32[$6206>>2]|0;
$6208 = $6198 ^ $6207;
$6209 = $6208 << 8;
$6210 = $6208 >>> 24;
$6211 = $6209 | $6210;
$6212 = (($6211) + ($6167))|0;
$6213 = (($6212) + ($6211))|0;
$6214 = ((($0)) + 4240|0);
HEAP32[$6214>>2] = $6212;
$6215 = $6213 << 9;
$6216 = $6213 >>> 23;
$6217 = $6215 | $6216;
$6218 = ((($0)) + 4244|0);
HEAP32[$6218>>2] = $6217;
$6219 = HEAP8[$208>>0]|0;
$6220 = $6219 ^ -33;
$6221 = $6220&255;
$6222 = (10432 + ($6221)|0);
$6223 = HEAP8[$6222>>0]|0;
$6224 = HEAP8[$1>>0]|0;
$6225 = $6224 ^ $6223;
$6226 = $6225&255;
$6227 = (10688 + ($6226<<2)|0);
$6228 = HEAP32[$6227>>2]|0;
$6229 = HEAP8[$224>>0]|0;
$6230 = $6229 ^ -68;
$6231 = $6230&255;
$6232 = (10432 + ($6231)|0);
$6233 = HEAP8[$6232>>0]|0;
$6234 = HEAP8[$40>>0]|0;
$6235 = $6234 ^ $6233;
$6236 = $6235&255;
$6237 = (11712 + ($6236<<2)|0);
$6238 = HEAP32[$6237>>2]|0;
$6239 = $6238 ^ $6228;
$6240 = HEAP8[$248>>0]|0;
$6241 = $6240 ^ -33;
$6242 = $6241&255;
$6243 = (10176 + ($6242)|0);
$6244 = HEAP8[$6243>>0]|0;
$6245 = HEAP8[$64>>0]|0;
$6246 = $6245 ^ $6244;
$6247 = $6246&255;
$6248 = (12736 + ($6247<<2)|0);
$6249 = HEAP32[$6248>>2]|0;
$6250 = $6239 ^ $6249;
$6251 = HEAP8[$272>>0]|0;
$6252 = $6251 ^ -68;
$6253 = $6252&255;
$6254 = (10176 + ($6253)|0);
$6255 = HEAP8[$6254>>0]|0;
$6256 = HEAP8[$88>>0]|0;
$6257 = $6256 ^ $6255;
$6258 = $6257&255;
$6259 = (13760 + ($6258<<2)|0);
$6260 = HEAP32[$6259>>2]|0;
$6261 = $6250 ^ $6260;
$6262 = HEAP8[$296>>0]|0;
$6263 = $6262 ^ 35;
$6264 = $6263&255;
$6265 = (10432 + ($6264)|0);
$6266 = HEAP8[$6265>>0]|0;
$6267 = HEAP8[$112>>0]|0;
$6268 = $6267 ^ $6266;
$6269 = $6268&255;
$6270 = (10688 + ($6269<<2)|0);
$6271 = HEAP32[$6270>>2]|0;
$6272 = HEAP8[$320>>0]|0;
$6273 = $6272 ^ -99;
$6274 = $6273&255;
$6275 = (10432 + ($6274)|0);
$6276 = HEAP8[$6275>>0]|0;
$6277 = HEAP8[$136>>0]|0;
$6278 = $6277 ^ $6276;
$6279 = $6278&255;
$6280 = (11712 + ($6279<<2)|0);
$6281 = HEAP32[$6280>>2]|0;
$6282 = $6281 ^ $6271;
$6283 = HEAP8[$344>>0]|0;
$6284 = $6283 ^ 35;
$6285 = $6284&255;
$6286 = (10176 + ($6285)|0);
$6287 = HEAP8[$6286>>0]|0;
$6288 = HEAP8[$160>>0]|0;
$6289 = $6288 ^ $6287;
$6290 = $6289&255;
$6291 = (12736 + ($6290<<2)|0);
$6292 = HEAP32[$6291>>2]|0;
$6293 = $6282 ^ $6292;
$6294 = HEAP8[$368>>0]|0;
$6295 = $6294 ^ -99;
$6296 = $6295&255;
$6297 = (10176 + ($6296)|0);
$6298 = HEAP8[$6297>>0]|0;
$6299 = HEAP8[$184>>0]|0;
$6300 = $6299 ^ $6298;
$6301 = $6300&255;
$6302 = (13760 + ($6301<<2)|0);
$6303 = HEAP32[$6302>>2]|0;
$6304 = $6293 ^ $6303;
$6305 = $6304 << 8;
$6306 = $6304 >>> 24;
$6307 = $6305 | $6306;
$6308 = (($6307) + ($6261))|0;
$6309 = (($6308) + ($6307))|0;
$6310 = ((($0)) + 4248|0);
HEAP32[$6310>>2] = $6308;
$6311 = $6309 << 9;
$6312 = $6309 >>> 23;
$6313 = $6311 | $6312;
$6314 = ((($0)) + 4252|0);
HEAP32[$6314>>2] = $6313;
$$01913 = 0;
STACKTOP = sp;return ($$01913|0);
}
$393 = ((($1)) + 16|0);
$394 = HEAP8[$393>>0]|0;
$395 = ($394<<24>>24)==(0);
if ($395) {
$$01819 = 0;$$01827 = 0;$$01835 = 0;
} else {
$396 = $394&255;
$397 = (($396) + -1)|0;
$398 = (8912 + ($397)|0);
$399 = HEAP8[$398>>0]|0;
$400 = $399&255;
$401 = (9168 + ($400)|0);
$402 = HEAP8[$401>>0]|0;
$403 = (($400) + 45)|0;
$404 = (9168 + ($403)|0);
$405 = HEAP8[$404>>0]|0;
$406 = (($400) + 1)|0;
$407 = (9168 + ($406)|0);
$408 = HEAP8[$407>>0]|0;
$$01819 = $408;$$01827 = $405;$$01835 = $402;
}
$409 = ((($1)) + 17|0);
$410 = HEAP8[$409>>0]|0;
$411 = ($410<<24>>24)==(0);
if ($411) {
$$11812 = $$01827;$$11820 = $$01819;$$11828 = $$01827;$$11836 = $$01835;
} else {
$412 = $410&255;
$413 = (($412) + -1)|0;
$414 = (8912 + ($413)|0);
$415 = HEAP8[$414>>0]|0;
$416 = $415&255;
$417 = (($416) + 45)|0;
$418 = (9168 + ($417)|0);
$419 = HEAP8[$418>>0]|0;
$420 = $419 ^ $$01835;
$421 = (($416) + 164)|0;
$422 = (9168 + ($421)|0);
$423 = HEAP8[$422>>0]|0;
$424 = $423 ^ $$01827;
$425 = (($416) + 68)|0;
$426 = (9168 + ($425)|0);
$427 = HEAP8[$426>>0]|0;
$428 = $427 ^ $$01819;
$429 = (($416) + 138)|0;
$430 = (9168 + ($429)|0);
$431 = HEAP8[$430>>0]|0;
$432 = $431 ^ $$01827;
$$11812 = $432;$$11820 = $428;$$11828 = $424;$$11836 = $420;
}
$433 = ((($1)) + 18|0);
$434 = HEAP8[$433>>0]|0;
$435 = ($434<<24>>24)==(0);
if ($435) {
$$21813 = $$11812;$$21821 = $$11820;$$21829 = $$11828;$$21837 = $$11836;
} else {
$436 = $434&255;
$437 = (($436) + -1)|0;
$438 = (8912 + ($437)|0);
$439 = HEAP8[$438>>0]|0;
$440 = $439&255;
$441 = (($440) + 138)|0;
$442 = (9168 + ($441)|0);
$443 = HEAP8[$442>>0]|0;
$444 = $443 ^ $$11836;
$445 = (($440) + 213)|0;
$446 = (9168 + ($445)|0);
$447 = HEAP8[$446>>0]|0;
$448 = $447 ^ $$11828;
$449 = (($440) + 191)|0;
$450 = (9168 + ($449)|0);
$451 = HEAP8[$450>>0]|0;
$452 = $451 ^ $$11820;
$453 = (($440) + 209)|0;
$454 = (9168 + ($453)|0);
$455 = HEAP8[$454>>0]|0;
$456 = $455 ^ $$11812;
$$21813 = $456;$$21821 = $452;$$21829 = $448;$$21837 = $444;
}
$457 = ((($1)) + 19|0);
$458 = HEAP8[$457>>0]|0;
$459 = ($458<<24>>24)==(0);
if ($459) {
$$31814 = $$21813;$$31822 = $$21821;$$31830 = $$21829;$$31838 = $$21837;
} else {
$460 = $458&255;
$461 = (($460) + -1)|0;
$462 = (8912 + ($461)|0);
$463 = HEAP8[$462>>0]|0;
$464 = $463&255;
$465 = (($464) + 209)|0;
$466 = (9168 + ($465)|0);
$467 = HEAP8[$466>>0]|0;
$468 = $467 ^ $$21837;
$469 = (($464) + 127)|0;
$470 = (9168 + ($469)|0);
$471 = HEAP8[$470>>0]|0;
$472 = $471 ^ $$21829;
$473 = (($464) + 61)|0;
$474 = (9168 + ($473)|0);
$475 = HEAP8[$474>>0]|0;
$476 = $475 ^ $$21821;
$477 = (($464) + 153)|0;
$478 = (9168 + ($477)|0);
$479 = HEAP8[$478>>0]|0;
$480 = $479 ^ $$21813;
$$31814 = $480;$$31822 = $476;$$31830 = $472;$$31838 = $468;
}
$481 = ((($1)) + 20|0);
$482 = HEAP8[$481>>0]|0;
$483 = ($482<<24>>24)==(0);
if ($483) {
$$41815 = $$31814;$$41823 = $$31822;$$41831 = $$31830;$$41839 = $$31838;
} else {
$484 = $482&255;
$485 = (($484) + -1)|0;
$486 = (8912 + ($485)|0);
$487 = HEAP8[$486>>0]|0;
$488 = $487&255;
$489 = (($488) + 153)|0;
$490 = (9168 + ($489)|0);
$491 = HEAP8[$490>>0]|0;
$492 = $491 ^ $$31838;
$493 = (($488) + 70)|0;
$494 = (9168 + ($493)|0);
$495 = HEAP8[$494>>0]|0;
$496 = $495 ^ $$31830;
$497 = (($488) + 102)|0;
$498 = (9168 + ($497)|0);
$499 = HEAP8[$498>>0]|0;
$500 = $499 ^ $$31822;
$501 = (($488) + 150)|0;
$502 = (9168 + ($501)|0);
$503 = HEAP8[$502>>0]|0;
$504 = $503 ^ $$31814;
$$41815 = $504;$$41823 = $500;$$41831 = $496;$$41839 = $492;
}
$505 = ((($1)) + 21|0);
$506 = HEAP8[$505>>0]|0;
$507 = ($506<<24>>24)==(0);
if ($507) {
$$51816 = $$41815;$$51824 = $$41823;$$51832 = $$41831;$$51840 = $$41839;
} else {
$508 = $506&255;
$509 = (($508) + -1)|0;
$510 = (8912 + ($509)|0);
$511 = HEAP8[$510>>0]|0;
$512 = $511&255;
$513 = (($512) + 150)|0;
$514 = (9168 + ($513)|0);
$515 = HEAP8[$514>>0]|0;
$516 = $515 ^ $$41839;
$517 = (($512) + 60)|0;
$518 = (9168 + ($517)|0);
$519 = HEAP8[$518>>0]|0;
$520 = $519 ^ $$41831;
$521 = (($512) + 91)|0;
$522 = (9168 + ($521)|0);
$523 = HEAP8[$522>>0]|0;
$524 = $523 ^ $$41823;
$525 = (($512) + 237)|0;
$526 = (9168 + ($525)|0);
$527 = HEAP8[$526>>0]|0;
$528 = $527 ^ $$41815;
$$51816 = $528;$$51824 = $524;$$51832 = $520;$$51840 = $516;
}
$529 = ((($1)) + 22|0);
$530 = HEAP8[$529>>0]|0;
$531 = ($530<<24>>24)==(0);
if ($531) {
$$61817 = $$51816;$$61825 = $$51824;$$61833 = $$51832;$$61841 = $$51840;
} else {
$532 = $530&255;
$533 = (($532) + -1)|0;
$534 = (8912 + ($533)|0);
$535 = HEAP8[$534>>0]|0;
$536 = $535&255;
$537 = (($536) + 237)|0;
$538 = (9168 + ($537)|0);
$539 = HEAP8[$538>>0]|0;
$540 = $539 ^ $$51840;
$541 = (($536) + 55)|0;
$542 = (9168 + ($541)|0);
$543 = HEAP8[$542>>0]|0;
$544 = $543 ^ $$51832;
$545 = (($536) + 79)|0;
$546 = (9168 + ($545)|0);
$547 = HEAP8[$546>>0]|0;
$548 = $547 ^ $$51824;
$549 = (($536) + 224)|0;
$550 = (9168 + ($549)|0);
$551 = HEAP8[$550>>0]|0;
$552 = $551 ^ $$51816;
$$61817 = $552;$$61825 = $548;$$61833 = $544;$$61841 = $540;
}
$553 = ((($1)) + 23|0);
$554 = HEAP8[$553>>0]|0;
$555 = ($554<<24>>24)==(0);
if ($555) {
$$71818 = $$61817;$$71826 = $$61825;$$71834 = $$61833;$$71842 = $$61841;
} else {
$556 = $554&255;
$557 = (($556) + -1)|0;
$558 = (8912 + ($557)|0);
$559 = HEAP8[$558>>0]|0;
$560 = $559&255;
$561 = (($560) + 224)|0;
$562 = (9168 + ($561)|0);
$563 = HEAP8[$562>>0]|0;
$564 = $563 ^ $$61841;
$565 = (($560) + 208)|0;
$566 = (9168 + ($565)|0);
$567 = HEAP8[$566>>0]|0;
$568 = $567 ^ $$61833;
$569 = (($560) + 140)|0;
$570 = (9168 + ($569)|0);
$571 = HEAP8[$570>>0]|0;
$572 = $571 ^ $$61825;
$573 = (($560) + 23)|0;
$574 = (9168 + ($573)|0);
$575 = HEAP8[$574>>0]|0;
$576 = $575 ^ $$61817;
$$71818 = $576;$$71826 = $572;$$71834 = $568;$$71842 = $564;
}
$577 = ((($1)) + 24|0);
$578 = HEAP8[$577>>0]|0;
$579 = ($578<<24>>24)==(0);
if ($579) {
$$01787 = 0;$$01795 = 0;$$01803 = 0;
} else {
$580 = $578&255;
$581 = (($580) + -1)|0;
$582 = (8912 + ($581)|0);
$583 = HEAP8[$582>>0]|0;
$584 = $583&255;
$585 = (9168 + ($584)|0);
$586 = HEAP8[$585>>0]|0;
$587 = (($584) + 45)|0;
$588 = (9168 + ($587)|0);
$589 = HEAP8[$588>>0]|0;
$590 = (($584) + 1)|0;
$591 = (9168 + ($590)|0);
$592 = HEAP8[$591>>0]|0;
$$01787 = $592;$$01795 = $589;$$01803 = $586;
}
$593 = ((($1)) + 25|0);
$594 = HEAP8[$593>>0]|0;
$595 = ($594<<24>>24)==(0);
if ($595) {
$$1 = $$01795;$$11788 = $$01787;$$11796 = $$01795;$$11804 = $$01803;
} else {
$596 = $594&255;
$597 = (($596) + -1)|0;
$598 = (8912 + ($597)|0);
$599 = HEAP8[$598>>0]|0;
$600 = $599&255;
$601 = (($600) + 45)|0;
$602 = (9168 + ($601)|0);
$603 = HEAP8[$602>>0]|0;
$604 = $603 ^ $$01803;
$605 = (($600) + 164)|0;
$606 = (9168 + ($605)|0);
$607 = HEAP8[$606>>0]|0;
$608 = $607 ^ $$01795;
$609 = (($600) + 68)|0;
$610 = (9168 + ($609)|0);
$611 = HEAP8[$610>>0]|0;
$612 = $611 ^ $$01787;
$613 = (($600) + 138)|0;
$614 = (9168 + ($613)|0);
$615 = HEAP8[$614>>0]|0;
$616 = $615 ^ $$01795;
$$1 = $616;$$11788 = $612;$$11796 = $608;$$11804 = $604;
}
$617 = ((($1)) + 26|0);
$618 = HEAP8[$617>>0]|0;
$619 = ($618<<24>>24)==(0);
if ($619) {
$$2 = $$1;$$21789 = $$11788;$$21797 = $$11796;$$21805 = $$11804;
} else {
$620 = $618&255;
$621 = (($620) + -1)|0;
$622 = (8912 + ($621)|0);
$623 = HEAP8[$622>>0]|0;
$624 = $623&255;
$625 = (($624) + 138)|0;
$626 = (9168 + ($625)|0);
$627 = HEAP8[$626>>0]|0;
$628 = $627 ^ $$11804;
$629 = (($624) + 213)|0;
$630 = (9168 + ($629)|0);
$631 = HEAP8[$630>>0]|0;
$632 = $631 ^ $$11796;
$633 = (($624) + 191)|0;
$634 = (9168 + ($633)|0);
$635 = HEAP8[$634>>0]|0;
$636 = $635 ^ $$11788;
$637 = (($624) + 209)|0;
$638 = (9168 + ($637)|0);
$639 = HEAP8[$638>>0]|0;
$640 = $639 ^ $$1;
$$2 = $640;$$21789 = $636;$$21797 = $632;$$21805 = $628;
}
$641 = ((($1)) + 27|0);
$642 = HEAP8[$641>>0]|0;
$643 = ($642<<24>>24)==(0);
if ($643) {
$$3 = $$2;$$31790 = $$21789;$$31798 = $$21797;$$31806 = $$21805;
} else {
$644 = $642&255;
$645 = (($644) + -1)|0;
$646 = (8912 + ($645)|0);
$647 = HEAP8[$646>>0]|0;
$648 = $647&255;
$649 = (($648) + 209)|0;
$650 = (9168 + ($649)|0);
$651 = HEAP8[$650>>0]|0;
$652 = $651 ^ $$21805;
$653 = (($648) + 127)|0;
$654 = (9168 + ($653)|0);
$655 = HEAP8[$654>>0]|0;
$656 = $655 ^ $$21797;
$657 = (($648) + 61)|0;
$658 = (9168 + ($657)|0);
$659 = HEAP8[$658>>0]|0;
$660 = $659 ^ $$21789;
$661 = (($648) + 153)|0;
$662 = (9168 + ($661)|0);
$663 = HEAP8[$662>>0]|0;
$664 = $663 ^ $$2;
$$3 = $664;$$31790 = $660;$$31798 = $656;$$31806 = $652;
}
$665 = ((($1)) + 28|0);
$666 = HEAP8[$665>>0]|0;
$667 = ($666<<24>>24)==(0);
if ($667) {
$$4 = $$3;$$41791 = $$31790;$$41799 = $$31798;$$41807 = $$31806;
} else {
$668 = $666&255;
$669 = (($668) + -1)|0;
$670 = (8912 + ($669)|0);
$671 = HEAP8[$670>>0]|0;
$672 = $671&255;
$673 = (($672) + 153)|0;
$674 = (9168 + ($673)|0);
$675 = HEAP8[$674>>0]|0;
$676 = $675 ^ $$31806;
$677 = (($672) + 70)|0;
$678 = (9168 + ($677)|0);
$679 = HEAP8[$678>>0]|0;
$680 = $679 ^ $$31798;
$681 = (($672) + 102)|0;
$682 = (9168 + ($681)|0);
$683 = HEAP8[$682>>0]|0;
$684 = $683 ^ $$31790;
$685 = (($672) + 150)|0;
$686 = (9168 + ($685)|0);
$687 = HEAP8[$686>>0]|0;
$688 = $687 ^ $$3;
$$4 = $688;$$41791 = $684;$$41799 = $680;$$41807 = $676;
}
$689 = ((($1)) + 29|0);
$690 = HEAP8[$689>>0]|0;
$691 = ($690<<24>>24)==(0);
if ($691) {
$$5 = $$4;$$51792 = $$41791;$$51800 = $$41799;$$51808 = $$41807;
} else {
$692 = $690&255;
$693 = (($692) + -1)|0;
$694 = (8912 + ($693)|0);
$695 = HEAP8[$694>>0]|0;
$696 = $695&255;
$697 = (($696) + 150)|0;
$698 = (9168 + ($697)|0);
$699 = HEAP8[$698>>0]|0;
$700 = $699 ^ $$41807;
$701 = (($696) + 60)|0;
$702 = (9168 + ($701)|0);
$703 = HEAP8[$702>>0]|0;
$704 = $703 ^ $$41799;
$705 = (($696) + 91)|0;
$706 = (9168 + ($705)|0);
$707 = HEAP8[$706>>0]|0;
$708 = $707 ^ $$41791;
$709 = (($696) + 237)|0;
$710 = (9168 + ($709)|0);
$711 = HEAP8[$710>>0]|0;
$712 = $711 ^ $$4;
$$5 = $712;$$51792 = $708;$$51800 = $704;$$51808 = $700;
}
$713 = ((($1)) + 30|0);
$714 = HEAP8[$713>>0]|0;
$715 = ($714<<24>>24)==(0);
if ($715) {
$$6 = $$5;$$61793 = $$51792;$$61801 = $$51800;$$61809 = $$51808;
} else {
$716 = $714&255;
$717 = (($716) + -1)|0;
$718 = (8912 + ($717)|0);
$719 = HEAP8[$718>>0]|0;
$720 = $719&255;
$721 = (($720) + 237)|0;
$722 = (9168 + ($721)|0);
$723 = HEAP8[$722>>0]|0;
$724 = $723 ^ $$51808;
$725 = (($720) + 55)|0;
$726 = (9168 + ($725)|0);
$727 = HEAP8[$726>>0]|0;
$728 = $727 ^ $$51800;
$729 = (($720) + 79)|0;
$730 = (9168 + ($729)|0);
$731 = HEAP8[$730>>0]|0;
$732 = $731 ^ $$51792;
$733 = (($720) + 224)|0;
$734 = (9168 + ($733)|0);
$735 = HEAP8[$734>>0]|0;
$736 = $735 ^ $$5;
$$6 = $736;$$61793 = $732;$$61801 = $728;$$61809 = $724;
}
$737 = ((($1)) + 31|0);
$738 = HEAP8[$737>>0]|0;
$739 = ($738<<24>>24)==(0);
if ($739) {
$$7 = $$6;$$71794 = $$61793;$$71802 = $$61801;$$71810 = $$61809;
} else {
$740 = $738&255;
$741 = (($740) + -1)|0;
$742 = (8912 + ($741)|0);
$743 = HEAP8[$742>>0]|0;
$744 = $743&255;
$745 = (($744) + 224)|0;
$746 = (9168 + ($745)|0);
$747 = HEAP8[$746>>0]|0;
$748 = $747 ^ $$61809;
$749 = (($744) + 208)|0;
$750 = (9168 + ($749)|0);
$751 = HEAP8[$750>>0]|0;
$752 = $751 ^ $$61801;
$753 = (($744) + 140)|0;
$754 = (9168 + ($753)|0);
$755 = HEAP8[$754>>0]|0;
$756 = $755 ^ $$61793;
$757 = (($744) + 23)|0;
$758 = (9168 + ($757)|0);
$759 = HEAP8[$758>>0]|0;
$760 = $759 ^ $$6;
$$7 = $760;$$71794 = $756;$$71802 = $752;$$71810 = $748;
}
$$019071917 = 1;$$019091916 = 0;$$019111915 = 0;
while(1) {
$761 = (9664 + ($$019071917)|0);
$762 = HEAP8[$761>>0]|0;
$763 = $762 ^ $$71906;
$764 = $763&255;
$765 = (10176 + ($764)|0);
$766 = HEAP8[$765>>0]|0;
$767 = $766 ^ $$71874;
$768 = $767&255;
$769 = (10432 + ($768)|0);
$770 = HEAP8[$769>>0]|0;
$771 = $770 ^ $$71842;
$772 = $771&255;
$773 = (10432 + ($772)|0);
$774 = HEAP8[$773>>0]|0;
$775 = $774 ^ $$71810;
$776 = $775&255;
$777 = (10688 + ($776<<2)|0);
$778 = HEAP32[$777>>2]|0;
$779 = (($0) + ($$019111915<<2)|0);
HEAP32[$779>>2] = $778;
$780 = (9664 + ($$019091916)|0);
$781 = HEAP8[$780>>0]|0;
$782 = $781 ^ $$71898;
$783 = $782&255;
$784 = (10176 + ($783)|0);
$785 = HEAP8[$784>>0]|0;
$786 = $785 ^ $$71866;
$787 = $786&255;
$788 = (10176 + ($787)|0);
$789 = HEAP8[$788>>0]|0;
$790 = $789 ^ $$71834;
$791 = $790&255;
$792 = (10432 + ($791)|0);
$793 = HEAP8[$792>>0]|0;
$794 = $793 ^ $$71802;
$795 = $794&255;
$796 = (11712 + ($795<<2)|0);
$797 = HEAP32[$796>>2]|0;
$798 = (((($0)) + 1024|0) + ($$019111915<<2)|0);
HEAP32[$798>>2] = $797;
$799 = $781 ^ $$71890;
$800 = $799&255;
$801 = (10432 + ($800)|0);
$802 = HEAP8[$801>>0]|0;
$803 = $802 ^ $$71858;
$804 = $803&255;
$805 = (10432 + ($804)|0);
$806 = HEAP8[$805>>0]|0;
$807 = $806 ^ $$71826;
$808 = $807&255;
$809 = (10176 + ($808)|0);
$810 = HEAP8[$809>>0]|0;
$811 = $810 ^ $$71794;
$812 = $811&255;
$813 = (12736 + ($812<<2)|0);
$814 = HEAP32[$813>>2]|0;
$815 = (((($0)) + 2048|0) + ($$019111915<<2)|0);
HEAP32[$815>>2] = $814;
$816 = $762 ^ $$71882;
$817 = $816&255;
$818 = (10432 + ($817)|0);
$819 = HEAP8[$818>>0]|0;
$820 = $819 ^ $$71850;
$821 = $820&255;
$822 = (10176 + ($821)|0);
$823 = HEAP8[$822>>0]|0;
$824 = $823 ^ $$71818;
$825 = $824&255;
$826 = (10176 + ($825)|0);
$827 = HEAP8[$826>>0]|0;
$828 = $827 ^ $$7;
$829 = $828&255;
$830 = (13760 + ($829<<2)|0);
$831 = HEAP32[$830>>2]|0;
$832 = (((($0)) + 3072|0) + ($$019111915<<2)|0);
HEAP32[$832>>2] = $831;
$833 = (($$019111915) + 1)|0;
$834 = (($$019091916) + 2)|0;
$835 = (($$019071917) + 2)|0;
$exitcond = ($833|0)==(256);
if ($exitcond) {
break;
} else {
$$019071917 = $835;$$019091916 = $834;$$019111915 = $833;
}
}
$836 = HEAP8[$577>>0]|0;
$837 = $836 ^ 117;
$838 = $837&255;
$839 = (10176 + ($838)|0);
$840 = HEAP8[$839>>0]|0;
$841 = HEAP8[$393>>0]|0;
$842 = $841 ^ $840;
$843 = $842&255;
$844 = (10432 + ($843)|0);
$845 = HEAP8[$844>>0]|0;
$846 = HEAP8[$208>>0]|0;
$847 = $846 ^ $845;
$848 = $847&255;
$849 = (10432 + ($848)|0);
$850 = HEAP8[$849>>0]|0;
$851 = HEAP8[$1>>0]|0;
$852 = $851 ^ $850;
$853 = $852&255;
$854 = (10688 + ($853<<2)|0);
$855 = HEAP32[$854>>2]|0;
$856 = HEAP8[$593>>0]|0;
$857 = $856 ^ -87;
$858 = $857&255;
$859 = (10176 + ($858)|0);
$860 = HEAP8[$859>>0]|0;
$861 = HEAP8[$409>>0]|0;
$862 = $861 ^ $860;
$863 = $862&255;
$864 = (10176 + ($863)|0);
$865 = HEAP8[$864>>0]|0;
$866 = HEAP8[$224>>0]|0;
$867 = $866 ^ $865;
$868 = $867&255;
$869 = (10432 + ($868)|0);
$870 = HEAP8[$869>>0]|0;
$871 = HEAP8[$40>>0]|0;
$872 = $871 ^ $870;
$873 = $872&255;
$874 = (11712 + ($873<<2)|0);
$875 = HEAP32[$874>>2]|0;
$876 = $875 ^ $855;
$877 = HEAP8[$617>>0]|0;
$878 = $877 ^ -87;
$879 = $878&255;
$880 = (10432 + ($879)|0);
$881 = HEAP8[$880>>0]|0;
$882 = HEAP8[$433>>0]|0;
$883 = $882 ^ $881;
$884 = $883&255;
$885 = (10432 + ($884)|0);
$886 = HEAP8[$885>>0]|0;
$887 = HEAP8[$248>>0]|0;
$888 = $887 ^ $886;
$889 = $888&255;
$890 = (10176 + ($889)|0);
$891 = HEAP8[$890>>0]|0;
$892 = HEAP8[$64>>0]|0;
$893 = $892 ^ $891;
$894 = $893&255;
$895 = (12736 + ($894<<2)|0);
$896 = HEAP32[$895>>2]|0;
$897 = $876 ^ $896;
$898 = HEAP8[$641>>0]|0;
$899 = $898 ^ 117;
$900 = $899&255;
$901 = (10432 + ($900)|0);
$902 = HEAP8[$901>>0]|0;
$903 = HEAP8[$457>>0]|0;
$904 = $903 ^ $902;
$905 = $904&255;
$906 = (10176 + ($905)|0);
$907 = HEAP8[$906>>0]|0;
$908 = HEAP8[$272>>0]|0;
$909 = $908 ^ $907;
$910 = $909&255;
$911 = (10176 + ($910)|0);
$912 = HEAP8[$911>>0]|0;
$913 = HEAP8[$88>>0]|0;
$914 = $913 ^ $912;
$915 = $914&255;
$916 = (13760 + ($915<<2)|0);
$917 = HEAP32[$916>>2]|0;
$918 = $897 ^ $917;
$919 = HEAP8[$665>>0]|0;
$920 = $919 ^ -13;
$921 = $920&255;
$922 = (10176 + ($921)|0);
$923 = HEAP8[$922>>0]|0;
$924 = HEAP8[$481>>0]|0;
$925 = $924 ^ $923;
$926 = $925&255;
$927 = (10432 + ($926)|0);
$928 = HEAP8[$927>>0]|0;
$929 = HEAP8[$296>>0]|0;
$930 = $929 ^ $928;
$931 = $930&255;
$932 = (10432 + ($931)|0);
$933 = HEAP8[$932>>0]|0;
$934 = HEAP8[$112>>0]|0;
$935 = $934 ^ $933;
$936 = $935&255;
$937 = (10688 + ($936<<2)|0);
$938 = HEAP32[$937>>2]|0;
$939 = HEAP8[$689>>0]|0;
$940 = $939 ^ 103;
$941 = $940&255;
$942 = (10176 + ($941)|0);
$943 = HEAP8[$942>>0]|0;
$944 = HEAP8[$505>>0]|0;
$945 = $944 ^ $943;
$946 = $945&255;
$947 = (10176 + ($946)|0);
$948 = HEAP8[$947>>0]|0;
$949 = HEAP8[$320>>0]|0;
$950 = $949 ^ $948;
$951 = $950&255;
$952 = (10432 + ($951)|0);
$953 = HEAP8[$952>>0]|0;
$954 = HEAP8[$136>>0]|0;
$955 = $954 ^ $953;
$956 = $955&255;
$957 = (11712 + ($956<<2)|0);
$958 = HEAP32[$957>>2]|0;
$959 = $958 ^ $938;
$960 = HEAP8[$713>>0]|0;
$961 = $960 ^ 103;
$962 = $961&255;
$963 = (10432 + ($962)|0);
$964 = HEAP8[$963>>0]|0;
$965 = HEAP8[$529>>0]|0;
$966 = $965 ^ $964;
$967 = $966&255;
$968 = (10432 + ($967)|0);
$969 = HEAP8[$968>>0]|0;
$970 = HEAP8[$344>>0]|0;
$971 = $970 ^ $969;
$972 = $971&255;
$973 = (10176 + ($972)|0);
$974 = HEAP8[$973>>0]|0;
$975 = HEAP8[$160>>0]|0;
$976 = $975 ^ $974;
$977 = $976&255;
$978 = (12736 + ($977<<2)|0);
$979 = HEAP32[$978>>2]|0;
$980 = $959 ^ $979;
$981 = HEAP8[$737>>0]|0;
$982 = $981 ^ -13;
$983 = $982&255;
$984 = (10432 + ($983)|0);
$985 = HEAP8[$984>>0]|0;
$986 = HEAP8[$553>>0]|0;
$987 = $986 ^ $985;
$988 = $987&255;
$989 = (10176 + ($988)|0);
$990 = HEAP8[$989>>0]|0;
$991 = HEAP8[$368>>0]|0;
$992 = $991 ^ $990;
$993 = $992&255;
$994 = (10176 + ($993)|0);
$995 = HEAP8[$994>>0]|0;
$996 = HEAP8[$184>>0]|0;
$997 = $996 ^ $995;
$998 = $997&255;
$999 = (13760 + ($998<<2)|0);
$1000 = HEAP32[$999>>2]|0;
$1001 = $980 ^ $1000;
$1002 = $1001 << 8;
$1003 = $1001 >>> 24;
$1004 = $1002 | $1003;
$1005 = (($1004) + ($918))|0;
$1006 = (($1005) + ($1004))|0;
$1007 = ((($0)) + 4096|0);
HEAP32[$1007>>2] = $1005;
$1008 = $1006 << 9;
$1009 = $1006 >>> 23;
$1010 = $1008 | $1009;
$1011 = ((($0)) + 4100|0);
HEAP32[$1011>>2] = $1010;
$1012 = HEAP8[$577>>0]|0;
$1013 = $1012 ^ -58;
$1014 = $1013&255;
$1015 = (10176 + ($1014)|0);
$1016 = HEAP8[$1015>>0]|0;
$1017 = HEAP8[$393>>0]|0;
$1018 = $1017 ^ $1016;
$1019 = $1018&255;
$1020 = (10432 + ($1019)|0);
$1021 = HEAP8[$1020>>0]|0;
$1022 = HEAP8[$208>>0]|0;
$1023 = $1022 ^ $1021;
$1024 = $1023&255;
$1025 = (10432 + ($1024)|0);
$1026 = HEAP8[$1025>>0]|0;
$1027 = HEAP8[$1>>0]|0;
$1028 = $1027 ^ $1026;
$1029 = $1028&255;
$1030 = (10688 + ($1029<<2)|0);
$1031 = HEAP32[$1030>>2]|0;
$1032 = HEAP8[$593>>0]|0;
$1033 = $1032 ^ -77;
$1034 = $1033&255;
$1035 = (10176 + ($1034)|0);
$1036 = HEAP8[$1035>>0]|0;
$1037 = HEAP8[$409>>0]|0;
$1038 = $1037 ^ $1036;
$1039 = $1038&255;
$1040 = (10176 + ($1039)|0);
$1041 = HEAP8[$1040>>0]|0;
$1042 = HEAP8[$224>>0]|0;
$1043 = $1042 ^ $1041;
$1044 = $1043&255;
$1045 = (10432 + ($1044)|0);
$1046 = HEAP8[$1045>>0]|0;
$1047 = HEAP8[$40>>0]|0;
$1048 = $1047 ^ $1046;
$1049 = $1048&255;
$1050 = (11712 + ($1049<<2)|0);
$1051 = HEAP32[$1050>>2]|0;
$1052 = $1051 ^ $1031;
$1053 = HEAP8[$617>>0]|0;
$1054 = $1053 ^ -77;
$1055 = $1054&255;
$1056 = (10432 + ($1055)|0);
$1057 = HEAP8[$1056>>0]|0;
$1058 = HEAP8[$433>>0]|0;
$1059 = $1058 ^ $1057;
$1060 = $1059&255;
$1061 = (10432 + ($1060)|0);
$1062 = HEAP8[$1061>>0]|0;
$1063 = HEAP8[$248>>0]|0;
$1064 = $1063 ^ $1062;
$1065 = $1064&255;
$1066 = (10176 + ($1065)|0);
$1067 = HEAP8[$1066>>0]|0;
$1068 = HEAP8[$64>>0]|0;
$1069 = $1068 ^ $1067;
$1070 = $1069&255;
$1071 = (12736 + ($1070<<2)|0);
$1072 = HEAP32[$1071>>2]|0;
$1073 = $1052 ^ $1072;
$1074 = HEAP8[$641>>0]|0;
$1075 = $1074 ^ -58;
$1076 = $1075&255;
$1077 = (10432 + ($1076)|0);
$1078 = HEAP8[$1077>>0]|0;
$1079 = HEAP8[$457>>0]|0;
$1080 = $1079 ^ $1078;
$1081 = $1080&255;
$1082 = (10176 + ($1081)|0);
$1083 = HEAP8[$1082>>0]|0;
$1084 = HEAP8[$272>>0]|0;
$1085 = $1084 ^ $1083;
$1086 = $1085&255;
$1087 = (10176 + ($1086)|0);
$1088 = HEAP8[$1087>>0]|0;
$1089 = HEAP8[$88>>0]|0;
$1090 = $1089 ^ $1088;
$1091 = $1090&255;
$1092 = (13760 + ($1091<<2)|0);
$1093 = HEAP32[$1092>>2]|0;
$1094 = $1073 ^ $1093;
$1095 = HEAP8[$665>>0]|0;
$1096 = $1095 ^ -12;
$1097 = $1096&255;
$1098 = (10176 + ($1097)|0);
$1099 = HEAP8[$1098>>0]|0;
$1100 = HEAP8[$481>>0]|0;
$1101 = $1100 ^ $1099;
$1102 = $1101&255;
$1103 = (10432 + ($1102)|0);
$1104 = HEAP8[$1103>>0]|0;
$1105 = HEAP8[$296>>0]|0;
$1106 = $1105 ^ $1104;
$1107 = $1106&255;
$1108 = (10432 + ($1107)|0);
$1109 = HEAP8[$1108>>0]|0;
$1110 = HEAP8[$112>>0]|0;
$1111 = $1110 ^ $1109;
$1112 = $1111&255;
$1113 = (10688 + ($1112<<2)|0);
$1114 = HEAP32[$1113>>2]|0;
$1115 = HEAP8[$689>>0]|0;
$1116 = $1115 ^ -24;
$1117 = $1116&255;
$1118 = (10176 + ($1117)|0);
$1119 = HEAP8[$1118>>0]|0;
$1120 = HEAP8[$505>>0]|0;
$1121 = $1120 ^ $1119;
$1122 = $1121&255;
$1123 = (10176 + ($1122)|0);
$1124 = HEAP8[$1123>>0]|0;
$1125 = HEAP8[$320>>0]|0;
$1126 = $1125 ^ $1124;
$1127 = $1126&255;
$1128 = (10432 + ($1127)|0);
$1129 = HEAP8[$1128>>0]|0;
$1130 = HEAP8[$136>>0]|0;
$1131 = $1130 ^ $1129;
$1132 = $1131&255;
$1133 = (11712 + ($1132<<2)|0);
$1134 = HEAP32[$1133>>2]|0;
$1135 = $1134 ^ $1114;
$1136 = HEAP8[$713>>0]|0;
$1137 = $1136 ^ -24;
$1138 = $1137&255;
$1139 = (10432 + ($1138)|0);
$1140 = HEAP8[$1139>>0]|0;
$1141 = HEAP8[$529>>0]|0;
$1142 = $1141 ^ $1140;
$1143 = $1142&255;
$1144 = (10432 + ($1143)|0);
$1145 = HEAP8[$1144>>0]|0;
$1146 = HEAP8[$344>>0]|0;
$1147 = $1146 ^ $1145;
$1148 = $1147&255;
$1149 = (10176 + ($1148)|0);
$1150 = HEAP8[$1149>>0]|0;
$1151 = HEAP8[$160>>0]|0;
$1152 = $1151 ^ $1150;
$1153 = $1152&255;
$1154 = (12736 + ($1153<<2)|0);
$1155 = HEAP32[$1154>>2]|0;
$1156 = $1135 ^ $1155;
$1157 = HEAP8[$737>>0]|0;
$1158 = $1157 ^ -12;
$1159 = $1158&255;
$1160 = (10432 + ($1159)|0);
$1161 = HEAP8[$1160>>0]|0;
$1162 = HEAP8[$553>>0]|0;
$1163 = $1162 ^ $1161;
$1164 = $1163&255;
$1165 = (10176 + ($1164)|0);
$1166 = HEAP8[$1165>>0]|0;
$1167 = HEAP8[$368>>0]|0;
$1168 = $1167 ^ $1166;
$1169 = $1168&255;
$1170 = (10176 + ($1169)|0);
$1171 = HEAP8[$1170>>0]|0;
$1172 = HEAP8[$184>>0]|0;
$1173 = $1172 ^ $1171;
$1174 = $1173&255;
$1175 = (13760 + ($1174<<2)|0);
$1176 = HEAP32[$1175>>2]|0;
$1177 = $1156 ^ $1176;
$1178 = $1177 << 8;
$1179 = $1177 >>> 24;
$1180 = $1178 | $1179;
$1181 = (($1180) + ($1094))|0;
$1182 = (($1181) + ($1180))|0;
$1183 = ((($0)) + 4104|0);
HEAP32[$1183>>2] = $1181;
$1184 = $1182 << 9;
$1185 = $1182 >>> 23;
$1186 = $1184 | $1185;
$1187 = ((($0)) + 4108|0);
HEAP32[$1187>>2] = $1186;
$1188 = HEAP8[$577>>0]|0;
$1189 = $1188 ^ -37;
$1190 = $1189&255;
$1191 = (10176 + ($1190)|0);
$1192 = HEAP8[$1191>>0]|0;
$1193 = HEAP8[$393>>0]|0;
$1194 = $1193 ^ $1192;
$1195 = $1194&255;
$1196 = (10432 + ($1195)|0);
$1197 = HEAP8[$1196>>0]|0;
$1198 = HEAP8[$208>>0]|0;
$1199 = $1198 ^ $1197;
$1200 = $1199&255;
$1201 = (10432 + ($1200)|0);
$1202 = HEAP8[$1201>>0]|0;
$1203 = HEAP8[$1>>0]|0;
$1204 = $1203 ^ $1202;
$1205 = $1204&255;
$1206 = (10688 + ($1205<<2)|0);
$1207 = HEAP32[$1206>>2]|0;
$1208 = HEAP8[$593>>0]|0;
$1209 = $1208 ^ 4;
$1210 = $1209&255;
$1211 = (10176 + ($1210)|0);
$1212 = HEAP8[$1211>>0]|0;
$1213 = HEAP8[$409>>0]|0;
$1214 = $1213 ^ $1212;
$1215 = $1214&255;
$1216 = (10176 + ($1215)|0);
$1217 = HEAP8[$1216>>0]|0;
$1218 = HEAP8[$224>>0]|0;
$1219 = $1218 ^ $1217;
$1220 = $1219&255;
$1221 = (10432 + ($1220)|0);
$1222 = HEAP8[$1221>>0]|0;
$1223 = HEAP8[$40>>0]|0;
$1224 = $1223 ^ $1222;
$1225 = $1224&255;
$1226 = (11712 + ($1225<<2)|0);
$1227 = HEAP32[$1226>>2]|0;
$1228 = $1227 ^ $1207;
$1229 = HEAP8[$617>>0]|0;
$1230 = $1229 ^ 4;
$1231 = $1230&255;
$1232 = (10432 + ($1231)|0);
$1233 = HEAP8[$1232>>0]|0;
$1234 = HEAP8[$433>>0]|0;
$1235 = $1234 ^ $1233;
$1236 = $1235&255;
$1237 = (10432 + ($1236)|0);
$1238 = HEAP8[$1237>>0]|0;
$1239 = HEAP8[$248>>0]|0;
$1240 = $1239 ^ $1238;
$1241 = $1240&255;
$1242 = (10176 + ($1241)|0);
$1243 = HEAP8[$1242>>0]|0;
$1244 = HEAP8[$64>>0]|0;
$1245 = $1244 ^ $1243;
$1246 = $1245&255;
$1247 = (12736 + ($1246<<2)|0);
$1248 = HEAP32[$1247>>2]|0;
$1249 = $1228 ^ $1248;
$1250 = HEAP8[$641>>0]|0;
$1251 = $1250 ^ -37;
$1252 = $1251&255;
$1253 = (10432 + ($1252)|0);
$1254 = HEAP8[$1253>>0]|0;
$1255 = HEAP8[$457>>0]|0;
$1256 = $1255 ^ $1254;
$1257 = $1256&255;
$1258 = (10176 + ($1257)|0);
$1259 = HEAP8[$1258>>0]|0;
$1260 = HEAP8[$272>>0]|0;
$1261 = $1260 ^ $1259;
$1262 = $1261&255;
$1263 = (10176 + ($1262)|0);
$1264 = HEAP8[$1263>>0]|0;
$1265 = HEAP8[$88>>0]|0;
$1266 = $1265 ^ $1264;
$1267 = $1266&255;
$1268 = (13760 + ($1267<<2)|0);
$1269 = HEAP32[$1268>>2]|0;
$1270 = $1249 ^ $1269;
$1271 = HEAP8[$665>>0]|0;
$1272 = $1271 ^ 123;
$1273 = $1272&255;
$1274 = (10176 + ($1273)|0);
$1275 = HEAP8[$1274>>0]|0;
$1276 = HEAP8[$481>>0]|0;
$1277 = $1276 ^ $1275;
$1278 = $1277&255;
$1279 = (10432 + ($1278)|0);
$1280 = HEAP8[$1279>>0]|0;
$1281 = HEAP8[$296>>0]|0;
$1282 = $1281 ^ $1280;
$1283 = $1282&255;
$1284 = (10432 + ($1283)|0);
$1285 = HEAP8[$1284>>0]|0;
$1286 = HEAP8[$112>>0]|0;
$1287 = $1286 ^ $1285;
$1288 = $1287&255;
$1289 = (10688 + ($1288<<2)|0);
$1290 = HEAP32[$1289>>2]|0;
$1291 = HEAP8[$689>>0]|0;
$1292 = $1291 ^ -3;
$1293 = $1292&255;
$1294 = (10176 + ($1293)|0);
$1295 = HEAP8[$1294>>0]|0;
$1296 = HEAP8[$505>>0]|0;
$1297 = $1296 ^ $1295;
$1298 = $1297&255;
$1299 = (10176 + ($1298)|0);
$1300 = HEAP8[$1299>>0]|0;
$1301 = HEAP8[$320>>0]|0;
$1302 = $1301 ^ $1300;
$1303 = $1302&255;
$1304 = (10432 + ($1303)|0);
$1305 = HEAP8[$1304>>0]|0;
$1306 = HEAP8[$136>>0]|0;
$1307 = $1306 ^ $1305;
$1308 = $1307&255;
$1309 = (11712 + ($1308<<2)|0);
$1310 = HEAP32[$1309>>2]|0;
$1311 = $1310 ^ $1290;
$1312 = HEAP8[$713>>0]|0;
$1313 = $1312 ^ -3;
$1314 = $1313&255;
$1315 = (10432 + ($1314)|0);
$1316 = HEAP8[$1315>>0]|0;
$1317 = HEAP8[$529>>0]|0;
$1318 = $1317 ^ $1316;
$1319 = $1318&255;
$1320 = (10432 + ($1319)|0);
$1321 = HEAP8[$1320>>0]|0;
$1322 = HEAP8[$344>>0]|0;
$1323 = $1322 ^ $1321;
$1324 = $1323&255;
$1325 = (10176 + ($1324)|0);
$1326 = HEAP8[$1325>>0]|0;
$1327 = HEAP8[$160>>0]|0;
$1328 = $1327 ^ $1326;
$1329 = $1328&255;
$1330 = (12736 + ($1329<<2)|0);
$1331 = HEAP32[$1330>>2]|0;
$1332 = $1311 ^ $1331;
$1333 = HEAP8[$737>>0]|0;
$1334 = $1333 ^ 123;
$1335 = $1334&255;
$1336 = (10432 + ($1335)|0);
$1337 = HEAP8[$1336>>0]|0;
$1338 = HEAP8[$553>>0]|0;
$1339 = $1338 ^ $1337;
$1340 = $1339&255;
$1341 = (10176 + ($1340)|0);
$1342 = HEAP8[$1341>>0]|0;
$1343 = HEAP8[$368>>0]|0;
$1344 = $1343 ^ $1342;
$1345 = $1344&255;
$1346 = (10176 + ($1345)|0);
$1347 = HEAP8[$1346>>0]|0;
$1348 = HEAP8[$184>>0]|0;
$1349 = $1348 ^ $1347;
$1350 = $1349&255;
$1351 = (13760 + ($1350<<2)|0);
$1352 = HEAP32[$1351>>2]|0;
$1353 = $1332 ^ $1352;
$1354 = $1353 << 8;
$1355 = $1353 >>> 24;
$1356 = $1354 | $1355;
$1357 = (($1356) + ($1270))|0;
$1358 = (($1357) + ($1356))|0;
$1359 = ((($0)) + 4112|0);
HEAP32[$1359>>2] = $1357;
$1360 = $1358 << 9;
$1361 = $1358 >>> 23;
$1362 = $1360 | $1361;
$1363 = ((($0)) + 4116|0);
HEAP32[$1363>>2] = $1362;
$1364 = HEAP8[$577>>0]|0;
$1365 = $1364 ^ -5;
$1366 = $1365&255;
$1367 = (10176 + ($1366)|0);
$1368 = HEAP8[$1367>>0]|0;
$1369 = HEAP8[$393>>0]|0;
$1370 = $1369 ^ $1368;
$1371 = $1370&255;
$1372 = (10432 + ($1371)|0);
$1373 = HEAP8[$1372>>0]|0;
$1374 = HEAP8[$208>>0]|0;
$1375 = $1374 ^ $1373;
$1376 = $1375&255;
$1377 = (10432 + ($1376)|0);
$1378 = HEAP8[$1377>>0]|0;
$1379 = HEAP8[$1>>0]|0;
$1380 = $1379 ^ $1378;
$1381 = $1380&255;
$1382 = (10688 + ($1381<<2)|0);
$1383 = HEAP32[$1382>>2]|0;
$1384 = HEAP8[$593>>0]|0;
$1385 = $1384 ^ -93;
$1386 = $1385&255;
$1387 = (10176 + ($1386)|0);
$1388 = HEAP8[$1387>>0]|0;
$1389 = HEAP8[$409>>0]|0;
$1390 = $1389 ^ $1388;
$1391 = $1390&255;
$1392 = (10176 + ($1391)|0);
$1393 = HEAP8[$1392>>0]|0;
$1394 = HEAP8[$224>>0]|0;
$1395 = $1394 ^ $1393;
$1396 = $1395&255;
$1397 = (10432 + ($1396)|0);
$1398 = HEAP8[$1397>>0]|0;
$1399 = HEAP8[$40>>0]|0;
$1400 = $1399 ^ $1398;
$1401 = $1400&255;
$1402 = (11712 + ($1401<<2)|0);
$1403 = HEAP32[$1402>>2]|0;
$1404 = $1403 ^ $1383;
$1405 = HEAP8[$617>>0]|0;
$1406 = $1405 ^ -93;
$1407 = $1406&255;
$1408 = (10432 + ($1407)|0);
$1409 = HEAP8[$1408>>0]|0;
$1410 = HEAP8[$433>>0]|0;
$1411 = $1410 ^ $1409;
$1412 = $1411&255;
$1413 = (10432 + ($1412)|0);
$1414 = HEAP8[$1413>>0]|0;
$1415 = HEAP8[$248>>0]|0;
$1416 = $1415 ^ $1414;
$1417 = $1416&255;
$1418 = (10176 + ($1417)|0);
$1419 = HEAP8[$1418>>0]|0;
$1420 = HEAP8[$64>>0]|0;
$1421 = $1420 ^ $1419;
$1422 = $1421&255;
$1423 = (12736 + ($1422<<2)|0);
$1424 = HEAP32[$1423>>2]|0;
$1425 = $1404 ^ $1424;
$1426 = HEAP8[$641>>0]|0;
$1427 = $1426 ^ -5;
$1428 = $1427&255;
$1429 = (10432 + ($1428)|0);
$1430 = HEAP8[$1429>>0]|0;
$1431 = HEAP8[$457>>0]|0;
$1432 = $1431 ^ $1430;
$1433 = $1432&255;
$1434 = (10176 + ($1433)|0);
$1435 = HEAP8[$1434>>0]|0;
$1436 = HEAP8[$272>>0]|0;
$1437 = $1436 ^ $1435;
$1438 = $1437&255;
$1439 = (10176 + ($1438)|0);
$1440 = HEAP8[$1439>>0]|0;
$1441 = HEAP8[$88>>0]|0;
$1442 = $1441 ^ $1440;
$1443 = $1442&255;
$1444 = (13760 + ($1443<<2)|0);
$1445 = HEAP32[$1444>>2]|0;
$1446 = $1425 ^ $1445;
$1447 = HEAP8[$665>>0]|0;
$1448 = $1447 ^ -56;
$1449 = $1448&255;
$1450 = (10176 + ($1449)|0);
$1451 = HEAP8[$1450>>0]|0;
$1452 = HEAP8[$481>>0]|0;
$1453 = $1452 ^ $1451;
$1454 = $1453&255;
$1455 = (10432 + ($1454)|0);
$1456 = HEAP8[$1455>>0]|0;
$1457 = HEAP8[$296>>0]|0;
$1458 = $1457 ^ $1456;
$1459 = $1458&255;
$1460 = (10432 + ($1459)|0);
$1461 = HEAP8[$1460>>0]|0;
$1462 = HEAP8[$112>>0]|0;
$1463 = $1462 ^ $1461;
$1464 = $1463&255;
$1465 = (10688 + ($1464<<2)|0);
$1466 = HEAP32[$1465>>2]|0;
$1467 = HEAP8[$689>>0]|0;
$1468 = $1467 ^ 118;
$1469 = $1468&255;
$1470 = (10176 + ($1469)|0);
$1471 = HEAP8[$1470>>0]|0;
$1472 = HEAP8[$505>>0]|0;
$1473 = $1472 ^ $1471;
$1474 = $1473&255;
$1475 = (10176 + ($1474)|0);
$1476 = HEAP8[$1475>>0]|0;
$1477 = HEAP8[$320>>0]|0;
$1478 = $1477 ^ $1476;
$1479 = $1478&255;
$1480 = (10432 + ($1479)|0);
$1481 = HEAP8[$1480>>0]|0;
$1482 = HEAP8[$136>>0]|0;
$1483 = $1482 ^ $1481;
$1484 = $1483&255;
$1485 = (11712 + ($1484<<2)|0);
$1486 = HEAP32[$1485>>2]|0;
$1487 = $1486 ^ $1466;
$1488 = HEAP8[$713>>0]|0;
$1489 = $1488 ^ 118;
$1490 = $1489&255;
$1491 = (10432 + ($1490)|0);
$1492 = HEAP8[$1491>>0]|0;
$1493 = HEAP8[$529>>0]|0;
$1494 = $1493 ^ $1492;
$1495 = $1494&255;
$1496 = (10432 + ($1495)|0);
$1497 = HEAP8[$1496>>0]|0;
$1498 = HEAP8[$344>>0]|0;
$1499 = $1498 ^ $1497;
$1500 = $1499&255;
$1501 = (10176 + ($1500)|0);
$1502 = HEAP8[$1501>>0]|0;
$1503 = HEAP8[$160>>0]|0;
$1504 = $1503 ^ $1502;
$1505 = $1504&255;
$1506 = (12736 + ($1505<<2)|0);
$1507 = HEAP32[$1506>>2]|0;
$1508 = $1487 ^ $1507;
$1509 = HEAP8[$737>>0]|0;
$1510 = $1509 ^ -56;
$1511 = $1510&255;
$1512 = (10432 + ($1511)|0);
$1513 = HEAP8[$1512>>0]|0;
$1514 = HEAP8[$553>>0]|0;
$1515 = $1514 ^ $1513;
$1516 = $1515&255;
$1517 = (10176 + ($1516)|0);
$1518 = HEAP8[$1517>>0]|0;
$1519 = HEAP8[$368>>0]|0;
$1520 = $1519 ^ $1518;
$1521 = $1520&255;
$1522 = (10176 + ($1521)|0);
$1523 = HEAP8[$1522>>0]|0;
$1524 = HEAP8[$184>>0]|0;
$1525 = $1524 ^ $1523;
$1526 = $1525&255;
$1527 = (13760 + ($1526<<2)|0);
$1528 = HEAP32[$1527>>2]|0;
$1529 = $1508 ^ $1528;
$1530 = $1529 << 8;
$1531 = $1529 >>> 24;
$1532 = $1530 | $1531;
$1533 = (($1532) + ($1446))|0;
$1534 = (($1533) + ($1532))|0;
$1535 = ((($0)) + 4120|0);
HEAP32[$1535>>2] = $1533;
$1536 = $1534 << 9;
$1537 = $1534 >>> 23;
$1538 = $1536 | $1537;
$1539 = ((($0)) + 4124|0);
HEAP32[$1539>>2] = $1538;
$1540 = HEAP8[$577>>0]|0;
$1541 = $1540 ^ 74;
$1542 = $1541&255;
$1543 = (10176 + ($1542)|0);
$1544 = HEAP8[$1543>>0]|0;
$1545 = HEAP8[$393>>0]|0;
$1546 = $1545 ^ $1544;
$1547 = $1546&255;
$1548 = (10432 + ($1547)|0);
$1549 = HEAP8[$1548>>0]|0;
$1550 = HEAP8[$208>>0]|0;
$1551 = $1550 ^ $1549;
$1552 = $1551&255;
$1553 = (10432 + ($1552)|0);
$1554 = HEAP8[$1553>>0]|0;
$1555 = HEAP8[$1>>0]|0;
$1556 = $1555 ^ $1554;
$1557 = $1556&255;
$1558 = (10688 + ($1557<<2)|0);
$1559 = HEAP32[$1558>>2]|0;
$1560 = HEAP8[$593>>0]|0;
$1561 = $1560 ^ -102;
$1562 = $1561&255;
$1563 = (10176 + ($1562)|0);
$1564 = HEAP8[$1563>>0]|0;
$1565 = HEAP8[$409>>0]|0;
$1566 = $1565 ^ $1564;
$1567 = $1566&255;
$1568 = (10176 + ($1567)|0);
$1569 = HEAP8[$1568>>0]|0;
$1570 = HEAP8[$224>>0]|0;
$1571 = $1570 ^ $1569;
$1572 = $1571&255;
$1573 = (10432 + ($1572)|0);
$1574 = HEAP8[$1573>>0]|0;
$1575 = HEAP8[$40>>0]|0;
$1576 = $1575 ^ $1574;
$1577 = $1576&255;
$1578 = (11712 + ($1577<<2)|0);
$1579 = HEAP32[$1578>>2]|0;
$1580 = $1579 ^ $1559;
$1581 = HEAP8[$617>>0]|0;
$1582 = $1581 ^ -102;
$1583 = $1582&255;
$1584 = (10432 + ($1583)|0);
$1585 = HEAP8[$1584>>0]|0;
$1586 = HEAP8[$433>>0]|0;
$1587 = $1586 ^ $1585;
$1588 = $1587&255;
$1589 = (10432 + ($1588)|0);
$1590 = HEAP8[$1589>>0]|0;
$1591 = HEAP8[$248>>0]|0;
$1592 = $1591 ^ $1590;
$1593 = $1592&255;
$1594 = (10176 + ($1593)|0);
$1595 = HEAP8[$1594>>0]|0;
$1596 = HEAP8[$64>>0]|0;
$1597 = $1596 ^ $1595;
$1598 = $1597&255;
$1599 = (12736 + ($1598<<2)|0);
$1600 = HEAP32[$1599>>2]|0;
$1601 = $1580 ^ $1600;
$1602 = HEAP8[$641>>0]|0;
$1603 = $1602 ^ 74;
$1604 = $1603&255;
$1605 = (10432 + ($1604)|0);
$1606 = HEAP8[$1605>>0]|0;
$1607 = HEAP8[$457>>0]|0;
$1608 = $1607 ^ $1606;
$1609 = $1608&255;
$1610 = (10176 + ($1609)|0);
$1611 = HEAP8[$1610>>0]|0;
$1612 = HEAP8[$272>>0]|0;
$1613 = $1612 ^ $1611;
$1614 = $1613&255;
$1615 = (10176 + ($1614)|0);
$1616 = HEAP8[$1615>>0]|0;
$1617 = HEAP8[$88>>0]|0;
$1618 = $1617 ^ $1616;
$1619 = $1618&255;
$1620 = (13760 + ($1619<<2)|0);
$1621 = HEAP32[$1620>>2]|0;
$1622 = $1601 ^ $1621;
$1623 = HEAP8[$665>>0]|0;
$1624 = $1623 ^ -45;
$1625 = $1624&255;
$1626 = (10176 + ($1625)|0);
$1627 = HEAP8[$1626>>0]|0;
$1628 = HEAP8[$481>>0]|0;
$1629 = $1628 ^ $1627;
$1630 = $1629&255;
$1631 = (10432 + ($1630)|0);
$1632 = HEAP8[$1631>>0]|0;
$1633 = HEAP8[$296>>0]|0;
$1634 = $1633 ^ $1632;
$1635 = $1634&255;
$1636 = (10432 + ($1635)|0);
$1637 = HEAP8[$1636>>0]|0;
$1638 = HEAP8[$112>>0]|0;
$1639 = $1638 ^ $1637;
$1640 = $1639&255;
$1641 = (10688 + ($1640<<2)|0);
$1642 = HEAP32[$1641>>2]|0;
$1643 = HEAP8[$689>>0]|0;
$1644 = $1643 ^ -110;
$1645 = $1644&255;
$1646 = (10176 + ($1645)|0);
$1647 = HEAP8[$1646>>0]|0;
$1648 = HEAP8[$505>>0]|0;
$1649 = $1648 ^ $1647;
$1650 = $1649&255;
$1651 = (10176 + ($1650)|0);
$1652 = HEAP8[$1651>>0]|0;
$1653 = HEAP8[$320>>0]|0;
$1654 = $1653 ^ $1652;
$1655 = $1654&255;
$1656 = (10432 + ($1655)|0);
$1657 = HEAP8[$1656>>0]|0;
$1658 = HEAP8[$136>>0]|0;
$1659 = $1658 ^ $1657;
$1660 = $1659&255;
$1661 = (11712 + ($1660<<2)|0);
$1662 = HEAP32[$1661>>2]|0;
$1663 = $1662 ^ $1642;
$1664 = HEAP8[$713>>0]|0;
$1665 = $1664 ^ -110;
$1666 = $1665&255;
$1667 = (10432 + ($1666)|0);
$1668 = HEAP8[$1667>>0]|0;
$1669 = HEAP8[$529>>0]|0;
$1670 = $1669 ^ $1668;
$1671 = $1670&255;
$1672 = (10432 + ($1671)|0);
$1673 = HEAP8[$1672>>0]|0;
$1674 = HEAP8[$344>>0]|0;
$1675 = $1674 ^ $1673;
$1676 = $1675&255;
$1677 = (10176 + ($1676)|0);
$1678 = HEAP8[$1677>>0]|0;
$1679 = HEAP8[$160>>0]|0;
$1680 = $1679 ^ $1678;
$1681 = $1680&255;
$1682 = (12736 + ($1681<<2)|0);
$1683 = HEAP32[$1682>>2]|0;
$1684 = $1663 ^ $1683;
$1685 = HEAP8[$737>>0]|0;
$1686 = $1685 ^ -45;
$1687 = $1686&255;
$1688 = (10432 + ($1687)|0);
$1689 = HEAP8[$1688>>0]|0;
$1690 = HEAP8[$553>>0]|0;
$1691 = $1690 ^ $1689;
$1692 = $1691&255;
$1693 = (10176 + ($1692)|0);
$1694 = HEAP8[$1693>>0]|0;
$1695 = HEAP8[$368>>0]|0;
$1696 = $1695 ^ $1694;
$1697 = $1696&255;
$1698 = (10176 + ($1697)|0);
$1699 = HEAP8[$1698>>0]|0;
$1700 = HEAP8[$184>>0]|0;
$1701 = $1700 ^ $1699;
$1702 = $1701&255;
$1703 = (13760 + ($1702<<2)|0);
$1704 = HEAP32[$1703>>2]|0;
$1705 = $1684 ^ $1704;
$1706 = $1705 << 8;
$1707 = $1705 >>> 24;
$1708 = $1706 | $1707;
$1709 = (($1708) + ($1622))|0;
$1710 = (($1709) + ($1708))|0;
$1711 = ((($0)) + 4128|0);
HEAP32[$1711>>2] = $1709;
$1712 = $1710 << 9;
$1713 = $1710 >>> 23;
$1714 = $1712 | $1713;
$1715 = ((($0)) + 4132|0);
HEAP32[$1715>>2] = $1714;
$1716 = HEAP8[$577>>0]|0;
$1717 = $1716 ^ -26;
$1718 = $1717&255;
$1719 = (10176 + ($1718)|0);
$1720 = HEAP8[$1719>>0]|0;
$1721 = HEAP8[$393>>0]|0;
$1722 = $1721 ^ $1720;
$1723 = $1722&255;
$1724 = (10432 + ($1723)|0);
$1725 = HEAP8[$1724>>0]|0;
$1726 = HEAP8[$208>>0]|0;
$1727 = $1726 ^ $1725;
$1728 = $1727&255;
$1729 = (10432 + ($1728)|0);
$1730 = HEAP8[$1729>>0]|0;
$1731 = HEAP8[$1>>0]|0;
$1732 = $1731 ^ $1730;
$1733 = $1732&255;
$1734 = (10688 + ($1733<<2)|0);
$1735 = HEAP32[$1734>>2]|0;
$1736 = HEAP8[$593>>0]|0;
$1737 = $1736 ^ -128;
$1738 = $1737&255;
$1739 = (10176 + ($1738)|0);
$1740 = HEAP8[$1739>>0]|0;
$1741 = HEAP8[$409>>0]|0;
$1742 = $1741 ^ $1740;
$1743 = $1742&255;
$1744 = (10176 + ($1743)|0);
$1745 = HEAP8[$1744>>0]|0;
$1746 = HEAP8[$224>>0]|0;
$1747 = $1746 ^ $1745;
$1748 = $1747&255;
$1749 = (10432 + ($1748)|0);
$1750 = HEAP8[$1749>>0]|0;
$1751 = HEAP8[$40>>0]|0;
$1752 = $1751 ^ $1750;
$1753 = $1752&255;
$1754 = (11712 + ($1753<<2)|0);
$1755 = HEAP32[$1754>>2]|0;
$1756 = $1755 ^ $1735;
$1757 = HEAP8[$617>>0]|0;
$1758 = $1757 ^ -128;
$1759 = $1758&255;
$1760 = (10432 + ($1759)|0);
$1761 = HEAP8[$1760>>0]|0;
$1762 = HEAP8[$433>>0]|0;
$1763 = $1762 ^ $1761;
$1764 = $1763&255;
$1765 = (10432 + ($1764)|0);
$1766 = HEAP8[$1765>>0]|0;
$1767 = HEAP8[$248>>0]|0;
$1768 = $1767 ^ $1766;
$1769 = $1768&255;
$1770 = (10176 + ($1769)|0);
$1771 = HEAP8[$1770>>0]|0;
$1772 = HEAP8[$64>>0]|0;
$1773 = $1772 ^ $1771;
$1774 = $1773&255;
$1775 = (12736 + ($1774<<2)|0);
$1776 = HEAP32[$1775>>2]|0;
$1777 = $1756 ^ $1776;
$1778 = HEAP8[$641>>0]|0;
$1779 = $1778 ^ -26;
$1780 = $1779&255;
$1781 = (10432 + ($1780)|0);
$1782 = HEAP8[$1781>>0]|0;
$1783 = HEAP8[$457>>0]|0;
$1784 = $1783 ^ $1782;
$1785 = $1784&255;
$1786 = (10176 + ($1785)|0);
$1787 = HEAP8[$1786>>0]|0;
$1788 = HEAP8[$272>>0]|0;
$1789 = $1788 ^ $1787;
$1790 = $1789&255;
$1791 = (10176 + ($1790)|0);
$1792 = HEAP8[$1791>>0]|0;
$1793 = HEAP8[$88>>0]|0;
$1794 = $1793 ^ $1792;
$1795 = $1794&255;
$1796 = (13760 + ($1795<<2)|0);
$1797 = HEAP32[$1796>>2]|0;
$1798 = $1777 ^ $1797;
$1799 = HEAP8[$665>>0]|0;
$1800 = $1799 ^ 107;
$1801 = $1800&255;
$1802 = (10176 + ($1801)|0);
$1803 = HEAP8[$1802>>0]|0;
$1804 = HEAP8[$481>>0]|0;
$1805 = $1804 ^ $1803;
$1806 = $1805&255;
$1807 = (10432 + ($1806)|0);
$1808 = HEAP8[$1807>>0]|0;
$1809 = HEAP8[$296>>0]|0;
$1810 = $1809 ^ $1808;
$1811 = $1810&255;
$1812 = (10432 + ($1811)|0);
$1813 = HEAP8[$1812>>0]|0;
$1814 = HEAP8[$112>>0]|0;
$1815 = $1814 ^ $1813;
$1816 = $1815&255;
$1817 = (10688 + ($1816<<2)|0);
$1818 = HEAP32[$1817>>2]|0;
$1819 = HEAP8[$689>>0]|0;
$1820 = $1819 ^ 120;
$1821 = $1820&255;
$1822 = (10176 + ($1821)|0);
$1823 = HEAP8[$1822>>0]|0;
$1824 = HEAP8[$505>>0]|0;
$1825 = $1824 ^ $1823;
$1826 = $1825&255;
$1827 = (10176 + ($1826)|0);
$1828 = HEAP8[$1827>>0]|0;
$1829 = HEAP8[$320>>0]|0;
$1830 = $1829 ^ $1828;
$1831 = $1830&255;
$1832 = (10432 + ($1831)|0);
$1833 = HEAP8[$1832>>0]|0;
$1834 = HEAP8[$136>>0]|0;
$1835 = $1834 ^ $1833;
$1836 = $1835&255;
$1837 = (11712 + ($1836<<2)|0);
$1838 = HEAP32[$1837>>2]|0;
$1839 = $1838 ^ $1818;
$1840 = HEAP8[$713>>0]|0;
$1841 = $1840 ^ 120;
$1842 = $1841&255;
$1843 = (10432 + ($1842)|0);
$1844 = HEAP8[$1843>>0]|0;
$1845 = HEAP8[$529>>0]|0;
$1846 = $1845 ^ $1844;
$1847 = $1846&255;
$1848 = (10432 + ($1847)|0);
$1849 = HEAP8[$1848>>0]|0;
$1850 = HEAP8[$344>>0]|0;
$1851 = $1850 ^ $1849;
$1852 = $1851&255;
$1853 = (10176 + ($1852)|0);
$1854 = HEAP8[$1853>>0]|0;
$1855 = HEAP8[$160>>0]|0;
$1856 = $1855 ^ $1854;
$1857 = $1856&255;
$1858 = (12736 + ($1857<<2)|0);
$1859 = HEAP32[$1858>>2]|0;
$1860 = $1839 ^ $1859;
$1861 = HEAP8[$737>>0]|0;
$1862 = $1861 ^ 107;
$1863 = $1862&255;
$1864 = (10432 + ($1863)|0);
$1865 = HEAP8[$1864>>0]|0;
$1866 = HEAP8[$553>>0]|0;
$1867 = $1866 ^ $1865;
$1868 = $1867&255;
$1869 = (10176 + ($1868)|0);
$1870 = HEAP8[$1869>>0]|0;
$1871 = HEAP8[$368>>0]|0;
$1872 = $1871 ^ $1870;
$1873 = $1872&255;
$1874 = (10176 + ($1873)|0);
$1875 = HEAP8[$1874>>0]|0;
$1876 = HEAP8[$184>>0]|0;
$1877 = $1876 ^ $1875;
$1878 = $1877&255;
$1879 = (13760 + ($1878<<2)|0);
$1880 = HEAP32[$1879>>2]|0;
$1881 = $1860 ^ $1880;
$1882 = $1881 << 8;
$1883 = $1881 >>> 24;
$1884 = $1882 | $1883;
$1885 = (($1884) + ($1798))|0;
$1886 = (($1885) + ($1884))|0;
$1887 = ((($0)) + 4136|0);
HEAP32[$1887>>2] = $1885;
$1888 = $1886 << 9;
$1889 = $1886 >>> 23;
$1890 = $1888 | $1889;
$1891 = ((($0)) + 4140|0);
HEAP32[$1891>>2] = $1890;
$1892 = HEAP8[$577>>0]|0;
$1893 = $1892 ^ 69;
$1894 = $1893&255;
$1895 = (10176 + ($1894)|0);
$1896 = HEAP8[$1895>>0]|0;
$1897 = HEAP8[$393>>0]|0;
$1898 = $1897 ^ $1896;
$1899 = $1898&255;
$1900 = (10432 + ($1899)|0);
$1901 = HEAP8[$1900>>0]|0;
$1902 = HEAP8[$208>>0]|0;
$1903 = $1902 ^ $1901;
$1904 = $1903&255;
$1905 = (10432 + ($1904)|0);
$1906 = HEAP8[$1905>>0]|0;
$1907 = HEAP8[$1>>0]|0;
$1908 = $1907 ^ $1906;
$1909 = $1908&255;
$1910 = (10688 + ($1909<<2)|0);
$1911 = HEAP32[$1910>>2]|0;
$1912 = HEAP8[$593>>0]|0;
$1913 = $1912 ^ -28;
$1914 = $1913&255;
$1915 = (10176 + ($1914)|0);
$1916 = HEAP8[$1915>>0]|0;
$1917 = HEAP8[$409>>0]|0;
$1918 = $1917 ^ $1916;
$1919 = $1918&255;
$1920 = (10176 + ($1919)|0);
$1921 = HEAP8[$1920>>0]|0;
$1922 = HEAP8[$224>>0]|0;
$1923 = $1922 ^ $1921;
$1924 = $1923&255;
$1925 = (10432 + ($1924)|0);
$1926 = HEAP8[$1925>>0]|0;
$1927 = HEAP8[$40>>0]|0;
$1928 = $1927 ^ $1926;
$1929 = $1928&255;
$1930 = (11712 + ($1929<<2)|0);
$1931 = HEAP32[$1930>>2]|0;
$1932 = $1931 ^ $1911;
$1933 = HEAP8[$617>>0]|0;
$1934 = $1933 ^ -28;
$1935 = $1934&255;
$1936 = (10432 + ($1935)|0);
$1937 = HEAP8[$1936>>0]|0;
$1938 = HEAP8[$433>>0]|0;
$1939 = $1938 ^ $1937;
$1940 = $1939&255;
$1941 = (10432 + ($1940)|0);
$1942 = HEAP8[$1941>>0]|0;
$1943 = HEAP8[$248>>0]|0;
$1944 = $1943 ^ $1942;
$1945 = $1944&255;
$1946 = (10176 + ($1945)|0);
$1947 = HEAP8[$1946>>0]|0;
$1948 = HEAP8[$64>>0]|0;
$1949 = $1948 ^ $1947;
$1950 = $1949&255;
$1951 = (12736 + ($1950<<2)|0);
$1952 = HEAP32[$1951>>2]|0;
$1953 = $1932 ^ $1952;
$1954 = HEAP8[$641>>0]|0;
$1955 = $1954 ^ 69;
$1956 = $1955&255;
$1957 = (10432 + ($1956)|0);
$1958 = HEAP8[$1957>>0]|0;
$1959 = HEAP8[$457>>0]|0;
$1960 = $1959 ^ $1958;
$1961 = $1960&255;
$1962 = (10176 + ($1961)|0);
$1963 = HEAP8[$1962>>0]|0;
$1964 = HEAP8[$272>>0]|0;
$1965 = $1964 ^ $1963;
$1966 = $1965&255;
$1967 = (10176 + ($1966)|0);
$1968 = HEAP8[$1967>>0]|0;
$1969 = HEAP8[$88>>0]|0;
$1970 = $1969 ^ $1968;
$1971 = $1970&255;
$1972 = (13760 + ($1971<<2)|0);
$1973 = HEAP32[$1972>>2]|0;
$1974 = $1953 ^ $1973;
$1975 = HEAP8[$665>>0]|0;
$1976 = $1975 ^ 125;
$1977 = $1976&255;
$1978 = (10176 + ($1977)|0);
$1979 = HEAP8[$1978>>0]|0;
$1980 = HEAP8[$481>>0]|0;
$1981 = $1980 ^ $1979;
$1982 = $1981&255;
$1983 = (10432 + ($1982)|0);
$1984 = HEAP8[$1983>>0]|0;
$1985 = HEAP8[$296>>0]|0;
$1986 = $1985 ^ $1984;
$1987 = $1986&255;
$1988 = (10432 + ($1987)|0);
$1989 = HEAP8[$1988>>0]|0;
$1990 = HEAP8[$112>>0]|0;
$1991 = $1990 ^ $1989;
$1992 = $1991&255;
$1993 = (10688 + ($1992<<2)|0);
$1994 = HEAP32[$1993>>2]|0;
$1995 = HEAP8[$689>>0]|0;
$1996 = $1995 ^ -35;
$1997 = $1996&255;
$1998 = (10176 + ($1997)|0);
$1999 = HEAP8[$1998>>0]|0;
$2000 = HEAP8[$505>>0]|0;
$2001 = $2000 ^ $1999;
$2002 = $2001&255;
$2003 = (10176 + ($2002)|0);
$2004 = HEAP8[$2003>>0]|0;
$2005 = HEAP8[$320>>0]|0;
$2006 = $2005 ^ $2004;
$2007 = $2006&255;
$2008 = (10432 + ($2007)|0);
$2009 = HEAP8[$2008>>0]|0;
$2010 = HEAP8[$136>>0]|0;
$2011 = $2010 ^ $2009;
$2012 = $2011&255;
$2013 = (11712 + ($2012<<2)|0);
$2014 = HEAP32[$2013>>2]|0;
$2015 = $2014 ^ $1994;
$2016 = HEAP8[$713>>0]|0;
$2017 = $2016 ^ -35;
$2018 = $2017&255;
$2019 = (10432 + ($2018)|0);
$2020 = HEAP8[$2019>>0]|0;
$2021 = HEAP8[$529>>0]|0;
$2022 = $2021 ^ $2020;
$2023 = $2022&255;
$2024 = (10432 + ($2023)|0);
$2025 = HEAP8[$2024>>0]|0;
$2026 = HEAP8[$344>>0]|0;
$2027 = $2026 ^ $2025;
$2028 = $2027&255;
$2029 = (10176 + ($2028)|0);
$2030 = HEAP8[$2029>>0]|0;
$2031 = HEAP8[$160>>0]|0;
$2032 = $2031 ^ $2030;
$2033 = $2032&255;
$2034 = (12736 + ($2033<<2)|0);
$2035 = HEAP32[$2034>>2]|0;
$2036 = $2015 ^ $2035;
$2037 = HEAP8[$737>>0]|0;
$2038 = $2037 ^ 125;
$2039 = $2038&255;
$2040 = (10432 + ($2039)|0);
$2041 = HEAP8[$2040>>0]|0;
$2042 = HEAP8[$553>>0]|0;
$2043 = $2042 ^ $2041;
$2044 = $2043&255;
$2045 = (10176 + ($2044)|0);
$2046 = HEAP8[$2045>>0]|0;
$2047 = HEAP8[$368>>0]|0;
$2048 = $2047 ^ $2046;
$2049 = $2048&255;
$2050 = (10176 + ($2049)|0);
$2051 = HEAP8[$2050>>0]|0;
$2052 = HEAP8[$184>>0]|0;
$2053 = $2052 ^ $2051;
$2054 = $2053&255;
$2055 = (13760 + ($2054<<2)|0);
$2056 = HEAP32[$2055>>2]|0;
$2057 = $2036 ^ $2056;
$2058 = $2057 << 8;
$2059 = $2057 >>> 24;
$2060 = $2058 | $2059;
$2061 = (($2060) + ($1974))|0;
$2062 = (($2061) + ($2060))|0;
$2063 = ((($0)) + 4144|0);
HEAP32[$2063>>2] = $2061;
$2064 = $2062 << 9;
$2065 = $2062 >>> 23;
$2066 = $2064 | $2065;
$2067 = ((($0)) + 4148|0);
HEAP32[$2067>>2] = $2066;
$2068 = HEAP8[$577>>0]|0;
$2069 = $2068 ^ -24;
$2070 = $2069&255;
$2071 = (10176 + ($2070)|0);
$2072 = HEAP8[$2071>>0]|0;
$2073 = HEAP8[$393>>0]|0;
$2074 = $2073 ^ $2072;
$2075 = $2074&255;
$2076 = (10432 + ($2075)|0);
$2077 = HEAP8[$2076>>0]|0;
$2078 = HEAP8[$208>>0]|0;
$2079 = $2078 ^ $2077;
$2080 = $2079&255;
$2081 = (10432 + ($2080)|0);
$2082 = HEAP8[$2081>>0]|0;
$2083 = HEAP8[$1>>0]|0;
$2084 = $2083 ^ $2082;
$2085 = $2084&255;
$2086 = (10688 + ($2085<<2)|0);
$2087 = HEAP32[$2086>>2]|0;
$2088 = HEAP8[$593>>0]|0;
$2089 = $2088 ^ -47;
$2090 = $2089&255;
$2091 = (10176 + ($2090)|0);
$2092 = HEAP8[$2091>>0]|0;
$2093 = HEAP8[$409>>0]|0;
$2094 = $2093 ^ $2092;
$2095 = $2094&255;
$2096 = (10176 + ($2095)|0);
$2097 = HEAP8[$2096>>0]|0;
$2098 = HEAP8[$224>>0]|0;
$2099 = $2098 ^ $2097;
$2100 = $2099&255;
$2101 = (10432 + ($2100)|0);
$2102 = HEAP8[$2101>>0]|0;
$2103 = HEAP8[$40>>0]|0;
$2104 = $2103 ^ $2102;
$2105 = $2104&255;
$2106 = (11712 + ($2105<<2)|0);
$2107 = HEAP32[$2106>>2]|0;
$2108 = $2107 ^ $2087;
$2109 = HEAP8[$617>>0]|0;
$2110 = $2109 ^ -47;
$2111 = $2110&255;
$2112 = (10432 + ($2111)|0);
$2113 = HEAP8[$2112>>0]|0;
$2114 = HEAP8[$433>>0]|0;
$2115 = $2114 ^ $2113;
$2116 = $2115&255;
$2117 = (10432 + ($2116)|0);
$2118 = HEAP8[$2117>>0]|0;
$2119 = HEAP8[$248>>0]|0;
$2120 = $2119 ^ $2118;
$2121 = $2120&255;
$2122 = (10176 + ($2121)|0);
$2123 = HEAP8[$2122>>0]|0;
$2124 = HEAP8[$64>>0]|0;
$2125 = $2124 ^ $2123;
$2126 = $2125&255;
$2127 = (12736 + ($2126<<2)|0);
$2128 = HEAP32[$2127>>2]|0;
$2129 = $2108 ^ $2128;
$2130 = HEAP8[$641>>0]|0;
$2131 = $2130 ^ -24;
$2132 = $2131&255;
$2133 = (10432 + ($2132)|0);
$2134 = HEAP8[$2133>>0]|0;
$2135 = HEAP8[$457>>0]|0;
$2136 = $2135 ^ $2134;
$2137 = $2136&255;
$2138 = (10176 + ($2137)|0);
$2139 = HEAP8[$2138>>0]|0;
$2140 = HEAP8[$272>>0]|0;
$2141 = $2140 ^ $2139;
$2142 = $2141&255;
$2143 = (10176 + ($2142)|0);
$2144 = HEAP8[$2143>>0]|0;
$2145 = HEAP8[$88>>0]|0;
$2146 = $2145 ^ $2144;
$2147 = $2146&255;
$2148 = (13760 + ($2147<<2)|0);
$2149 = HEAP32[$2148>>2]|0;
$2150 = $2129 ^ $2149;
$2151 = HEAP8[$665>>0]|0;
$2152 = $2151 ^ 75;
$2153 = $2152&255;
$2154 = (10176 + ($2153)|0);
$2155 = HEAP8[$2154>>0]|0;
$2156 = HEAP8[$481>>0]|0;
$2157 = $2156 ^ $2155;
$2158 = $2157&255;
$2159 = (10432 + ($2158)|0);
$2160 = HEAP8[$2159>>0]|0;
$2161 = HEAP8[$296>>0]|0;
$2162 = $2161 ^ $2160;
$2163 = $2162&255;
$2164 = (10432 + ($2163)|0);
$2165 = HEAP8[$2164>>0]|0;
$2166 = HEAP8[$112>>0]|0;
$2167 = $2166 ^ $2165;
$2168 = $2167&255;
$2169 = (10688 + ($2168<<2)|0);
$2170 = HEAP32[$2169>>2]|0;
$2171 = HEAP8[$689>>0]|0;
$2172 = $2171 ^ 56;
$2173 = $2172&255;
$2174 = (10176 + ($2173)|0);
$2175 = HEAP8[$2174>>0]|0;
$2176 = HEAP8[$505>>0]|0;
$2177 = $2176 ^ $2175;
$2178 = $2177&255;
$2179 = (10176 + ($2178)|0);
$2180 = HEAP8[$2179>>0]|0;
$2181 = HEAP8[$320>>0]|0;
$2182 = $2181 ^ $2180;
$2183 = $2182&255;
$2184 = (10432 + ($2183)|0);
$2185 = HEAP8[$2184>>0]|0;
$2186 = HEAP8[$136>>0]|0;
$2187 = $2186 ^ $2185;
$2188 = $2187&255;
$2189 = (11712 + ($2188<<2)|0);
$2190 = HEAP32[$2189>>2]|0;
$2191 = $2190 ^ $2170;
$2192 = HEAP8[$713>>0]|0;
$2193 = $2192 ^ 56;
$2194 = $2193&255;
$2195 = (10432 + ($2194)|0);
$2196 = HEAP8[$2195>>0]|0;
$2197 = HEAP8[$529>>0]|0;
$2198 = $2197 ^ $2196;
$2199 = $2198&255;
$2200 = (10432 + ($2199)|0);
$2201 = HEAP8[$2200>>0]|0;
$2202 = HEAP8[$344>>0]|0;
$2203 = $2202 ^ $2201;
$2204 = $2203&255;
$2205 = (10176 + ($2204)|0);
$2206 = HEAP8[$2205>>0]|0;
$2207 = HEAP8[$160>>0]|0;
$2208 = $2207 ^ $2206;
$2209 = $2208&255;
$2210 = (12736 + ($2209<<2)|0);
$2211 = HEAP32[$2210>>2]|0;
$2212 = $2191 ^ $2211;
$2213 = HEAP8[$737>>0]|0;
$2214 = $2213 ^ 75;
$2215 = $2214&255;
$2216 = (10432 + ($2215)|0);
$2217 = HEAP8[$2216>>0]|0;
$2218 = HEAP8[$553>>0]|0;
$2219 = $2218 ^ $2217;
$2220 = $2219&255;
$2221 = (10176 + ($2220)|0);
$2222 = HEAP8[$2221>>0]|0;
$2223 = HEAP8[$368>>0]|0;
$2224 = $2223 ^ $2222;
$2225 = $2224&255;
$2226 = (10176 + ($2225)|0);
$2227 = HEAP8[$2226>>0]|0;
$2228 = HEAP8[$184>>0]|0;
$2229 = $2228 ^ $2227;
$2230 = $2229&255;
$2231 = (13760 + ($2230<<2)|0);
$2232 = HEAP32[$2231>>2]|0;
$2233 = $2212 ^ $2232;
$2234 = $2233 << 8;
$2235 = $2233 >>> 24;
$2236 = $2234 | $2235;
$2237 = (($2236) + ($2150))|0;
$2238 = (($2237) + ($2236))|0;
$2239 = ((($0)) + 4152|0);
HEAP32[$2239>>2] = $2237;
$2240 = $2238 << 9;
$2241 = $2238 >>> 23;
$2242 = $2240 | $2241;
$2243 = ((($0)) + 4156|0);
HEAP32[$2243>>2] = $2242;
$2244 = HEAP8[$577>>0]|0;
$2245 = $2244 ^ -42;
$2246 = $2245&255;
$2247 = (10176 + ($2246)|0);
$2248 = HEAP8[$2247>>0]|0;
$2249 = HEAP8[$393>>0]|0;
$2250 = $2249 ^ $2248;
$2251 = $2250&255;
$2252 = (10432 + ($2251)|0);
$2253 = HEAP8[$2252>>0]|0;
$2254 = HEAP8[$208>>0]|0;
$2255 = $2254 ^ $2253;
$2256 = $2255&255;
$2257 = (10432 + ($2256)|0);
$2258 = HEAP8[$2257>>0]|0;
$2259 = HEAP8[$1>>0]|0;
$2260 = $2259 ^ $2258;
$2261 = $2260&255;
$2262 = (10688 + ($2261<<2)|0);
$2263 = HEAP32[$2262>>2]|0;
$2264 = HEAP8[$593>>0]|0;
$2265 = $2264 ^ 13;
$2266 = $2265&255;
$2267 = (10176 + ($2266)|0);
$2268 = HEAP8[$2267>>0]|0;
$2269 = HEAP8[$409>>0]|0;
$2270 = $2269 ^ $2268;
$2271 = $2270&255;
$2272 = (10176 + ($2271)|0);
$2273 = HEAP8[$2272>>0]|0;
$2274 = HEAP8[$224>>0]|0;
$2275 = $2274 ^ $2273;
$2276 = $2275&255;
$2277 = (10432 + ($2276)|0);
$2278 = HEAP8[$2277>>0]|0;
$2279 = HEAP8[$40>>0]|0;
$2280 = $2279 ^ $2278;
$2281 = $2280&255;
$2282 = (11712 + ($2281<<2)|0);
$2283 = HEAP32[$2282>>2]|0;
$2284 = $2283 ^ $2263;
$2285 = HEAP8[$617>>0]|0;
$2286 = $2285 ^ 13;
$2287 = $2286&255;
$2288 = (10432 + ($2287)|0);
$2289 = HEAP8[$2288>>0]|0;
$2290 = HEAP8[$433>>0]|0;
$2291 = $2290 ^ $2289;
$2292 = $2291&255;
$2293 = (10432 + ($2292)|0);
$2294 = HEAP8[$2293>>0]|0;
$2295 = HEAP8[$248>>0]|0;
$2296 = $2295 ^ $2294;
$2297 = $2296&255;
$2298 = (10176 + ($2297)|0);
$2299 = HEAP8[$2298>>0]|0;
$2300 = HEAP8[$64>>0]|0;
$2301 = $2300 ^ $2299;
$2302 = $2301&255;
$2303 = (12736 + ($2302<<2)|0);
$2304 = HEAP32[$2303>>2]|0;
$2305 = $2284 ^ $2304;
$2306 = HEAP8[$641>>0]|0;
$2307 = $2306 ^ -42;
$2308 = $2307&255;
$2309 = (10432 + ($2308)|0);
$2310 = HEAP8[$2309>>0]|0;
$2311 = HEAP8[$457>>0]|0;
$2312 = $2311 ^ $2310;
$2313 = $2312&255;
$2314 = (10176 + ($2313)|0);
$2315 = HEAP8[$2314>>0]|0;
$2316 = HEAP8[$272>>0]|0;
$2317 = $2316 ^ $2315;
$2318 = $2317&255;
$2319 = (10176 + ($2318)|0);
$2320 = HEAP8[$2319>>0]|0;
$2321 = HEAP8[$88>>0]|0;
$2322 = $2321 ^ $2320;
$2323 = $2322&255;
$2324 = (13760 + ($2323<<2)|0);
$2325 = HEAP32[$2324>>2]|0;
$2326 = $2305 ^ $2325;
$2327 = HEAP8[$665>>0]|0;
$2328 = $2327 ^ 50;
$2329 = $2328&255;
$2330 = (10176 + ($2329)|0);
$2331 = HEAP8[$2330>>0]|0;
$2332 = HEAP8[$481>>0]|0;
$2333 = $2332 ^ $2331;
$2334 = $2333&255;
$2335 = (10432 + ($2334)|0);
$2336 = HEAP8[$2335>>0]|0;
$2337 = HEAP8[$296>>0]|0;
$2338 = $2337 ^ $2336;
$2339 = $2338&255;
$2340 = (10432 + ($2339)|0);
$2341 = HEAP8[$2340>>0]|0;
$2342 = HEAP8[$112>>0]|0;
$2343 = $2342 ^ $2341;
$2344 = $2343&255;
$2345 = (10688 + ($2344<<2)|0);
$2346 = HEAP32[$2345>>2]|0;
$2347 = HEAP8[$689>>0]|0;
$2348 = $2347 ^ -58;
$2349 = $2348&255;
$2350 = (10176 + ($2349)|0);
$2351 = HEAP8[$2350>>0]|0;
$2352 = HEAP8[$505>>0]|0;
$2353 = $2352 ^ $2351;
$2354 = $2353&255;
$2355 = (10176 + ($2354)|0);
$2356 = HEAP8[$2355>>0]|0;
$2357 = HEAP8[$320>>0]|0;
$2358 = $2357 ^ $2356;
$2359 = $2358&255;
$2360 = (10432 + ($2359)|0);
$2361 = HEAP8[$2360>>0]|0;
$2362 = HEAP8[$136>>0]|0;
$2363 = $2362 ^ $2361;
$2364 = $2363&255;
$2365 = (11712 + ($2364<<2)|0);
$2366 = HEAP32[$2365>>2]|0;
$2367 = $2366 ^ $2346;
$2368 = HEAP8[$713>>0]|0;
$2369 = $2368 ^ -58;
$2370 = $2369&255;
$2371 = (10432 + ($2370)|0);
$2372 = HEAP8[$2371>>0]|0;
$2373 = HEAP8[$529>>0]|0;
$2374 = $2373 ^ $2372;
$2375 = $2374&255;
$2376 = (10432 + ($2375)|0);
$2377 = HEAP8[$2376>>0]|0;
$2378 = HEAP8[$344>>0]|0;
$2379 = $2378 ^ $2377;
$2380 = $2379&255;
$2381 = (10176 + ($2380)|0);
$2382 = HEAP8[$2381>>0]|0;
$2383 = HEAP8[$160>>0]|0;
$2384 = $2383 ^ $2382;
$2385 = $2384&255;
$2386 = (12736 + ($2385<<2)|0);
$2387 = HEAP32[$2386>>2]|0;
$2388 = $2367 ^ $2387;
$2389 = HEAP8[$737>>0]|0;
$2390 = $2389 ^ 50;
$2391 = $2390&255;
$2392 = (10432 + ($2391)|0);
$2393 = HEAP8[$2392>>0]|0;
$2394 = HEAP8[$553>>0]|0;
$2395 = $2394 ^ $2393;
$2396 = $2395&255;
$2397 = (10176 + ($2396)|0);
$2398 = HEAP8[$2397>>0]|0;
$2399 = HEAP8[$368>>0]|0;
$2400 = $2399 ^ $2398;
$2401 = $2400&255;
$2402 = (10176 + ($2401)|0);
$2403 = HEAP8[$2402>>0]|0;
$2404 = HEAP8[$184>>0]|0;
$2405 = $2404 ^ $2403;
$2406 = $2405&255;
$2407 = (13760 + ($2406<<2)|0);
$2408 = HEAP32[$2407>>2]|0;
$2409 = $2388 ^ $2408;
$2410 = $2409 << 8;
$2411 = $2409 >>> 24;
$2412 = $2410 | $2411;
$2413 = (($2412) + ($2326))|0;
$2414 = (($2413) + ($2412))|0;
$2415 = ((($0)) + 4160|0);
HEAP32[$2415>>2] = $2413;
$2416 = $2414 << 9;
$2417 = $2414 >>> 23;
$2418 = $2416 | $2417;
$2419 = ((($0)) + 4164|0);
HEAP32[$2419>>2] = $2418;
$2420 = HEAP8[$577>>0]|0;
$2421 = $2420 ^ -40;
$2422 = $2421&255;
$2423 = (10176 + ($2422)|0);
$2424 = HEAP8[$2423>>0]|0;
$2425 = HEAP8[$393>>0]|0;
$2426 = $2425 ^ $2424;
$2427 = $2426&255;
$2428 = (10432 + ($2427)|0);
$2429 = HEAP8[$2428>>0]|0;
$2430 = HEAP8[$208>>0]|0;
$2431 = $2430 ^ $2429;
$2432 = $2431&255;
$2433 = (10432 + ($2432)|0);
$2434 = HEAP8[$2433>>0]|0;
$2435 = HEAP8[$1>>0]|0;
$2436 = $2435 ^ $2434;
$2437 = $2436&255;
$2438 = (10688 + ($2437<<2)|0);
$2439 = HEAP32[$2438>>2]|0;
$2440 = HEAP8[$593>>0]|0;
$2441 = $2440 ^ 53;
$2442 = $2441&255;
$2443 = (10176 + ($2442)|0);
$2444 = HEAP8[$2443>>0]|0;
$2445 = HEAP8[$409>>0]|0;
$2446 = $2445 ^ $2444;
$2447 = $2446&255;
$2448 = (10176 + ($2447)|0);
$2449 = HEAP8[$2448>>0]|0;
$2450 = HEAP8[$224>>0]|0;
$2451 = $2450 ^ $2449;
$2452 = $2451&255;
$2453 = (10432 + ($2452)|0);
$2454 = HEAP8[$2453>>0]|0;
$2455 = HEAP8[$40>>0]|0;
$2456 = $2455 ^ $2454;
$2457 = $2456&255;
$2458 = (11712 + ($2457<<2)|0);
$2459 = HEAP32[$2458>>2]|0;
$2460 = $2459 ^ $2439;
$2461 = HEAP8[$617>>0]|0;
$2462 = $2461 ^ 53;
$2463 = $2462&255;
$2464 = (10432 + ($2463)|0);
$2465 = HEAP8[$2464>>0]|0;
$2466 = HEAP8[$433>>0]|0;
$2467 = $2466 ^ $2465;
$2468 = $2467&255;
$2469 = (10432 + ($2468)|0);
$2470 = HEAP8[$2469>>0]|0;
$2471 = HEAP8[$248>>0]|0;
$2472 = $2471 ^ $2470;
$2473 = $2472&255;
$2474 = (10176 + ($2473)|0);
$2475 = HEAP8[$2474>>0]|0;
$2476 = HEAP8[$64>>0]|0;
$2477 = $2476 ^ $2475;
$2478 = $2477&255;
$2479 = (12736 + ($2478<<2)|0);
$2480 = HEAP32[$2479>>2]|0;
$2481 = $2460 ^ $2480;
$2482 = HEAP8[$641>>0]|0;
$2483 = $2482 ^ -40;
$2484 = $2483&255;
$2485 = (10432 + ($2484)|0);
$2486 = HEAP8[$2485>>0]|0;
$2487 = HEAP8[$457>>0]|0;
$2488 = $2487 ^ $2486;
$2489 = $2488&255;
$2490 = (10176 + ($2489)|0);
$2491 = HEAP8[$2490>>0]|0;
$2492 = HEAP8[$272>>0]|0;
$2493 = $2492 ^ $2491;
$2494 = $2493&255;
$2495 = (10176 + ($2494)|0);
$2496 = HEAP8[$2495>>0]|0;
$2497 = HEAP8[$88>>0]|0;
$2498 = $2497 ^ $2496;
$2499 = $2498&255;
$2500 = (13760 + ($2499<<2)|0);
$2501 = HEAP32[$2500>>2]|0;
$2502 = $2481 ^ $2501;
$2503 = HEAP8[$665>>0]|0;
$2504 = $2503 ^ -3;
$2505 = $2504&255;
$2506 = (10176 + ($2505)|0);
$2507 = HEAP8[$2506>>0]|0;
$2508 = HEAP8[$481>>0]|0;
$2509 = $2508 ^ $2507;
$2510 = $2509&255;
$2511 = (10432 + ($2510)|0);
$2512 = HEAP8[$2511>>0]|0;
$2513 = HEAP8[$296>>0]|0;
$2514 = $2513 ^ $2512;
$2515 = $2514&255;
$2516 = (10432 + ($2515)|0);
$2517 = HEAP8[$2516>>0]|0;
$2518 = HEAP8[$112>>0]|0;
$2519 = $2518 ^ $2517;
$2520 = $2519&255;
$2521 = (10688 + ($2520<<2)|0);
$2522 = HEAP32[$2521>>2]|0;
$2523 = HEAP8[$689>>0]|0;
$2524 = $2523 ^ -104;
$2525 = $2524&255;
$2526 = (10176 + ($2525)|0);
$2527 = HEAP8[$2526>>0]|0;
$2528 = HEAP8[$505>>0]|0;
$2529 = $2528 ^ $2527;
$2530 = $2529&255;
$2531 = (10176 + ($2530)|0);
$2532 = HEAP8[$2531>>0]|0;
$2533 = HEAP8[$320>>0]|0;
$2534 = $2533 ^ $2532;
$2535 = $2534&255;
$2536 = (10432 + ($2535)|0);
$2537 = HEAP8[$2536>>0]|0;
$2538 = HEAP8[$136>>0]|0;
$2539 = $2538 ^ $2537;
$2540 = $2539&255;
$2541 = (11712 + ($2540<<2)|0);
$2542 = HEAP32[$2541>>2]|0;
$2543 = $2542 ^ $2522;
$2544 = HEAP8[$713>>0]|0;
$2545 = $2544 ^ -104;
$2546 = $2545&255;
$2547 = (10432 + ($2546)|0);
$2548 = HEAP8[$2547>>0]|0;
$2549 = HEAP8[$529>>0]|0;
$2550 = $2549 ^ $2548;
$2551 = $2550&255;
$2552 = (10432 + ($2551)|0);
$2553 = HEAP8[$2552>>0]|0;
$2554 = HEAP8[$344>>0]|0;
$2555 = $2554 ^ $2553;
$2556 = $2555&255;
$2557 = (10176 + ($2556)|0);
$2558 = HEAP8[$2557>>0]|0;
$2559 = HEAP8[$160>>0]|0;
$2560 = $2559 ^ $2558;
$2561 = $2560&255;
$2562 = (12736 + ($2561<<2)|0);
$2563 = HEAP32[$2562>>2]|0;
$2564 = $2543 ^ $2563;
$2565 = HEAP8[$737>>0]|0;
$2566 = $2565 ^ -3;
$2567 = $2566&255;
$2568 = (10432 + ($2567)|0);
$2569 = HEAP8[$2568>>0]|0;
$2570 = HEAP8[$553>>0]|0;
$2571 = $2570 ^ $2569;
$2572 = $2571&255;
$2573 = (10176 + ($2572)|0);
$2574 = HEAP8[$2573>>0]|0;
$2575 = HEAP8[$368>>0]|0;
$2576 = $2575 ^ $2574;
$2577 = $2576&255;
$2578 = (10176 + ($2577)|0);
$2579 = HEAP8[$2578>>0]|0;
$2580 = HEAP8[$184>>0]|0;
$2581 = $2580 ^ $2579;
$2582 = $2581&255;
$2583 = (13760 + ($2582<<2)|0);
$2584 = HEAP32[$2583>>2]|0;
$2585 = $2564 ^ $2584;
$2586 = $2585 << 8;
$2587 = $2585 >>> 24;
$2588 = $2586 | $2587;
$2589 = (($2588) + ($2502))|0;
$2590 = (($2589) + ($2588))|0;
$2591 = ((($0)) + 4168|0);
HEAP32[$2591>>2] = $2589;
$2592 = $2590 << 9;
$2593 = $2590 >>> 23;
$2594 = $2592 | $2593;
$2595 = ((($0)) + 4172|0);
HEAP32[$2595>>2] = $2594;
$2596 = HEAP8[$577>>0]|0;
$2597 = $2596 ^ 55;
$2598 = $2597&255;
$2599 = (10176 + ($2598)|0);
$2600 = HEAP8[$2599>>0]|0;
$2601 = HEAP8[$393>>0]|0;
$2602 = $2601 ^ $2600;
$2603 = $2602&255;
$2604 = (10432 + ($2603)|0);
$2605 = HEAP8[$2604>>0]|0;
$2606 = HEAP8[$208>>0]|0;
$2607 = $2606 ^ $2605;
$2608 = $2607&255;
$2609 = (10432 + ($2608)|0);
$2610 = HEAP8[$2609>>0]|0;
$2611 = HEAP8[$1>>0]|0;
$2612 = $2611 ^ $2610;
$2613 = $2612&255;
$2614 = (10688 + ($2613<<2)|0);
$2615 = HEAP32[$2614>>2]|0;
$2616 = HEAP8[$593>>0]|0;
$2617 = $2616 ^ 24;
$2618 = $2617&255;
$2619 = (10176 + ($2618)|0);
$2620 = HEAP8[$2619>>0]|0;
$2621 = HEAP8[$409>>0]|0;
$2622 = $2621 ^ $2620;
$2623 = $2622&255;
$2624 = (10176 + ($2623)|0);
$2625 = HEAP8[$2624>>0]|0;
$2626 = HEAP8[$224>>0]|0;
$2627 = $2626 ^ $2625;
$2628 = $2627&255;
$2629 = (10432 + ($2628)|0);
$2630 = HEAP8[$2629>>0]|0;
$2631 = HEAP8[$40>>0]|0;
$2632 = $2631 ^ $2630;
$2633 = $2632&255;
$2634 = (11712 + ($2633<<2)|0);
$2635 = HEAP32[$2634>>2]|0;
$2636 = $2635 ^ $2615;
$2637 = HEAP8[$617>>0]|0;
$2638 = $2637 ^ 24;
$2639 = $2638&255;
$2640 = (10432 + ($2639)|0);
$2641 = HEAP8[$2640>>0]|0;
$2642 = HEAP8[$433>>0]|0;
$2643 = $2642 ^ $2641;
$2644 = $2643&255;
$2645 = (10432 + ($2644)|0);
$2646 = HEAP8[$2645>>0]|0;
$2647 = HEAP8[$248>>0]|0;
$2648 = $2647 ^ $2646;
$2649 = $2648&255;
$2650 = (10176 + ($2649)|0);
$2651 = HEAP8[$2650>>0]|0;
$2652 = HEAP8[$64>>0]|0;
$2653 = $2652 ^ $2651;
$2654 = $2653&255;
$2655 = (12736 + ($2654<<2)|0);
$2656 = HEAP32[$2655>>2]|0;
$2657 = $2636 ^ $2656;
$2658 = HEAP8[$641>>0]|0;
$2659 = $2658 ^ 55;
$2660 = $2659&255;
$2661 = (10432 + ($2660)|0);
$2662 = HEAP8[$2661>>0]|0;
$2663 = HEAP8[$457>>0]|0;
$2664 = $2663 ^ $2662;
$2665 = $2664&255;
$2666 = (10176 + ($2665)|0);
$2667 = HEAP8[$2666>>0]|0;
$2668 = HEAP8[$272>>0]|0;
$2669 = $2668 ^ $2667;
$2670 = $2669&255;
$2671 = (10176 + ($2670)|0);
$2672 = HEAP8[$2671>>0]|0;
$2673 = HEAP8[$88>>0]|0;
$2674 = $2673 ^ $2672;
$2675 = $2674&255;
$2676 = (13760 + ($2675<<2)|0);
$2677 = HEAP32[$2676>>2]|0;
$2678 = $2657 ^ $2677;
$2679 = HEAP8[$665>>0]|0;
$2680 = $2679 ^ 113;
$2681 = $2680&255;
$2682 = (10176 + ($2681)|0);
$2683 = HEAP8[$2682>>0]|0;
$2684 = HEAP8[$481>>0]|0;
$2685 = $2684 ^ $2683;
$2686 = $2685&255;
$2687 = (10432 + ($2686)|0);
$2688 = HEAP8[$2687>>0]|0;
$2689 = HEAP8[$296>>0]|0;
$2690 = $2689 ^ $2688;
$2691 = $2690&255;
$2692 = (10432 + ($2691)|0);
$2693 = HEAP8[$2692>>0]|0;
$2694 = HEAP8[$112>>0]|0;
$2695 = $2694 ^ $2693;
$2696 = $2695&255;
$2697 = (10688 + ($2696<<2)|0);
$2698 = HEAP32[$2697>>2]|0;
$2699 = HEAP8[$689>>0]|0;
$2700 = $2699 ^ -9;
$2701 = $2700&255;
$2702 = (10176 + ($2701)|0);
$2703 = HEAP8[$2702>>0]|0;
$2704 = HEAP8[$505>>0]|0;
$2705 = $2704 ^ $2703;
$2706 = $2705&255;
$2707 = (10176 + ($2706)|0);
$2708 = HEAP8[$2707>>0]|0;
$2709 = HEAP8[$320>>0]|0;
$2710 = $2709 ^ $2708;
$2711 = $2710&255;
$2712 = (10432 + ($2711)|0);
$2713 = HEAP8[$2712>>0]|0;
$2714 = HEAP8[$136>>0]|0;
$2715 = $2714 ^ $2713;
$2716 = $2715&255;
$2717 = (11712 + ($2716<<2)|0);
$2718 = HEAP32[$2717>>2]|0;
$2719 = $2718 ^ $2698;
$2720 = HEAP8[$713>>0]|0;
$2721 = $2720 ^ -9;
$2722 = $2721&255;
$2723 = (10432 + ($2722)|0);
$2724 = HEAP8[$2723>>0]|0;
$2725 = HEAP8[$529>>0]|0;
$2726 = $2725 ^ $2724;
$2727 = $2726&255;
$2728 = (10432 + ($2727)|0);
$2729 = HEAP8[$2728>>0]|0;
$2730 = HEAP8[$344>>0]|0;
$2731 = $2730 ^ $2729;
$2732 = $2731&255;
$2733 = (10176 + ($2732)|0);
$2734 = HEAP8[$2733>>0]|0;
$2735 = HEAP8[$160>>0]|0;
$2736 = $2735 ^ $2734;
$2737 = $2736&255;
$2738 = (12736 + ($2737<<2)|0);
$2739 = HEAP32[$2738>>2]|0;
$2740 = $2719 ^ $2739;
$2741 = HEAP8[$737>>0]|0;
$2742 = $2741 ^ 113;
$2743 = $2742&255;
$2744 = (10432 + ($2743)|0);
$2745 = HEAP8[$2744>>0]|0;
$2746 = HEAP8[$553>>0]|0;
$2747 = $2746 ^ $2745;
$2748 = $2747&255;
$2749 = (10176 + ($2748)|0);
$2750 = HEAP8[$2749>>0]|0;
$2751 = HEAP8[$368>>0]|0;
$2752 = $2751 ^ $2750;
$2753 = $2752&255;
$2754 = (10176 + ($2753)|0);
$2755 = HEAP8[$2754>>0]|0;
$2756 = HEAP8[$184>>0]|0;
$2757 = $2756 ^ $2755;
$2758 = $2757&255;
$2759 = (13760 + ($2758<<2)|0);
$2760 = HEAP32[$2759>>2]|0;
$2761 = $2740 ^ $2760;
$2762 = $2761 << 8;
$2763 = $2761 >>> 24;
$2764 = $2762 | $2763;
$2765 = (($2764) + ($2678))|0;
$2766 = (($2765) + ($2764))|0;
$2767 = ((($0)) + 4176|0);
HEAP32[$2767>>2] = $2765;
$2768 = $2766 << 9;
$2769 = $2766 >>> 23;
$2770 = $2768 | $2769;
$2771 = ((($0)) + 4180|0);
HEAP32[$2771>>2] = $2770;
$2772 = HEAP8[$577>>0]|0;
$2773 = $2772 ^ -15;
$2774 = $2773&255;
$2775 = (10176 + ($2774)|0);
$2776 = HEAP8[$2775>>0]|0;
$2777 = HEAP8[$393>>0]|0;
$2778 = $2777 ^ $2776;
$2779 = $2778&255;
$2780 = (10432 + ($2779)|0);
$2781 = HEAP8[$2780>>0]|0;
$2782 = HEAP8[$208>>0]|0;
$2783 = $2782 ^ $2781;
$2784 = $2783&255;
$2785 = (10432 + ($2784)|0);
$2786 = HEAP8[$2785>>0]|0;
$2787 = HEAP8[$1>>0]|0;
$2788 = $2787 ^ $2786;
$2789 = $2788&255;
$2790 = (10688 + ($2789<<2)|0);
$2791 = HEAP32[$2790>>2]|0;
$2792 = HEAP8[$593>>0]|0;
$2793 = $2792 ^ -20;
$2794 = $2793&255;
$2795 = (10176 + ($2794)|0);
$2796 = HEAP8[$2795>>0]|0;
$2797 = HEAP8[$409>>0]|0;
$2798 = $2797 ^ $2796;
$2799 = $2798&255;
$2800 = (10176 + ($2799)|0);
$2801 = HEAP8[$2800>>0]|0;
$2802 = HEAP8[$224>>0]|0;
$2803 = $2802 ^ $2801;
$2804 = $2803&255;
$2805 = (10432 + ($2804)|0);
$2806 = HEAP8[$2805>>0]|0;
$2807 = HEAP8[$40>>0]|0;
$2808 = $2807 ^ $2806;
$2809 = $2808&255;
$2810 = (11712 + ($2809<<2)|0);
$2811 = HEAP32[$2810>>2]|0;
$2812 = $2811 ^ $2791;
$2813 = HEAP8[$617>>0]|0;
$2814 = $2813 ^ -20;
$2815 = $2814&255;
$2816 = (10432 + ($2815)|0);
$2817 = HEAP8[$2816>>0]|0;
$2818 = HEAP8[$433>>0]|0;
$2819 = $2818 ^ $2817;
$2820 = $2819&255;
$2821 = (10432 + ($2820)|0);
$2822 = HEAP8[$2821>>0]|0;
$2823 = HEAP8[$248>>0]|0;
$2824 = $2823 ^ $2822;
$2825 = $2824&255;
$2826 = (10176 + ($2825)|0);
$2827 = HEAP8[$2826>>0]|0;
$2828 = HEAP8[$64>>0]|0;
$2829 = $2828 ^ $2827;
$2830 = $2829&255;
$2831 = (12736 + ($2830<<2)|0);
$2832 = HEAP32[$2831>>2]|0;
$2833 = $2812 ^ $2832;
$2834 = HEAP8[$641>>0]|0;
$2835 = $2834 ^ -15;
$2836 = $2835&255;
$2837 = (10432 + ($2836)|0);
$2838 = HEAP8[$2837>>0]|0;
$2839 = HEAP8[$457>>0]|0;
$2840 = $2839 ^ $2838;
$2841 = $2840&255;
$2842 = (10176 + ($2841)|0);
$2843 = HEAP8[$2842>>0]|0;
$2844 = HEAP8[$272>>0]|0;
$2845 = $2844 ^ $2843;
$2846 = $2845&255;
$2847 = (10176 + ($2846)|0);
$2848 = HEAP8[$2847>>0]|0;
$2849 = HEAP8[$88>>0]|0;
$2850 = $2849 ^ $2848;
$2851 = $2850&255;
$2852 = (13760 + ($2851<<2)|0);
$2853 = HEAP32[$2852>>2]|0;
$2854 = $2833 ^ $2853;
$2855 = HEAP8[$665>>0]|0;
$2856 = $2855 ^ -31;
$2857 = $2856&255;
$2858 = (10176 + ($2857)|0);
$2859 = HEAP8[$2858>>0]|0;
$2860 = HEAP8[$481>>0]|0;
$2861 = $2860 ^ $2859;
$2862 = $2861&255;
$2863 = (10432 + ($2862)|0);
$2864 = HEAP8[$2863>>0]|0;
$2865 = HEAP8[$296>>0]|0;
$2866 = $2865 ^ $2864;
$2867 = $2866&255;
$2868 = (10432 + ($2867)|0);
$2869 = HEAP8[$2868>>0]|0;
$2870 = HEAP8[$112>>0]|0;
$2871 = $2870 ^ $2869;
$2872 = $2871&255;
$2873 = (10688 + ($2872<<2)|0);
$2874 = HEAP32[$2873>>2]|0;
$2875 = HEAP8[$689>>0]|0;
$2876 = $2875 ^ 108;
$2877 = $2876&255;
$2878 = (10176 + ($2877)|0);
$2879 = HEAP8[$2878>>0]|0;
$2880 = HEAP8[$505>>0]|0;
$2881 = $2880 ^ $2879;
$2882 = $2881&255;
$2883 = (10176 + ($2882)|0);
$2884 = HEAP8[$2883>>0]|0;
$2885 = HEAP8[$320>>0]|0;
$2886 = $2885 ^ $2884;
$2887 = $2886&255;
$2888 = (10432 + ($2887)|0);
$2889 = HEAP8[$2888>>0]|0;
$2890 = HEAP8[$136>>0]|0;
$2891 = $2890 ^ $2889;
$2892 = $2891&255;
$2893 = (11712 + ($2892<<2)|0);
$2894 = HEAP32[$2893>>2]|0;
$2895 = $2894 ^ $2874;
$2896 = HEAP8[$713>>0]|0;
$2897 = $2896 ^ 108;
$2898 = $2897&255;
$2899 = (10432 + ($2898)|0);
$2900 = HEAP8[$2899>>0]|0;
$2901 = HEAP8[$529>>0]|0;
$2902 = $2901 ^ $2900;
$2903 = $2902&255;
$2904 = (10432 + ($2903)|0);
$2905 = HEAP8[$2904>>0]|0;
$2906 = HEAP8[$344>>0]|0;
$2907 = $2906 ^ $2905;
$2908 = $2907&255;
$2909 = (10176 + ($2908)|0);
$2910 = HEAP8[$2909>>0]|0;
$2911 = HEAP8[$160>>0]|0;
$2912 = $2911 ^ $2910;
$2913 = $2912&255;
$2914 = (12736 + ($2913<<2)|0);
$2915 = HEAP32[$2914>>2]|0;
$2916 = $2895 ^ $2915;
$2917 = HEAP8[$737>>0]|0;
$2918 = $2917 ^ -31;
$2919 = $2918&255;
$2920 = (10432 + ($2919)|0);
$2921 = HEAP8[$2920>>0]|0;
$2922 = HEAP8[$553>>0]|0;
$2923 = $2922 ^ $2921;
$2924 = $2923&255;
$2925 = (10176 + ($2924)|0);
$2926 = HEAP8[$2925>>0]|0;
$2927 = HEAP8[$368>>0]|0;
$2928 = $2927 ^ $2926;
$2929 = $2928&255;
$2930 = (10176 + ($2929)|0);
$2931 = HEAP8[$2930>>0]|0;
$2932 = HEAP8[$184>>0]|0;
$2933 = $2932 ^ $2931;
$2934 = $2933&255;
$2935 = (13760 + ($2934<<2)|0);
$2936 = HEAP32[$2935>>2]|0;
$2937 = $2916 ^ $2936;
$2938 = $2937 << 8;
$2939 = $2937 >>> 24;
$2940 = $2938 | $2939;
$2941 = (($2940) + ($2854))|0;
$2942 = (($2941) + ($2940))|0;
$2943 = ((($0)) + 4184|0);
HEAP32[$2943>>2] = $2941;
$2944 = $2942 << 9;
$2945 = $2942 >>> 23;
$2946 = $2944 | $2945;
$2947 = ((($0)) + 4188|0);
HEAP32[$2947>>2] = $2946;
$2948 = HEAP8[$577>>0]|0;
$2949 = $2948 ^ 48;
$2950 = $2949&255;
$2951 = (10176 + ($2950)|0);
$2952 = HEAP8[$2951>>0]|0;
$2953 = HEAP8[$393>>0]|0;
$2954 = $2953 ^ $2952;
$2955 = $2954&255;
$2956 = (10432 + ($2955)|0);
$2957 = HEAP8[$2956>>0]|0;
$2958 = HEAP8[$208>>0]|0;
$2959 = $2958 ^ $2957;
$2960 = $2959&255;
$2961 = (10432 + ($2960)|0);
$2962 = HEAP8[$2961>>0]|0;
$2963 = HEAP8[$1>>0]|0;
$2964 = $2963 ^ $2962;
$2965 = $2964&255;
$2966 = (10688 + ($2965<<2)|0);
$2967 = HEAP32[$2966>>2]|0;
$2968 = HEAP8[$593>>0]|0;
$2969 = $2968 ^ 67;
$2970 = $2969&255;
$2971 = (10176 + ($2970)|0);
$2972 = HEAP8[$2971>>0]|0;
$2973 = HEAP8[$409>>0]|0;
$2974 = $2973 ^ $2972;
$2975 = $2974&255;
$2976 = (10176 + ($2975)|0);
$2977 = HEAP8[$2976>>0]|0;
$2978 = HEAP8[$224>>0]|0;
$2979 = $2978 ^ $2977;
$2980 = $2979&255;
$2981 = (10432 + ($2980)|0);
$2982 = HEAP8[$2981>>0]|0;
$2983 = HEAP8[$40>>0]|0;
$2984 = $2983 ^ $2982;
$2985 = $2984&255;
$2986 = (11712 + ($2985<<2)|0);
$2987 = HEAP32[$2986>>2]|0;
$2988 = $2987 ^ $2967;
$2989 = HEAP8[$617>>0]|0;
$2990 = $2989 ^ 67;
$2991 = $2990&255;
$2992 = (10432 + ($2991)|0);
$2993 = HEAP8[$2992>>0]|0;
$2994 = HEAP8[$433>>0]|0;
$2995 = $2994 ^ $2993;
$2996 = $2995&255;
$2997 = (10432 + ($2996)|0);
$2998 = HEAP8[$2997>>0]|0;
$2999 = HEAP8[$248>>0]|0;
$3000 = $2999 ^ $2998;
$3001 = $3000&255;
$3002 = (10176 + ($3001)|0);
$3003 = HEAP8[$3002>>0]|0;
$3004 = HEAP8[$64>>0]|0;
$3005 = $3004 ^ $3003;
$3006 = $3005&255;
$3007 = (12736 + ($3006<<2)|0);
$3008 = HEAP32[$3007>>2]|0;
$3009 = $2988 ^ $3008;
$3010 = HEAP8[$641>>0]|0;
$3011 = $3010 ^ 48;
$3012 = $3011&255;
$3013 = (10432 + ($3012)|0);
$3014 = HEAP8[$3013>>0]|0;
$3015 = HEAP8[$457>>0]|0;
$3016 = $3015 ^ $3014;
$3017 = $3016&255;
$3018 = (10176 + ($3017)|0);
$3019 = HEAP8[$3018>>0]|0;
$3020 = HEAP8[$272>>0]|0;
$3021 = $3020 ^ $3019;
$3022 = $3021&255;
$3023 = (10176 + ($3022)|0);
$3024 = HEAP8[$3023>>0]|0;
$3025 = HEAP8[$88>>0]|0;
$3026 = $3025 ^ $3024;
$3027 = $3026&255;
$3028 = (13760 + ($3027<<2)|0);
$3029 = HEAP32[$3028>>2]|0;
$3030 = $3009 ^ $3029;
$3031 = HEAP8[$665>>0]|0;
$3032 = $3031 ^ 15;
$3033 = $3032&255;
$3034 = (10176 + ($3033)|0);
$3035 = HEAP8[$3034>>0]|0;
$3036 = HEAP8[$481>>0]|0;
$3037 = $3036 ^ $3035;
$3038 = $3037&255;
$3039 = (10432 + ($3038)|0);
$3040 = HEAP8[$3039>>0]|0;
$3041 = HEAP8[$296>>0]|0;
$3042 = $3041 ^ $3040;
$3043 = $3042&255;
$3044 = (10432 + ($3043)|0);
$3045 = HEAP8[$3044>>0]|0;
$3046 = HEAP8[$112>>0]|0;
$3047 = $3046 ^ $3045;
$3048 = $3047&255;
$3049 = (10688 + ($3048<<2)|0);
$3050 = HEAP32[$3049>>2]|0;
$3051 = HEAP8[$689>>0]|0;
$3052 = $3051 ^ 117;
$3053 = $3052&255;
$3054 = (10176 + ($3053)|0);
$3055 = HEAP8[$3054>>0]|0;
$3056 = HEAP8[$505>>0]|0;
$3057 = $3056 ^ $3055;
$3058 = $3057&255;
$3059 = (10176 + ($3058)|0);
$3060 = HEAP8[$3059>>0]|0;
$3061 = HEAP8[$320>>0]|0;
$3062 = $3061 ^ $3060;
$3063 = $3062&255;
$3064 = (10432 + ($3063)|0);
$3065 = HEAP8[$3064>>0]|0;
$3066 = HEAP8[$136>>0]|0;
$3067 = $3066 ^ $3065;
$3068 = $3067&255;
$3069 = (11712 + ($3068<<2)|0);
$3070 = HEAP32[$3069>>2]|0;
$3071 = $3070 ^ $3050;
$3072 = HEAP8[$713>>0]|0;
$3073 = $3072 ^ 117;
$3074 = $3073&255;
$3075 = (10432 + ($3074)|0);
$3076 = HEAP8[$3075>>0]|0;
$3077 = HEAP8[$529>>0]|0;
$3078 = $3077 ^ $3076;
$3079 = $3078&255;
$3080 = (10432 + ($3079)|0);
$3081 = HEAP8[$3080>>0]|0;
$3082 = HEAP8[$344>>0]|0;
$3083 = $3082 ^ $3081;
$3084 = $3083&255;
$3085 = (10176 + ($3084)|0);
$3086 = HEAP8[$3085>>0]|0;
$3087 = HEAP8[$160>>0]|0;
$3088 = $3087 ^ $3086;
$3089 = $3088&255;
$3090 = (12736 + ($3089<<2)|0);
$3091 = HEAP32[$3090>>2]|0;
$3092 = $3071 ^ $3091;
$3093 = HEAP8[$737>>0]|0;
$3094 = $3093 ^ 15;
$3095 = $3094&255;
$3096 = (10432 + ($3095)|0);
$3097 = HEAP8[$3096>>0]|0;
$3098 = HEAP8[$553>>0]|0;
$3099 = $3098 ^ $3097;
$3100 = $3099&255;
$3101 = (10176 + ($3100)|0);
$3102 = HEAP8[$3101>>0]|0;
$3103 = HEAP8[$368>>0]|0;
$3104 = $3103 ^ $3102;
$3105 = $3104&255;
$3106 = (10176 + ($3105)|0);
$3107 = HEAP8[$3106>>0]|0;
$3108 = HEAP8[$184>>0]|0;
$3109 = $3108 ^ $3107;
$3110 = $3109&255;
$3111 = (13760 + ($3110<<2)|0);
$3112 = HEAP32[$3111>>2]|0;
$3113 = $3092 ^ $3112;
$3114 = $3113 << 8;
$3115 = $3113 >>> 24;
$3116 = $3114 | $3115;
$3117 = (($3116) + ($3030))|0;
$3118 = (($3117) + ($3116))|0;
$3119 = ((($0)) + 4192|0);
HEAP32[$3119>>2] = $3117;
$3120 = $3118 << 9;
$3121 = $3118 >>> 23;
$3122 = $3120 | $3121;
$3123 = ((($0)) + 4196|0);
HEAP32[$3123>>2] = $3122;
$3124 = HEAP8[$577>>0]|0;
$3125 = $3124 ^ -8;
$3126 = $3125&255;
$3127 = (10176 + ($3126)|0);
$3128 = HEAP8[$3127>>0]|0;
$3129 = HEAP8[$393>>0]|0;
$3130 = $3129 ^ $3128;
$3131 = $3130&255;
$3132 = (10432 + ($3131)|0);
$3133 = HEAP8[$3132>>0]|0;
$3134 = HEAP8[$208>>0]|0;
$3135 = $3134 ^ $3133;
$3136 = $3135&255;
$3137 = (10432 + ($3136)|0);
$3138 = HEAP8[$3137>>0]|0;
$3139 = HEAP8[$1>>0]|0;
$3140 = $3139 ^ $3138;
$3141 = $3140&255;
$3142 = (10688 + ($3141<<2)|0);
$3143 = HEAP32[$3142>>2]|0;
$3144 = HEAP8[$593>>0]|0;
$3145 = $3144 ^ 55;
$3146 = $3145&255;
$3147 = (10176 + ($3146)|0);
$3148 = HEAP8[$3147>>0]|0;
$3149 = HEAP8[$409>>0]|0;
$3150 = $3149 ^ $3148;
$3151 = $3150&255;
$3152 = (10176 + ($3151)|0);
$3153 = HEAP8[$3152>>0]|0;
$3154 = HEAP8[$224>>0]|0;
$3155 = $3154 ^ $3153;
$3156 = $3155&255;
$3157 = (10432 + ($3156)|0);
$3158 = HEAP8[$3157>>0]|0;
$3159 = HEAP8[$40>>0]|0;
$3160 = $3159 ^ $3158;
$3161 = $3160&255;
$3162 = (11712 + ($3161<<2)|0);
$3163 = HEAP32[$3162>>2]|0;
$3164 = $3163 ^ $3143;
$3165 = HEAP8[$617>>0]|0;
$3166 = $3165 ^ 55;
$3167 = $3166&255;
$3168 = (10432 + ($3167)|0);
$3169 = HEAP8[$3168>>0]|0;
$3170 = HEAP8[$433>>0]|0;
$3171 = $3170 ^ $3169;
$3172 = $3171&255;
$3173 = (10432 + ($3172)|0);
$3174 = HEAP8[$3173>>0]|0;
$3175 = HEAP8[$248>>0]|0;
$3176 = $3175 ^ $3174;
$3177 = $3176&255;
$3178 = (10176 + ($3177)|0);
$3179 = HEAP8[$3178>>0]|0;
$3180 = HEAP8[$64>>0]|0;
$3181 = $3180 ^ $3179;
$3182 = $3181&255;
$3183 = (12736 + ($3182<<2)|0);
$3184 = HEAP32[$3183>>2]|0;
$3185 = $3164 ^ $3184;
$3186 = HEAP8[$641>>0]|0;
$3187 = $3186 ^ -8;
$3188 = $3187&255;
$3189 = (10432 + ($3188)|0);
$3190 = HEAP8[$3189>>0]|0;
$3191 = HEAP8[$457>>0]|0;
$3192 = $3191 ^ $3190;
$3193 = $3192&255;
$3194 = (10176 + ($3193)|0);
$3195 = HEAP8[$3194>>0]|0;
$3196 = HEAP8[$272>>0]|0;
$3197 = $3196 ^ $3195;
$3198 = $3197&255;
$3199 = (10176 + ($3198)|0);
$3200 = HEAP8[$3199>>0]|0;
$3201 = HEAP8[$88>>0]|0;
$3202 = $3201 ^ $3200;
$3203 = $3202&255;
$3204 = (13760 + ($3203<<2)|0);
$3205 = HEAP32[$3204>>2]|0;
$3206 = $3185 ^ $3205;
$3207 = HEAP8[$665>>0]|0;
$3208 = $3207 ^ 27;
$3209 = $3208&255;
$3210 = (10176 + ($3209)|0);
$3211 = HEAP8[$3210>>0]|0;
$3212 = HEAP8[$481>>0]|0;
$3213 = $3212 ^ $3211;
$3214 = $3213&255;
$3215 = (10432 + ($3214)|0);
$3216 = HEAP8[$3215>>0]|0;
$3217 = HEAP8[$296>>0]|0;
$3218 = $3217 ^ $3216;
$3219 = $3218&255;
$3220 = (10432 + ($3219)|0);
$3221 = HEAP8[$3220>>0]|0;
$3222 = HEAP8[$112>>0]|0;
$3223 = $3222 ^ $3221;
$3224 = $3223&255;
$3225 = (10688 + ($3224<<2)|0);
$3226 = HEAP32[$3225>>2]|0;
$3227 = HEAP8[$689>>0]|0;
$3228 = $3227 ^ 38;
$3229 = $3228&255;
$3230 = (10176 + ($3229)|0);
$3231 = HEAP8[$3230>>0]|0;
$3232 = HEAP8[$505>>0]|0;
$3233 = $3232 ^ $3231;
$3234 = $3233&255;
$3235 = (10176 + ($3234)|0);
$3236 = HEAP8[$3235>>0]|0;
$3237 = HEAP8[$320>>0]|0;
$3238 = $3237 ^ $3236;
$3239 = $3238&255;
$3240 = (10432 + ($3239)|0);
$3241 = HEAP8[$3240>>0]|0;
$3242 = HEAP8[$136>>0]|0;
$3243 = $3242 ^ $3241;
$3244 = $3243&255;
$3245 = (11712 + ($3244<<2)|0);
$3246 = HEAP32[$3245>>2]|0;
$3247 = $3246 ^ $3226;
$3248 = HEAP8[$713>>0]|0;
$3249 = $3248 ^ 38;
$3250 = $3249&255;
$3251 = (10432 + ($3250)|0);
$3252 = HEAP8[$3251>>0]|0;
$3253 = HEAP8[$529>>0]|0;
$3254 = $3253 ^ $3252;
$3255 = $3254&255;
$3256 = (10432 + ($3255)|0);
$3257 = HEAP8[$3256>>0]|0;
$3258 = HEAP8[$344>>0]|0;
$3259 = $3258 ^ $3257;
$3260 = $3259&255;
$3261 = (10176 + ($3260)|0);
$3262 = HEAP8[$3261>>0]|0;
$3263 = HEAP8[$160>>0]|0;
$3264 = $3263 ^ $3262;
$3265 = $3264&255;
$3266 = (12736 + ($3265<<2)|0);
$3267 = HEAP32[$3266>>2]|0;
$3268 = $3247 ^ $3267;
$3269 = HEAP8[$737>>0]|0;
$3270 = $3269 ^ 27;
$3271 = $3270&255;
$3272 = (10432 + ($3271)|0);
$3273 = HEAP8[$3272>>0]|0;
$3274 = HEAP8[$553>>0]|0;
$3275 = $3274 ^ $3273;
$3276 = $3275&255;
$3277 = (10176 + ($3276)|0);
$3278 = HEAP8[$3277>>0]|0;
$3279 = HEAP8[$368>>0]|0;
$3280 = $3279 ^ $3278;
$3281 = $3280&255;
$3282 = (10176 + ($3281)|0);
$3283 = HEAP8[$3282>>0]|0;
$3284 = HEAP8[$184>>0]|0;
$3285 = $3284 ^ $3283;
$3286 = $3285&255;
$3287 = (13760 + ($3286<<2)|0);
$3288 = HEAP32[$3287>>2]|0;
$3289 = $3268 ^ $3288;
$3290 = $3289 << 8;
$3291 = $3289 >>> 24;
$3292 = $3290 | $3291;
$3293 = (($3292) + ($3206))|0;
$3294 = (($3293) + ($3292))|0;
$3295 = ((($0)) + 4200|0);
HEAP32[$3295>>2] = $3293;
$3296 = $3294 << 9;
$3297 = $3294 >>> 23;
$3298 = $3296 | $3297;
$3299 = ((($0)) + 4204|0);
HEAP32[$3299>>2] = $3298;
$3300 = HEAP8[$577>>0]|0;
$3301 = $3300 ^ -121;
$3302 = $3301&255;
$3303 = (10176 + ($3302)|0);
$3304 = HEAP8[$3303>>0]|0;
$3305 = HEAP8[$393>>0]|0;
$3306 = $3305 ^ $3304;
$3307 = $3306&255;
$3308 = (10432 + ($3307)|0);
$3309 = HEAP8[$3308>>0]|0;
$3310 = HEAP8[$208>>0]|0;
$3311 = $3310 ^ $3309;
$3312 = $3311&255;
$3313 = (10432 + ($3312)|0);
$3314 = HEAP8[$3313>>0]|0;
$3315 = HEAP8[$1>>0]|0;
$3316 = $3315 ^ $3314;
$3317 = $3316&255;
$3318 = (10688 + ($3317<<2)|0);
$3319 = HEAP32[$3318>>2]|0;
$3320 = HEAP8[$593>>0]|0;
$3321 = $3320 ^ -6;
$3322 = $3321&255;
$3323 = (10176 + ($3322)|0);
$3324 = HEAP8[$3323>>0]|0;
$3325 = HEAP8[$409>>0]|0;
$3326 = $3325 ^ $3324;
$3327 = $3326&255;
$3328 = (10176 + ($3327)|0);
$3329 = HEAP8[$3328>>0]|0;
$3330 = HEAP8[$224>>0]|0;
$3331 = $3330 ^ $3329;
$3332 = $3331&255;
$3333 = (10432 + ($3332)|0);
$3334 = HEAP8[$3333>>0]|0;
$3335 = HEAP8[$40>>0]|0;
$3336 = $3335 ^ $3334;
$3337 = $3336&255;
$3338 = (11712 + ($3337<<2)|0);
$3339 = HEAP32[$3338>>2]|0;
$3340 = $3339 ^ $3319;
$3341 = HEAP8[$617>>0]|0;
$3342 = $3341 ^ -6;
$3343 = $3342&255;
$3344 = (10432 + ($3343)|0);
$3345 = HEAP8[$3344>>0]|0;
$3346 = HEAP8[$433>>0]|0;
$3347 = $3346 ^ $3345;
$3348 = $3347&255;
$3349 = (10432 + ($3348)|0);
$3350 = HEAP8[$3349>>0]|0;
$3351 = HEAP8[$248>>0]|0;
$3352 = $3351 ^ $3350;
$3353 = $3352&255;
$3354 = (10176 + ($3353)|0);
$3355 = HEAP8[$3354>>0]|0;
$3356 = HEAP8[$64>>0]|0;
$3357 = $3356 ^ $3355;
$3358 = $3357&255;
$3359 = (12736 + ($3358<<2)|0);
$3360 = HEAP32[$3359>>2]|0;
$3361 = $3340 ^ $3360;
$3362 = HEAP8[$641>>0]|0;
$3363 = $3362 ^ -121;
$3364 = $3363&255;
$3365 = (10432 + ($3364)|0);
$3366 = HEAP8[$3365>>0]|0;
$3367 = HEAP8[$457>>0]|0;
$3368 = $3367 ^ $3366;
$3369 = $3368&255;
$3370 = (10176 + ($3369)|0);
$3371 = HEAP8[$3370>>0]|0;
$3372 = HEAP8[$272>>0]|0;
$3373 = $3372 ^ $3371;
$3374 = $3373&255;
$3375 = (10176 + ($3374)|0);
$3376 = HEAP8[$3375>>0]|0;
$3377 = HEAP8[$88>>0]|0;
$3378 = $3377 ^ $3376;
$3379 = $3378&255;
$3380 = (13760 + ($3379<<2)|0);
$3381 = HEAP32[$3380>>2]|0;
$3382 = $3361 ^ $3381;
$3383 = HEAP8[$665>>0]|0;
$3384 = $3383 ^ -6;
$3385 = $3384&255;
$3386 = (10176 + ($3385)|0);
$3387 = HEAP8[$3386>>0]|0;
$3388 = HEAP8[$481>>0]|0;
$3389 = $3388 ^ $3387;
$3390 = $3389&255;
$3391 = (10432 + ($3390)|0);
$3392 = HEAP8[$3391>>0]|0;
$3393 = HEAP8[$296>>0]|0;
$3394 = $3393 ^ $3392;
$3395 = $3394&255;
$3396 = (10432 + ($3395)|0);
$3397 = HEAP8[$3396>>0]|0;
$3398 = HEAP8[$112>>0]|0;
$3399 = $3398 ^ $3397;
$3400 = $3399&255;
$3401 = (10688 + ($3400<<2)|0);
$3402 = HEAP32[$3401>>2]|0;
$3403 = HEAP8[$689>>0]|0;
$3404 = $3403 ^ 19;
$3405 = $3404&255;
$3406 = (10176 + ($3405)|0);
$3407 = HEAP8[$3406>>0]|0;
$3408 = HEAP8[$505>>0]|0;
$3409 = $3408 ^ $3407;
$3410 = $3409&255;
$3411 = (10176 + ($3410)|0);
$3412 = HEAP8[$3411>>0]|0;
$3413 = HEAP8[$320>>0]|0;
$3414 = $3413 ^ $3412;
$3415 = $3414&255;
$3416 = (10432 + ($3415)|0);
$3417 = HEAP8[$3416>>0]|0;
$3418 = HEAP8[$136>>0]|0;
$3419 = $3418 ^ $3417;
$3420 = $3419&255;
$3421 = (11712 + ($3420<<2)|0);
$3422 = HEAP32[$3421>>2]|0;
$3423 = $3422 ^ $3402;
$3424 = HEAP8[$713>>0]|0;
$3425 = $3424 ^ 19;
$3426 = $3425&255;
$3427 = (10432 + ($3426)|0);
$3428 = HEAP8[$3427>>0]|0;
$3429 = HEAP8[$529>>0]|0;
$3430 = $3429 ^ $3428;
$3431 = $3430&255;
$3432 = (10432 + ($3431)|0);
$3433 = HEAP8[$3432>>0]|0;
$3434 = HEAP8[$344>>0]|0;
$3435 = $3434 ^ $3433;
$3436 = $3435&255;
$3437 = (10176 + ($3436)|0);
$3438 = HEAP8[$3437>>0]|0;
$3439 = HEAP8[$160>>0]|0;
$3440 = $3439 ^ $3438;
$3441 = $3440&255;
$3442 = (12736 + ($3441<<2)|0);
$3443 = HEAP32[$3442>>2]|0;
$3444 = $3423 ^ $3443;
$3445 = HEAP8[$737>>0]|0;
$3446 = $3445 ^ -6;
$3447 = $3446&255;
$3448 = (10432 + ($3447)|0);
$3449 = HEAP8[$3448>>0]|0;
$3450 = HEAP8[$553>>0]|0;
$3451 = $3450 ^ $3449;
$3452 = $3451&255;
$3453 = (10176 + ($3452)|0);
$3454 = HEAP8[$3453>>0]|0;
$3455 = HEAP8[$368>>0]|0;
$3456 = $3455 ^ $3454;
$3457 = $3456&255;
$3458 = (10176 + ($3457)|0);
$3459 = HEAP8[$3458>>0]|0;
$3460 = HEAP8[$184>>0]|0;
$3461 = $3460 ^ $3459;
$3462 = $3461&255;
$3463 = (13760 + ($3462<<2)|0);
$3464 = HEAP32[$3463>>2]|0;
$3465 = $3444 ^ $3464;
$3466 = $3465 << 8;
$3467 = $3465 >>> 24;
$3468 = $3466 | $3467;
$3469 = (($3468) + ($3382))|0;
$3470 = (($3469) + ($3468))|0;
$3471 = ((($0)) + 4208|0);
HEAP32[$3471>>2] = $3469;
$3472 = $3470 << 9;
$3473 = $3470 >>> 23;
$3474 = $3472 | $3473;
$3475 = ((($0)) + 4212|0);
HEAP32[$3475>>2] = $3474;
$3476 = HEAP8[$577>>0]|0;
$3477 = $3476 ^ 6;
$3478 = $3477&255;
$3479 = (10176 + ($3478)|0);
$3480 = HEAP8[$3479>>0]|0;
$3481 = HEAP8[$393>>0]|0;
$3482 = $3481 ^ $3480;
$3483 = $3482&255;
$3484 = (10432 + ($3483)|0);
$3485 = HEAP8[$3484>>0]|0;
$3486 = HEAP8[$208>>0]|0;
$3487 = $3486 ^ $3485;
$3488 = $3487&255;
$3489 = (10432 + ($3488)|0);
$3490 = HEAP8[$3489>>0]|0;
$3491 = HEAP8[$1>>0]|0;
$3492 = $3491 ^ $3490;
$3493 = $3492&255;
$3494 = (10688 + ($3493<<2)|0);
$3495 = HEAP32[$3494>>2]|0;
$3496 = HEAP8[$593>>0]|0;
$3497 = $3496 ^ -108;
$3498 = $3497&255;
$3499 = (10176 + ($3498)|0);
$3500 = HEAP8[$3499>>0]|0;
$3501 = HEAP8[$409>>0]|0;
$3502 = $3501 ^ $3500;
$3503 = $3502&255;
$3504 = (10176 + ($3503)|0);
$3505 = HEAP8[$3504>>0]|0;
$3506 = HEAP8[$224>>0]|0;
$3507 = $3506 ^ $3505;
$3508 = $3507&255;
$3509 = (10432 + ($3508)|0);
$3510 = HEAP8[$3509>>0]|0;
$3511 = HEAP8[$40>>0]|0;
$3512 = $3511 ^ $3510;
$3513 = $3512&255;
$3514 = (11712 + ($3513<<2)|0);
$3515 = HEAP32[$3514>>2]|0;
$3516 = $3515 ^ $3495;
$3517 = HEAP8[$617>>0]|0;
$3518 = $3517 ^ -108;
$3519 = $3518&255;
$3520 = (10432 + ($3519)|0);
$3521 = HEAP8[$3520>>0]|0;
$3522 = HEAP8[$433>>0]|0;
$3523 = $3522 ^ $3521;
$3524 = $3523&255;
$3525 = (10432 + ($3524)|0);
$3526 = HEAP8[$3525>>0]|0;
$3527 = HEAP8[$248>>0]|0;
$3528 = $3527 ^ $3526;
$3529 = $3528&255;
$3530 = (10176 + ($3529)|0);
$3531 = HEAP8[$3530>>0]|0;
$3532 = HEAP8[$64>>0]|0;
$3533 = $3532 ^ $3531;
$3534 = $3533&255;
$3535 = (12736 + ($3534<<2)|0);
$3536 = HEAP32[$3535>>2]|0;
$3537 = $3516 ^ $3536;
$3538 = HEAP8[$641>>0]|0;
$3539 = $3538 ^ 6;
$3540 = $3539&255;
$3541 = (10432 + ($3540)|0);
$3542 = HEAP8[$3541>>0]|0;
$3543 = HEAP8[$457>>0]|0;
$3544 = $3543 ^ $3542;
$3545 = $3544&255;
$3546 = (10176 + ($3545)|0);
$3547 = HEAP8[$3546>>0]|0;
$3548 = HEAP8[$272>>0]|0;
$3549 = $3548 ^ $3547;
$3550 = $3549&255;
$3551 = (10176 + ($3550)|0);
$3552 = HEAP8[$3551>>0]|0;
$3553 = HEAP8[$88>>0]|0;
$3554 = $3553 ^ $3552;
$3555 = $3554&255;
$3556 = (13760 + ($3555<<2)|0);
$3557 = HEAP32[$3556>>2]|0;
$3558 = $3537 ^ $3557;
$3559 = HEAP8[$665>>0]|0;
$3560 = $3559 ^ 63;
$3561 = $3560&255;
$3562 = (10176 + ($3561)|0);
$3563 = HEAP8[$3562>>0]|0;
$3564 = HEAP8[$481>>0]|0;
$3565 = $3564 ^ $3563;
$3566 = $3565&255;
$3567 = (10432 + ($3566)|0);
$3568 = HEAP8[$3567>>0]|0;
$3569 = HEAP8[$296>>0]|0;
$3570 = $3569 ^ $3568;
$3571 = $3570&255;
$3572 = (10432 + ($3571)|0);
$3573 = HEAP8[$3572>>0]|0;
$3574 = HEAP8[$112>>0]|0;
$3575 = $3574 ^ $3573;
$3576 = $3575&255;
$3577 = (10688 + ($3576<<2)|0);
$3578 = HEAP32[$3577>>2]|0;
$3579 = HEAP8[$689>>0]|0;
$3580 = $3579 ^ 72;
$3581 = $3580&255;
$3582 = (10176 + ($3581)|0);
$3583 = HEAP8[$3582>>0]|0;
$3584 = HEAP8[$505>>0]|0;
$3585 = $3584 ^ $3583;
$3586 = $3585&255;
$3587 = (10176 + ($3586)|0);
$3588 = HEAP8[$3587>>0]|0;
$3589 = HEAP8[$320>>0]|0;
$3590 = $3589 ^ $3588;
$3591 = $3590&255;
$3592 = (10432 + ($3591)|0);
$3593 = HEAP8[$3592>>0]|0;
$3594 = HEAP8[$136>>0]|0;
$3595 = $3594 ^ $3593;
$3596 = $3595&255;
$3597 = (11712 + ($3596<<2)|0);
$3598 = HEAP32[$3597>>2]|0;
$3599 = $3598 ^ $3578;
$3600 = HEAP8[$713>>0]|0;
$3601 = $3600 ^ 72;
$3602 = $3601&255;
$3603 = (10432 + ($3602)|0);
$3604 = HEAP8[$3603>>0]|0;
$3605 = HEAP8[$529>>0]|0;
$3606 = $3605 ^ $3604;
$3607 = $3606&255;
$3608 = (10432 + ($3607)|0);
$3609 = HEAP8[$3608>>0]|0;
$3610 = HEAP8[$344>>0]|0;
$3611 = $3610 ^ $3609;
$3612 = $3611&255;
$3613 = (10176 + ($3612)|0);
$3614 = HEAP8[$3613>>0]|0;
$3615 = HEAP8[$160>>0]|0;
$3616 = $3615 ^ $3614;
$3617 = $3616&255;
$3618 = (12736 + ($3617<<2)|0);
$3619 = HEAP32[$3618>>2]|0;
$3620 = $3599 ^ $3619;
$3621 = HEAP8[$737>>0]|0;
$3622 = $3621 ^ 63;
$3623 = $3622&255;
$3624 = (10432 + ($3623)|0);
$3625 = HEAP8[$3624>>0]|0;
$3626 = HEAP8[$553>>0]|0;
$3627 = $3626 ^ $3625;
$3628 = $3627&255;
$3629 = (10176 + ($3628)|0);
$3630 = HEAP8[$3629>>0]|0;
$3631 = HEAP8[$368>>0]|0;
$3632 = $3631 ^ $3630;
$3633 = $3632&255;
$3634 = (10176 + ($3633)|0);
$3635 = HEAP8[$3634>>0]|0;
$3636 = HEAP8[$184>>0]|0;
$3637 = $3636 ^ $3635;
$3638 = $3637&255;
$3639 = (13760 + ($3638<<2)|0);
$3640 = HEAP32[$3639>>2]|0;
$3641 = $3620 ^ $3640;
$3642 = $3641 << 8;
$3643 = $3641 >>> 24;
$3644 = $3642 | $3643;
$3645 = (($3644) + ($3558))|0;
$3646 = (($3645) + ($3644))|0;
$3647 = ((($0)) + 4216|0);
HEAP32[$3647>>2] = $3645;
$3648 = $3646 << 9;
$3649 = $3646 >>> 23;
$3650 = $3648 | $3649;
$3651 = ((($0)) + 4220|0);
HEAP32[$3651>>2] = $3650;
$3652 = HEAP8[$577>>0]|0;
$3653 = $3652 ^ 94;
$3654 = $3653&255;
$3655 = (10176 + ($3654)|0);
$3656 = HEAP8[$3655>>0]|0;
$3657 = HEAP8[$393>>0]|0;
$3658 = $3657 ^ $3656;
$3659 = $3658&255;
$3660 = (10432 + ($3659)|0);
$3661 = HEAP8[$3660>>0]|0;
$3662 = HEAP8[$208>>0]|0;
$3663 = $3662 ^ $3661;
$3664 = $3663&255;
$3665 = (10432 + ($3664)|0);
$3666 = HEAP8[$3665>>0]|0;
$3667 = HEAP8[$1>>0]|0;
$3668 = $3667 ^ $3666;
$3669 = $3668&255;
$3670 = (10688 + ($3669<<2)|0);
$3671 = HEAP32[$3670>>2]|0;
$3672 = HEAP8[$593>>0]|0;
$3673 = $3672 ^ -14;
$3674 = $3673&255;
$3675 = (10176 + ($3674)|0);
$3676 = HEAP8[$3675>>0]|0;
$3677 = HEAP8[$409>>0]|0;
$3678 = $3677 ^ $3676;
$3679 = $3678&255;
$3680 = (10176 + ($3679)|0);
$3681 = HEAP8[$3680>>0]|0;
$3682 = HEAP8[$224>>0]|0;
$3683 = $3682 ^ $3681;
$3684 = $3683&255;
$3685 = (10432 + ($3684)|0);
$3686 = HEAP8[$3685>>0]|0;
$3687 = HEAP8[$40>>0]|0;
$3688 = $3687 ^ $3686;
$3689 = $3688&255;
$3690 = (11712 + ($3689<<2)|0);
$3691 = HEAP32[$3690>>2]|0;
$3692 = $3691 ^ $3671;
$3693 = HEAP8[$617>>0]|0;
$3694 = $3693 ^ -14;
$3695 = $3694&255;
$3696 = (10432 + ($3695)|0);
$3697 = HEAP8[$3696>>0]|0;
$3698 = HEAP8[$433>>0]|0;
$3699 = $3698 ^ $3697;
$3700 = $3699&255;
$3701 = (10432 + ($3700)|0);
$3702 = HEAP8[$3701>>0]|0;
$3703 = HEAP8[$248>>0]|0;
$3704 = $3703 ^ $3702;
$3705 = $3704&255;
$3706 = (10176 + ($3705)|0);
$3707 = HEAP8[$3706>>0]|0;
$3708 = HEAP8[$64>>0]|0;
$3709 = $3708 ^ $3707;
$3710 = $3709&255;
$3711 = (12736 + ($3710<<2)|0);
$3712 = HEAP32[$3711>>2]|0;
$3713 = $3692 ^ $3712;
$3714 = HEAP8[$641>>0]|0;
$3715 = $3714 ^ 94;
$3716 = $3715&255;
$3717 = (10432 + ($3716)|0);
$3718 = HEAP8[$3717>>0]|0;
$3719 = HEAP8[$457>>0]|0;
$3720 = $3719 ^ $3718;
$3721 = $3720&255;
$3722 = (10176 + ($3721)|0);
$3723 = HEAP8[$3722>>0]|0;
$3724 = HEAP8[$272>>0]|0;
$3725 = $3724 ^ $3723;
$3726 = $3725&255;
$3727 = (10176 + ($3726)|0);
$3728 = HEAP8[$3727>>0]|0;
$3729 = HEAP8[$88>>0]|0;
$3730 = $3729 ^ $3728;
$3731 = $3730&255;
$3732 = (13760 + ($3731<<2)|0);
$3733 = HEAP32[$3732>>2]|0;
$3734 = $3713 ^ $3733;
$3735 = HEAP8[$665>>0]|0;
$3736 = $3735 ^ -70;
$3737 = $3736&255;
$3738 = (10176 + ($3737)|0);
$3739 = HEAP8[$3738>>0]|0;
$3740 = HEAP8[$481>>0]|0;
$3741 = $3740 ^ $3739;
$3742 = $3741&255;
$3743 = (10432 + ($3742)|0);
$3744 = HEAP8[$3743>>0]|0;
$3745 = HEAP8[$296>>0]|0;
$3746 = $3745 ^ $3744;
$3747 = $3746&255;
$3748 = (10432 + ($3747)|0);
$3749 = HEAP8[$3748>>0]|0;
$3750 = HEAP8[$112>>0]|0;
$3751 = $3750 ^ $3749;
$3752 = $3751&255;
$3753 = (10688 + ($3752<<2)|0);
$3754 = HEAP32[$3753>>2]|0;
$3755 = HEAP8[$689>>0]|0;
$3756 = $3755 ^ -48;
$3757 = $3756&255;
$3758 = (10176 + ($3757)|0);
$3759 = HEAP8[$3758>>0]|0;
$3760 = HEAP8[$505>>0]|0;
$3761 = $3760 ^ $3759;
$3762 = $3761&255;
$3763 = (10176 + ($3762)|0);
$3764 = HEAP8[$3763>>0]|0;
$3765 = HEAP8[$320>>0]|0;
$3766 = $3765 ^ $3764;
$3767 = $3766&255;
$3768 = (10432 + ($3767)|0);
$3769 = HEAP8[$3768>>0]|0;
$3770 = HEAP8[$136>>0]|0;
$3771 = $3770 ^ $3769;
$3772 = $3771&255;
$3773 = (11712 + ($3772<<2)|0);
$3774 = HEAP32[$3773>>2]|0;
$3775 = $3774 ^ $3754;
$3776 = HEAP8[$713>>0]|0;
$3777 = $3776 ^ -48;
$3778 = $3777&255;
$3779 = (10432 + ($3778)|0);
$3780 = HEAP8[$3779>>0]|0;
$3781 = HEAP8[$529>>0]|0;
$3782 = $3781 ^ $3780;
$3783 = $3782&255;
$3784 = (10432 + ($3783)|0);
$3785 = HEAP8[$3784>>0]|0;
$3786 = HEAP8[$344>>0]|0;
$3787 = $3786 ^ $3785;
$3788 = $3787&255;
$3789 = (10176 + ($3788)|0);
$3790 = HEAP8[$3789>>0]|0;
$3791 = HEAP8[$160>>0]|0;
$3792 = $3791 ^ $3790;
$3793 = $3792&255;
$3794 = (12736 + ($3793<<2)|0);
$3795 = HEAP32[$3794>>2]|0;
$3796 = $3775 ^ $3795;
$3797 = HEAP8[$737>>0]|0;
$3798 = $3797 ^ -70;
$3799 = $3798&255;
$3800 = (10432 + ($3799)|0);
$3801 = HEAP8[$3800>>0]|0;
$3802 = HEAP8[$553>>0]|0;
$3803 = $3802 ^ $3801;
$3804 = $3803&255;
$3805 = (10176 + ($3804)|0);
$3806 = HEAP8[$3805>>0]|0;
$3807 = HEAP8[$368>>0]|0;
$3808 = $3807 ^ $3806;
$3809 = $3808&255;
$3810 = (10176 + ($3809)|0);
$3811 = HEAP8[$3810>>0]|0;
$3812 = HEAP8[$184>>0]|0;
$3813 = $3812 ^ $3811;
$3814 = $3813&255;
$3815 = (13760 + ($3814<<2)|0);
$3816 = HEAP32[$3815>>2]|0;
$3817 = $3796 ^ $3816;
$3818 = $3817 << 8;
$3819 = $3817 >>> 24;
$3820 = $3818 | $3819;
$3821 = (($3820) + ($3734))|0;
$3822 = (($3821) + ($3820))|0;
$3823 = ((($0)) + 4224|0);
HEAP32[$3823>>2] = $3821;
$3824 = $3822 << 9;
$3825 = $3822 >>> 23;
$3826 = $3824 | $3825;
$3827 = ((($0)) + 4228|0);
HEAP32[$3827>>2] = $3826;
$3828 = HEAP8[$577>>0]|0;
$3829 = $3828 ^ -82;
$3830 = $3829&255;
$3831 = (10176 + ($3830)|0);
$3832 = HEAP8[$3831>>0]|0;
$3833 = HEAP8[$393>>0]|0;
$3834 = $3833 ^ $3832;
$3835 = $3834&255;
$3836 = (10432 + ($3835)|0);
$3837 = HEAP8[$3836>>0]|0;
$3838 = HEAP8[$208>>0]|0;
$3839 = $3838 ^ $3837;
$3840 = $3839&255;
$3841 = (10432 + ($3840)|0);
$3842 = HEAP8[$3841>>0]|0;
$3843 = HEAP8[$1>>0]|0;
$3844 = $3843 ^ $3842;
$3845 = $3844&255;
$3846 = (10688 + ($3845<<2)|0);
$3847 = HEAP32[$3846>>2]|0;
$3848 = HEAP8[$593>>0]|0;
$3849 = $3848 ^ -117;
$3850 = $3849&255;
$3851 = (10176 + ($3850)|0);
$3852 = HEAP8[$3851>>0]|0;
$3853 = HEAP8[$409>>0]|0;
$3854 = $3853 ^ $3852;
$3855 = $3854&255;
$3856 = (10176 + ($3855)|0);
$3857 = HEAP8[$3856>>0]|0;
$3858 = HEAP8[$224>>0]|0;
$3859 = $3858 ^ $3857;
$3860 = $3859&255;
$3861 = (10432 + ($3860)|0);
$3862 = HEAP8[$3861>>0]|0;
$3863 = HEAP8[$40>>0]|0;
$3864 = $3863 ^ $3862;
$3865 = $3864&255;
$3866 = (11712 + ($3865<<2)|0);
$3867 = HEAP32[$3866>>2]|0;
$3868 = $3867 ^ $3847;
$3869 = HEAP8[$617>>0]|0;
$3870 = $3869 ^ -117;
$3871 = $3870&255;
$3872 = (10432 + ($3871)|0);
$3873 = HEAP8[$3872>>0]|0;
$3874 = HEAP8[$433>>0]|0;
$3875 = $3874 ^ $3873;
$3876 = $3875&255;
$3877 = (10432 + ($3876)|0);
$3878 = HEAP8[$3877>>0]|0;
$3879 = HEAP8[$248>>0]|0;
$3880 = $3879 ^ $3878;
$3881 = $3880&255;
$3882 = (10176 + ($3881)|0);
$3883 = HEAP8[$3882>>0]|0;
$3884 = HEAP8[$64>>0]|0;
$3885 = $3884 ^ $3883;
$3886 = $3885&255;
$3887 = (12736 + ($3886<<2)|0);
$3888 = HEAP32[$3887>>2]|0;
$3889 = $3868 ^ $3888;
$3890 = HEAP8[$641>>0]|0;
$3891 = $3890 ^ -82;
$3892 = $3891&255;
$3893 = (10432 + ($3892)|0);
$3894 = HEAP8[$3893>>0]|0;
$3895 = HEAP8[$457>>0]|0;
$3896 = $3895 ^ $3894;
$3897 = $3896&255;
$3898 = (10176 + ($3897)|0);
$3899 = HEAP8[$3898>>0]|0;
$3900 = HEAP8[$272>>0]|0;
$3901 = $3900 ^ $3899;
$3902 = $3901&255;
$3903 = (10176 + ($3902)|0);
$3904 = HEAP8[$3903>>0]|0;
$3905 = HEAP8[$88>>0]|0;
$3906 = $3905 ^ $3904;
$3907 = $3906&255;
$3908 = (13760 + ($3907<<2)|0);
$3909 = HEAP32[$3908>>2]|0;
$3910 = $3889 ^ $3909;
$3911 = HEAP8[$665>>0]|0;
$3912 = $3911 ^ 91;
$3913 = $3912&255;
$3914 = (10176 + ($3913)|0);
$3915 = HEAP8[$3914>>0]|0;
$3916 = HEAP8[$481>>0]|0;
$3917 = $3916 ^ $3915;
$3918 = $3917&255;
$3919 = (10432 + ($3918)|0);
$3920 = HEAP8[$3919>>0]|0;
$3921 = HEAP8[$296>>0]|0;
$3922 = $3921 ^ $3920;
$3923 = $3922&255;
$3924 = (10432 + ($3923)|0);
$3925 = HEAP8[$3924>>0]|0;
$3926 = HEAP8[$112>>0]|0;
$3927 = $3926 ^ $3925;
$3928 = $3927&255;
$3929 = (10688 + ($3928<<2)|0);
$3930 = HEAP32[$3929>>2]|0;
$3931 = HEAP8[$689>>0]|0;
$3932 = $3931 ^ 48;
$3933 = $3932&255;
$3934 = (10176 + ($3933)|0);
$3935 = HEAP8[$3934>>0]|0;
$3936 = HEAP8[$505>>0]|0;
$3937 = $3936 ^ $3935;
$3938 = $3937&255;
$3939 = (10176 + ($3938)|0);
$3940 = HEAP8[$3939>>0]|0;
$3941 = HEAP8[$320>>0]|0;
$3942 = $3941 ^ $3940;
$3943 = $3942&255;
$3944 = (10432 + ($3943)|0);
$3945 = HEAP8[$3944>>0]|0;
$3946 = HEAP8[$136>>0]|0;
$3947 = $3946 ^ $3945;
$3948 = $3947&255;
$3949 = (11712 + ($3948<<2)|0);
$3950 = HEAP32[$3949>>2]|0;
$3951 = $3950 ^ $3930;
$3952 = HEAP8[$713>>0]|0;
$3953 = $3952 ^ 48;
$3954 = $3953&255;
$3955 = (10432 + ($3954)|0);
$3956 = HEAP8[$3955>>0]|0;
$3957 = HEAP8[$529>>0]|0;
$3958 = $3957 ^ $3956;
$3959 = $3958&255;
$3960 = (10432 + ($3959)|0);
$3961 = HEAP8[$3960>>0]|0;
$3962 = HEAP8[$344>>0]|0;
$3963 = $3962 ^ $3961;
$3964 = $3963&255;
$3965 = (10176 + ($3964)|0);
$3966 = HEAP8[$3965>>0]|0;
$3967 = HEAP8[$160>>0]|0;
$3968 = $3967 ^ $3966;
$3969 = $3968&255;
$3970 = (12736 + ($3969<<2)|0);
$3971 = HEAP32[$3970>>2]|0;
$3972 = $3951 ^ $3971;
$3973 = HEAP8[$737>>0]|0;
$3974 = $3973 ^ 91;
$3975 = $3974&255;
$3976 = (10432 + ($3975)|0);
$3977 = HEAP8[$3976>>0]|0;
$3978 = HEAP8[$553>>0]|0;
$3979 = $3978 ^ $3977;
$3980 = $3979&255;
$3981 = (10176 + ($3980)|0);
$3982 = HEAP8[$3981>>0]|0;
$3983 = HEAP8[$368>>0]|0;
$3984 = $3983 ^ $3982;
$3985 = $3984&255;
$3986 = (10176 + ($3985)|0);
$3987 = HEAP8[$3986>>0]|0;
$3988 = HEAP8[$184>>0]|0;
$3989 = $3988 ^ $3987;
$3990 = $3989&255;
$3991 = (13760 + ($3990<<2)|0);
$3992 = HEAP32[$3991>>2]|0;
$3993 = $3972 ^ $3992;
$3994 = $3993 << 8;
$3995 = $3993 >>> 24;
$3996 = $3994 | $3995;
$3997 = (($3996) + ($3910))|0;
$3998 = (($3997) + ($3996))|0;
$3999 = ((($0)) + 4232|0);
HEAP32[$3999>>2] = $3997;
$4000 = $3998 << 9;
$4001 = $3998 >>> 23;
$4002 = $4000 | $4001;
$4003 = ((($0)) + 4236|0);
HEAP32[$4003>>2] = $4002;
$4004 = HEAP8[$577>>0]|0;
$4005 = $4004 ^ -118;
$4006 = $4005&255;
$4007 = (10176 + ($4006)|0);
$4008 = HEAP8[$4007>>0]|0;
$4009 = HEAP8[$393>>0]|0;
$4010 = $4009 ^ $4008;
$4011 = $4010&255;
$4012 = (10432 + ($4011)|0);
$4013 = HEAP8[$4012>>0]|0;
$4014 = HEAP8[$208>>0]|0;
$4015 = $4014 ^ $4013;
$4016 = $4015&255;
$4017 = (10432 + ($4016)|0);
$4018 = HEAP8[$4017>>0]|0;
$4019 = HEAP8[$1>>0]|0;
$4020 = $4019 ^ $4018;
$4021 = $4020&255;
$4022 = (10688 + ($4021<<2)|0);
$4023 = HEAP32[$4022>>2]|0;
$4024 = HEAP8[$593>>0]|0;
$4025 = $4024 ^ -124;
$4026 = $4025&255;
$4027 = (10176 + ($4026)|0);
$4028 = HEAP8[$4027>>0]|0;
$4029 = HEAP8[$409>>0]|0;
$4030 = $4029 ^ $4028;
$4031 = $4030&255;
$4032 = (10176 + ($4031)|0);
$4033 = HEAP8[$4032>>0]|0;
$4034 = HEAP8[$224>>0]|0;
$4035 = $4034 ^ $4033;
$4036 = $4035&255;
$4037 = (10432 + ($4036)|0);
$4038 = HEAP8[$4037>>0]|0;
$4039 = HEAP8[$40>>0]|0;
$4040 = $4039 ^ $4038;
$4041 = $4040&255;
$4042 = (11712 + ($4041<<2)|0);
$4043 = HEAP32[$4042>>2]|0;
$4044 = $4043 ^ $4023;
$4045 = HEAP8[$617>>0]|0;
$4046 = $4045 ^ -124;
$4047 = $4046&255;
$4048 = (10432 + ($4047)|0);
$4049 = HEAP8[$4048>>0]|0;
$4050 = HEAP8[$433>>0]|0;
$4051 = $4050 ^ $4049;
$4052 = $4051&255;
$4053 = (10432 + ($4052)|0);
$4054 = HEAP8[$4053>>0]|0;
$4055 = HEAP8[$248>>0]|0;
$4056 = $4055 ^ $4054;
$4057 = $4056&255;
$4058 = (10176 + ($4057)|0);
$4059 = HEAP8[$4058>>0]|0;
$4060 = HEAP8[$64>>0]|0;
$4061 = $4060 ^ $4059;
$4062 = $4061&255;
$4063 = (12736 + ($4062<<2)|0);
$4064 = HEAP32[$4063>>2]|0;
$4065 = $4044 ^ $4064;
$4066 = HEAP8[$641>>0]|0;
$4067 = $4066 ^ -118;
$4068 = $4067&255;
$4069 = (10432 + ($4068)|0);
$4070 = HEAP8[$4069>>0]|0;
$4071 = HEAP8[$457>>0]|0;
$4072 = $4071 ^ $4070;
$4073 = $4072&255;
$4074 = (10176 + ($4073)|0);
$4075 = HEAP8[$4074>>0]|0;
$4076 = HEAP8[$272>>0]|0;
$4077 = $4076 ^ $4075;
$4078 = $4077&255;
$4079 = (10176 + ($4078)|0);
$4080 = HEAP8[$4079>>0]|0;
$4081 = HEAP8[$88>>0]|0;
$4082 = $4081 ^ $4080;
$4083 = $4082&255;
$4084 = (13760 + ($4083<<2)|0);
$4085 = HEAP32[$4084>>2]|0;
$4086 = $4065 ^ $4085;
$4087 = HEAP8[$665>>0]|0;
$4088 = $4087&255;
$4089 = (10176 + ($4088)|0);
$4090 = HEAP8[$4089>>0]|0;
$4091 = HEAP8[$481>>0]|0;
$4092 = $4091 ^ $4090;
$4093 = $4092&255;
$4094 = (10432 + ($4093)|0);
$4095 = HEAP8[$4094>>0]|0;
$4096 = HEAP8[$296>>0]|0;
$4097 = $4096 ^ $4095;
$4098 = $4097&255;
$4099 = (10432 + ($4098)|0);
$4100 = HEAP8[$4099>>0]|0;
$4101 = HEAP8[$112>>0]|0;
$4102 = $4101 ^ $4100;
$4103 = $4102&255;
$4104 = (10688 + ($4103<<2)|0);
$4105 = HEAP32[$4104>>2]|0;
$4106 = HEAP8[$689>>0]|0;
$4107 = $4106 ^ 84;
$4108 = $4107&255;
$4109 = (10176 + ($4108)|0);
$4110 = HEAP8[$4109>>0]|0;
$4111 = HEAP8[$505>>0]|0;
$4112 = $4111 ^ $4110;
$4113 = $4112&255;
$4114 = (10176 + ($4113)|0);
$4115 = HEAP8[$4114>>0]|0;
$4116 = HEAP8[$320>>0]|0;
$4117 = $4116 ^ $4115;
$4118 = $4117&255;
$4119 = (10432 + ($4118)|0);
$4120 = HEAP8[$4119>>0]|0;
$4121 = HEAP8[$136>>0]|0;
$4122 = $4121 ^ $4120;
$4123 = $4122&255;
$4124 = (11712 + ($4123<<2)|0);
$4125 = HEAP32[$4124>>2]|0;
$4126 = $4125 ^ $4105;
$4127 = HEAP8[$713>>0]|0;
$4128 = $4127 ^ 84;
$4129 = $4128&255;
$4130 = (10432 + ($4129)|0);
$4131 = HEAP8[$4130>>0]|0;
$4132 = HEAP8[$529>>0]|0;
$4133 = $4132 ^ $4131;
$4134 = $4133&255;
$4135 = (10432 + ($4134)|0);
$4136 = HEAP8[$4135>>0]|0;
$4137 = HEAP8[$344>>0]|0;
$4138 = $4137 ^ $4136;
$4139 = $4138&255;
$4140 = (10176 + ($4139)|0);
$4141 = HEAP8[$4140>>0]|0;
$4142 = HEAP8[$160>>0]|0;
$4143 = $4142 ^ $4141;
$4144 = $4143&255;
$4145 = (12736 + ($4144<<2)|0);
$4146 = HEAP32[$4145>>2]|0;
$4147 = $4126 ^ $4146;
$4148 = HEAP8[$737>>0]|0;
$4149 = $4148&255;
$4150 = (10432 + ($4149)|0);
$4151 = HEAP8[$4150>>0]|0;
$4152 = HEAP8[$553>>0]|0;
$4153 = $4152 ^ $4151;
$4154 = $4153&255;
$4155 = (10176 + ($4154)|0);
$4156 = HEAP8[$4155>>0]|0;
$4157 = HEAP8[$368>>0]|0;
$4158 = $4157 ^ $4156;
$4159 = $4158&255;
$4160 = (10176 + ($4159)|0);
$4161 = HEAP8[$4160>>0]|0;
$4162 = HEAP8[$184>>0]|0;
$4163 = $4162 ^ $4161;
$4164 = $4163&255;
$4165 = (13760 + ($4164<<2)|0);
$4166 = HEAP32[$4165>>2]|0;
$4167 = $4147 ^ $4166;
$4168 = $4167 << 8;
$4169 = $4167 >>> 24;
$4170 = $4168 | $4169;
$4171 = (($4170) + ($4086))|0;
$4172 = (($4171) + ($4170))|0;
$4173 = ((($0)) + 4240|0);
HEAP32[$4173>>2] = $4171;
$4174 = $4172 << 9;
$4175 = $4172 >>> 23;
$4176 = $4174 | $4175;
$4177 = ((($0)) + 4244|0);
HEAP32[$4177>>2] = $4176;
$4178 = HEAP8[$577>>0]|0;
$4179 = $4178 ^ -68;
$4180 = $4179&255;
$4181 = (10176 + ($4180)|0);
$4182 = HEAP8[$4181>>0]|0;
$4183 = HEAP8[$393>>0]|0;
$4184 = $4183 ^ $4182;
$4185 = $4184&255;
$4186 = (10432 + ($4185)|0);
$4187 = HEAP8[$4186>>0]|0;
$4188 = HEAP8[$208>>0]|0;
$4189 = $4188 ^ $4187;
$4190 = $4189&255;
$4191 = (10432 + ($4190)|0);
$4192 = HEAP8[$4191>>0]|0;
$4193 = HEAP8[$1>>0]|0;
$4194 = $4193 ^ $4192;
$4195 = $4194&255;
$4196 = (10688 + ($4195<<2)|0);
$4197 = HEAP32[$4196>>2]|0;
$4198 = HEAP8[$593>>0]|0;
$4199 = $4198 ^ -33;
$4200 = $4199&255;
$4201 = (10176 + ($4200)|0);
$4202 = HEAP8[$4201>>0]|0;
$4203 = HEAP8[$409>>0]|0;
$4204 = $4203 ^ $4202;
$4205 = $4204&255;
$4206 = (10176 + ($4205)|0);
$4207 = HEAP8[$4206>>0]|0;
$4208 = HEAP8[$224>>0]|0;
$4209 = $4208 ^ $4207;
$4210 = $4209&255;
$4211 = (10432 + ($4210)|0);
$4212 = HEAP8[$4211>>0]|0;
$4213 = HEAP8[$40>>0]|0;
$4214 = $4213 ^ $4212;
$4215 = $4214&255;
$4216 = (11712 + ($4215<<2)|0);
$4217 = HEAP32[$4216>>2]|0;
$4218 = $4217 ^ $4197;
$4219 = HEAP8[$617>>0]|0;
$4220 = $4219 ^ -33;
$4221 = $4220&255;
$4222 = (10432 + ($4221)|0);
$4223 = HEAP8[$4222>>0]|0;
$4224 = HEAP8[$433>>0]|0;
$4225 = $4224 ^ $4223;
$4226 = $4225&255;
$4227 = (10432 + ($4226)|0);
$4228 = HEAP8[$4227>>0]|0;
$4229 = HEAP8[$248>>0]|0;
$4230 = $4229 ^ $4228;
$4231 = $4230&255;
$4232 = (10176 + ($4231)|0);
$4233 = HEAP8[$4232>>0]|0;
$4234 = HEAP8[$64>>0]|0;
$4235 = $4234 ^ $4233;
$4236 = $4235&255;
$4237 = (12736 + ($4236<<2)|0);
$4238 = HEAP32[$4237>>2]|0;
$4239 = $4218 ^ $4238;
$4240 = HEAP8[$641>>0]|0;
$4241 = $4240 ^ -68;
$4242 = $4241&255;
$4243 = (10432 + ($4242)|0);
$4244 = HEAP8[$4243>>0]|0;
$4245 = HEAP8[$457>>0]|0;
$4246 = $4245 ^ $4244;
$4247 = $4246&255;
$4248 = (10176 + ($4247)|0);
$4249 = HEAP8[$4248>>0]|0;
$4250 = HEAP8[$272>>0]|0;
$4251 = $4250 ^ $4249;
$4252 = $4251&255;
$4253 = (10176 + ($4252)|0);
$4254 = HEAP8[$4253>>0]|0;
$4255 = HEAP8[$88>>0]|0;
$4256 = $4255 ^ $4254;
$4257 = $4256&255;
$4258 = (13760 + ($4257<<2)|0);
$4259 = HEAP32[$4258>>2]|0;
$4260 = $4239 ^ $4259;
$4261 = HEAP8[$665>>0]|0;
$4262 = $4261 ^ -99;
$4263 = $4262&255;
$4264 = (10176 + ($4263)|0);
$4265 = HEAP8[$4264>>0]|0;
$4266 = HEAP8[$481>>0]|0;
$4267 = $4266 ^ $4265;
$4268 = $4267&255;
$4269 = (10432 + ($4268)|0);
$4270 = HEAP8[$4269>>0]|0;
$4271 = HEAP8[$296>>0]|0;
$4272 = $4271 ^ $4270;
$4273 = $4272&255;
$4274 = (10432 + ($4273)|0);
$4275 = HEAP8[$4274>>0]|0;
$4276 = HEAP8[$112>>0]|0;
$4277 = $4276 ^ $4275;
$4278 = $4277&255;
$4279 = (10688 + ($4278<<2)|0);
$4280 = HEAP32[$4279>>2]|0;
$4281 = HEAP8[$689>>0]|0;
$4282 = $4281 ^ 35;
$4283 = $4282&255;
$4284 = (10176 + ($4283)|0);
$4285 = HEAP8[$4284>>0]|0;
$4286 = HEAP8[$505>>0]|0;
$4287 = $4286 ^ $4285;
$4288 = $4287&255;
$4289 = (10176 + ($4288)|0);
$4290 = HEAP8[$4289>>0]|0;
$4291 = HEAP8[$320>>0]|0;
$4292 = $4291 ^ $4290;
$4293 = $4292&255;
$4294 = (10432 + ($4293)|0);
$4295 = HEAP8[$4294>>0]|0;
$4296 = HEAP8[$136>>0]|0;
$4297 = $4296 ^ $4295;
$4298 = $4297&255;
$4299 = (11712 + ($4298<<2)|0);
$4300 = HEAP32[$4299>>2]|0;
$4301 = $4300 ^ $4280;
$4302 = HEAP8[$713>>0]|0;
$4303 = $4302 ^ 35;
$4304 = $4303&255;
$4305 = (10432 + ($4304)|0);
$4306 = HEAP8[$4305>>0]|0;
$4307 = HEAP8[$529>>0]|0;
$4308 = $4307 ^ $4306;
$4309 = $4308&255;
$4310 = (10432 + ($4309)|0);
$4311 = HEAP8[$4310>>0]|0;
$4312 = HEAP8[$344>>0]|0;
$4313 = $4312 ^ $4311;
$4314 = $4313&255;
$4315 = (10176 + ($4314)|0);
$4316 = HEAP8[$4315>>0]|0;
$4317 = HEAP8[$160>>0]|0;
$4318 = $4317 ^ $4316;
$4319 = $4318&255;
$4320 = (12736 + ($4319<<2)|0);
$4321 = HEAP32[$4320>>2]|0;
$4322 = $4301 ^ $4321;
$4323 = HEAP8[$737>>0]|0;
$4324 = $4323 ^ -99;
$4325 = $4324&255;
$4326 = (10432 + ($4325)|0);
$4327 = HEAP8[$4326>>0]|0;
$4328 = HEAP8[$553>>0]|0;
$4329 = $4328 ^ $4327;
$4330 = $4329&255;
$4331 = (10176 + ($4330)|0);
$4332 = HEAP8[$4331>>0]|0;
$4333 = HEAP8[$368>>0]|0;
$4334 = $4333 ^ $4332;
$4335 = $4334&255;
$4336 = (10176 + ($4335)|0);
$4337 = HEAP8[$4336>>0]|0;
$4338 = HEAP8[$184>>0]|0;
$4339 = $4338 ^ $4337;
$4340 = $4339&255;
$4341 = (13760 + ($4340<<2)|0);
$4342 = HEAP32[$4341>>2]|0;
$4343 = $4322 ^ $4342;
$4344 = $4343 << 8;
$4345 = $4343 >>> 24;
$4346 = $4344 | $4345;
$4347 = (($4346) + ($4260))|0;
$4348 = (($4347) + ($4346))|0;
$4349 = ((($0)) + 4248|0);
HEAP32[$4349>>2] = $4347;
$4350 = $4348 << 9;
$4351 = $4348 >>> 23;
$4352 = $4350 | $4351;
$4353 = ((($0)) + 4252|0);
HEAP32[$4353>>2] = $4352;
$$01913 = 0;
STACKTOP = sp;return ($$01913|0);
}
function __gcry_twofish_ctr_enc($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$06183 = 0, $$06780 = 0, $$068$lcssa = 0, $$06882 = 0, $$07081 = 0, $$084 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $15 = 0, $16 = 0, $17 = 0;
var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
$6 = ($4|0)==(0);
if ($6) {
$$068$lcssa = 0;
$137 = $5;
$138 = $137;
HEAP32[$138>>2] = 0;
$139 = (($137) + 4)|0;
$140 = $139;
HEAP32[$140>>2] = 0;
$141 = ((($5)) + 8|0);
$142 = $141;
$143 = $142;
HEAP32[$143>>2] = 0;
$144 = (($142) + 4)|0;
$145 = $144;
HEAP32[$145>>2] = 0;
___gcry_burn_stack($$068$lcssa);
STACKTOP = sp;return;
}
$7 = ((($5)) + 4|0);
$8 = ((($5)) + 8|0);
$9 = ((($5)) + 12|0);
$10 = ((($5)) + 1|0);
$11 = ((($5)) + 2|0);
$12 = ((($5)) + 3|0);
$13 = ((($5)) + 4|0);
$14 = ((($5)) + 5|0);
$15 = ((($5)) + 6|0);
$16 = ((($5)) + 7|0);
$17 = ((($5)) + 8|0);
$18 = ((($5)) + 9|0);
$19 = ((($5)) + 10|0);
$20 = ((($5)) + 11|0);
$21 = ((($5)) + 12|0);
$22 = ((($5)) + 13|0);
$23 = ((($5)) + 14|0);
$24 = ((($5)) + 15|0);
$$06183 = $2;$$06882 = 0;$$07081 = $3;$$084 = $4;
while(1) {
(_twofish_encrypt($0,$5,$1)|0);
$25 = ($$06882>>>0)>(36);
$spec$select = $25 ? $$06882 : 36;
$26 = $$06183;
$27 = $$07081;
$28 = $26 | $27;
$29 = $28 & 3;
$30 = ($29|0)==(0);
if ($30) {
$31 = HEAP32[$5>>2]|0;
$32 = ((($$07081)) + 4|0);
$33 = HEAP32[$$07081>>2]|0;
$34 = $33 ^ $31;
$35 = ((($$06183)) + 4|0);
HEAP32[$$06183>>2] = $34;
$36 = HEAP32[$7>>2]|0;
$37 = ((($$07081)) + 8|0);
$38 = HEAP32[$32>>2]|0;
$39 = $38 ^ $36;
$40 = ((($$06183)) + 8|0);
HEAP32[$35>>2] = $39;
$41 = HEAP32[$8>>2]|0;
$42 = ((($$07081)) + 12|0);
$43 = HEAP32[$37>>2]|0;
$44 = $43 ^ $41;
$45 = ((($$06183)) + 12|0);
HEAP32[$40>>2] = $44;
$46 = HEAP32[$9>>2]|0;
$47 = HEAP32[$42>>2]|0;
$48 = $47 ^ $46;
HEAP32[$45>>2] = $48;
} else {
$49 = HEAP8[$5>>0]|0;
$50 = ((($$07081)) + 1|0);
$51 = HEAP8[$$07081>>0]|0;
$52 = $51 ^ $49;
$53 = ((($$06183)) + 1|0);
HEAP8[$$06183>>0] = $52;
$54 = HEAP8[$10>>0]|0;
$55 = ((($$07081)) + 2|0);
$56 = HEAP8[$50>>0]|0;
$57 = $56 ^ $54;
$58 = ((($$06183)) + 2|0);
HEAP8[$53>>0] = $57;
$59 = HEAP8[$11>>0]|0;
$60 = ((($$07081)) + 3|0);
$61 = HEAP8[$55>>0]|0;
$62 = $61 ^ $59;
$63 = ((($$06183)) + 3|0);
HEAP8[$58>>0] = $62;
$64 = HEAP8[$12>>0]|0;
$65 = ((($$07081)) + 4|0);
$66 = HEAP8[$60>>0]|0;
$67 = $66 ^ $64;
$68 = ((($$06183)) + 4|0);
HEAP8[$63>>0] = $67;
$69 = HEAP8[$13>>0]|0;
$70 = ((($$07081)) + 5|0);
$71 = HEAP8[$65>>0]|0;
$72 = $71 ^ $69;
$73 = ((($$06183)) + 5|0);
HEAP8[$68>>0] = $72;
$74 = HEAP8[$14>>0]|0;
$75 = ((($$07081)) + 6|0);
$76 = HEAP8[$70>>0]|0;
$77 = $76 ^ $74;
$78 = ((($$06183)) + 6|0);
HEAP8[$73>>0] = $77;
$79 = HEAP8[$15>>0]|0;
$80 = ((($$07081)) + 7|0);
$81 = HEAP8[$75>>0]|0;
$82 = $81 ^ $79;
$83 = ((($$06183)) + 7|0);
HEAP8[$78>>0] = $82;
$84 = HEAP8[$16>>0]|0;
$85 = ((($$07081)) + 8|0);
$86 = HEAP8[$80>>0]|0;
$87 = $86 ^ $84;
$88 = ((($$06183)) + 8|0);
HEAP8[$83>>0] = $87;
$89 = HEAP8[$17>>0]|0;
$90 = ((($$07081)) + 9|0);
$91 = HEAP8[$85>>0]|0;
$92 = $91 ^ $89;
$93 = ((($$06183)) + 9|0);
HEAP8[$88>>0] = $92;
$94 = HEAP8[$18>>0]|0;
$95 = ((($$07081)) + 10|0);
$96 = HEAP8[$90>>0]|0;
$97 = $96 ^ $94;
$98 = ((($$06183)) + 10|0);
HEAP8[$93>>0] = $97;
$99 = HEAP8[$19>>0]|0;
$100 = ((($$07081)) + 11|0);
$101 = HEAP8[$95>>0]|0;
$102 = $101 ^ $99;
$103 = ((($$06183)) + 11|0);
HEAP8[$98>>0] = $102;
$104 = HEAP8[$20>>0]|0;
$105 = ((($$07081)) + 12|0);
$106 = HEAP8[$100>>0]|0;
$107 = $106 ^ $104;
$108 = ((($$06183)) + 12|0);
HEAP8[$103>>0] = $107;
$109 = HEAP8[$21>>0]|0;
$110 = ((($$07081)) + 13|0);
$111 = HEAP8[$105>>0]|0;
$112 = $111 ^ $109;
$113 = ((($$06183)) + 13|0);
HEAP8[$108>>0] = $112;
$114 = HEAP8[$22>>0]|0;
$115 = ((($$07081)) + 14|0);
$116 = HEAP8[$110>>0]|0;
$117 = $116 ^ $114;
$118 = ((($$06183)) + 14|0);
HEAP8[$113>>0] = $117;
$119 = HEAP8[$23>>0]|0;
$120 = ((($$07081)) + 15|0);
$121 = HEAP8[$115>>0]|0;
$122 = $121 ^ $119;
$123 = ((($$06183)) + 15|0);
HEAP8[$118>>0] = $122;
$124 = HEAP8[$24>>0]|0;
$125 = HEAP8[$120>>0]|0;
$126 = $125 ^ $124;
HEAP8[$123>>0] = $126;
}
$127 = ((($$06183)) + 16|0);
$$06780 = 16;
while(1) {
$128 = (($$06780) + -1)|0;
$129 = (($1) + ($128)|0);
$130 = HEAP8[$129>>0]|0;
$131 = (($130) + 1)<<24>>24;
HEAP8[$129>>0] = $131;
$132 = ($131<<24>>24)==(0);
$133 = ($$06780>>>0)>(1);
$or$cond = $132 & $133;
if ($or$cond) {
$$06780 = $128;
} else {
break;
}
}
$134 = ((($$07081)) + 16|0);
$135 = (($$084) + -1)|0;
$136 = ($135|0)==(0);
if ($136) {
$$068$lcssa = $spec$select;
break;
} else {
$$06183 = $127;$$06882 = $spec$select;$$07081 = $134;$$084 = $135;
}
}
$137 = $5;
$138 = $137;
HEAP32[$138>>2] = 0;
$139 = (($137) + 4)|0;
$140 = $139;
HEAP32[$140>>2] = 0;
$141 = ((($5)) + 8|0);
$142 = $141;
$143 = $142;
HEAP32[$143>>2] = 0;
$144 = (($142) + 4)|0;
$145 = $144;
HEAP32[$145>>2] = 0;
___gcry_burn_stack($$068$lcssa);
STACKTOP = sp;return;
}
function __gcry_twofish_cbc_dec($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$05474 = 0, $$060$lcssa = 0, $$06073 = 0, $$06272 = 0, $$075 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
var $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
$6 = ($4|0)==(0);
if ($6) {
$$060$lcssa = 0;
$171 = $5;
$172 = $171;
HEAP32[$172>>2] = 0;
$173 = (($171) + 4)|0;
$174 = $173;
HEAP32[$174>>2] = 0;
$175 = ((($5)) + 8|0);
$176 = $175;
$177 = $176;
HEAP32[$177>>2] = 0;
$178 = (($176) + 4)|0;
$179 = $178;
HEAP32[$179>>2] = 0;
___gcry_burn_stack($$060$lcssa);
STACKTOP = sp;return;
}
$7 = $1;
$8 = ((($5)) + 4|0);
$9 = ((($1)) + 4|0);
$10 = ((($5)) + 8|0);
$11 = ((($1)) + 8|0);
$12 = ((($5)) + 12|0);
$13 = ((($1)) + 12|0);
$14 = ((($5)) + 1|0);
$15 = ((($1)) + 1|0);
$16 = ((($5)) + 2|0);
$17 = ((($1)) + 2|0);
$18 = ((($5)) + 3|0);
$19 = ((($1)) + 3|0);
$20 = ((($5)) + 4|0);
$21 = ((($1)) + 4|0);
$22 = ((($5)) + 5|0);
$23 = ((($1)) + 5|0);
$24 = ((($5)) + 6|0);
$25 = ((($1)) + 6|0);
$26 = ((($5)) + 7|0);
$27 = ((($1)) + 7|0);
$28 = ((($5)) + 8|0);
$29 = ((($1)) + 8|0);
$30 = ((($5)) + 9|0);
$31 = ((($1)) + 9|0);
$32 = ((($5)) + 10|0);
$33 = ((($1)) + 10|0);
$34 = ((($5)) + 11|0);
$35 = ((($1)) + 11|0);
$36 = ((($5)) + 12|0);
$37 = ((($1)) + 12|0);
$38 = ((($5)) + 13|0);
$39 = ((($1)) + 13|0);
$40 = ((($5)) + 14|0);
$41 = ((($1)) + 14|0);
$42 = ((($5)) + 15|0);
$43 = ((($1)) + 15|0);
$$05474 = $2;$$06073 = 0;$$06272 = $3;$$075 = $4;
while(1) {
(_twofish_decrypt($0,$5,$$06272)|0);
$44 = ($$06073>>>0)>(36);
$spec$select = $44 ? $$06073 : 36;
$45 = $$06272;
$46 = $$05474;
$47 = $45 | $7;
$48 = $47 | $46;
$49 = $48 & 3;
$50 = ($49|0)==(0);
if ($50) {
$51 = ((($$06272)) + 4|0);
$52 = HEAP32[$$06272>>2]|0;
$53 = HEAP32[$1>>2]|0;
$54 = HEAP32[$5>>2]|0;
$55 = $54 ^ $53;
$56 = ((($$05474)) + 4|0);
HEAP32[$$05474>>2] = $55;
HEAP32[$1>>2] = $52;
$57 = ((($$06272)) + 8|0);
$58 = HEAP32[$51>>2]|0;
$59 = HEAP32[$9>>2]|0;
$60 = HEAP32[$8>>2]|0;
$61 = $60 ^ $59;
$62 = ((($$05474)) + 8|0);
HEAP32[$56>>2] = $61;
HEAP32[$9>>2] = $58;
$63 = ((($$06272)) + 12|0);
$64 = HEAP32[$57>>2]|0;
$65 = HEAP32[$11>>2]|0;
$66 = HEAP32[$10>>2]|0;
$67 = $66 ^ $65;
$68 = ((($$05474)) + 12|0);
HEAP32[$62>>2] = $67;
HEAP32[$11>>2] = $64;
$69 = HEAP32[$63>>2]|0;
$70 = HEAP32[$13>>2]|0;
$71 = HEAP32[$12>>2]|0;
$72 = $71 ^ $70;
HEAP32[$68>>2] = $72;
HEAP32[$13>>2] = $69;
} else {
$73 = ((($$06272)) + 1|0);
$74 = HEAP8[$$06272>>0]|0;
$75 = HEAP8[$1>>0]|0;
$76 = HEAP8[$5>>0]|0;
$77 = $76 ^ $75;
$78 = ((($$05474)) + 1|0);
HEAP8[$$05474>>0] = $77;
HEAP8[$1>>0] = $74;
$79 = ((($$06272)) + 2|0);
$80 = HEAP8[$73>>0]|0;
$81 = HEAP8[$15>>0]|0;
$82 = HEAP8[$14>>0]|0;
$83 = $82 ^ $81;
$84 = ((($$05474)) + 2|0);
HEAP8[$78>>0] = $83;
HEAP8[$15>>0] = $80;
$85 = ((($$06272)) + 3|0);
$86 = HEAP8[$79>>0]|0;
$87 = HEAP8[$17>>0]|0;
$88 = HEAP8[$16>>0]|0;
$89 = $88 ^ $87;
$90 = ((($$05474)) + 3|0);
HEAP8[$84>>0] = $89;
HEAP8[$17>>0] = $86;
$91 = ((($$06272)) + 4|0);
$92 = HEAP8[$85>>0]|0;
$93 = HEAP8[$19>>0]|0;
$94 = HEAP8[$18>>0]|0;
$95 = $94 ^ $93;
$96 = ((($$05474)) + 4|0);
HEAP8[$90>>0] = $95;
HEAP8[$19>>0] = $92;
$97 = ((($$06272)) + 5|0);
$98 = HEAP8[$91>>0]|0;
$99 = HEAP8[$21>>0]|0;
$100 = HEAP8[$20>>0]|0;
$101 = $100 ^ $99;
$102 = ((($$05474)) + 5|0);
HEAP8[$96>>0] = $101;
HEAP8[$21>>0] = $98;
$103 = ((($$06272)) + 6|0);
$104 = HEAP8[$97>>0]|0;
$105 = HEAP8[$23>>0]|0;
$106 = HEAP8[$22>>0]|0;
$107 = $106 ^ $105;
$108 = ((($$05474)) + 6|0);
HEAP8[$102>>0] = $107;
HEAP8[$23>>0] = $104;
$109 = ((($$06272)) + 7|0);
$110 = HEAP8[$103>>0]|0;
$111 = HEAP8[$25>>0]|0;
$112 = HEAP8[$24>>0]|0;
$113 = $112 ^ $111;
$114 = ((($$05474)) + 7|0);
HEAP8[$108>>0] = $113;
HEAP8[$25>>0] = $110;
$115 = ((($$06272)) + 8|0);
$116 = HEAP8[$109>>0]|0;
$117 = HEAP8[$27>>0]|0;
$118 = HEAP8[$26>>0]|0;
$119 = $118 ^ $117;
$120 = ((($$05474)) + 8|0);
HEAP8[$114>>0] = $119;
HEAP8[$27>>0] = $116;
$121 = ((($$06272)) + 9|0);
$122 = HEAP8[$115>>0]|0;
$123 = HEAP8[$29>>0]|0;
$124 = HEAP8[$28>>0]|0;
$125 = $124 ^ $123;
$126 = ((($$05474)) + 9|0);
HEAP8[$120>>0] = $125;
HEAP8[$29>>0] = $122;
$127 = ((($$06272)) + 10|0);
$128 = HEAP8[$121>>0]|0;
$129 = HEAP8[$31>>0]|0;
$130 = HEAP8[$30>>0]|0;
$131 = $130 ^ $129;
$132 = ((($$05474)) + 10|0);
HEAP8[$126>>0] = $131;
HEAP8[$31>>0] = $128;
$133 = ((($$06272)) + 11|0);
$134 = HEAP8[$127>>0]|0;
$135 = HEAP8[$33>>0]|0;
$136 = HEAP8[$32>>0]|0;
$137 = $136 ^ $135;
$138 = ((($$05474)) + 11|0);
HEAP8[$132>>0] = $137;
HEAP8[$33>>0] = $134;
$139 = ((($$06272)) + 12|0);
$140 = HEAP8[$133>>0]|0;
$141 = HEAP8[$35>>0]|0;
$142 = HEAP8[$34>>0]|0;
$143 = $142 ^ $141;
$144 = ((($$05474)) + 12|0);
HEAP8[$138>>0] = $143;
HEAP8[$35>>0] = $140;
$145 = ((($$06272)) + 13|0);
$146 = HEAP8[$139>>0]|0;
$147 = HEAP8[$37>>0]|0;
$148 = HEAP8[$36>>0]|0;
$149 = $148 ^ $147;
$150 = ((($$05474)) + 13|0);
HEAP8[$144>>0] = $149;
HEAP8[$37>>0] = $146;
$151 = ((($$06272)) + 14|0);
$152 = HEAP8[$145>>0]|0;
$153 = HEAP8[$39>>0]|0;
$154 = HEAP8[$38>>0]|0;
$155 = $154 ^ $153;
$156 = ((($$05474)) + 14|0);
HEAP8[$150>>0] = $155;
HEAP8[$39>>0] = $152;
$157 = ((($$06272)) + 15|0);
$158 = HEAP8[$151>>0]|0;
$159 = HEAP8[$41>>0]|0;
$160 = HEAP8[$40>>0]|0;
$161 = $160 ^ $159;
$162 = ((($$05474)) + 15|0);
HEAP8[$156>>0] = $161;
HEAP8[$41>>0] = $158;
$163 = HEAP8[$157>>0]|0;
$164 = HEAP8[$43>>0]|0;
$165 = HEAP8[$42>>0]|0;
$166 = $165 ^ $164;
HEAP8[$162>>0] = $166;
HEAP8[$43>>0] = $163;
}
$167 = ((($$06272)) + 16|0);
$168 = ((($$05474)) + 16|0);
$169 = (($$075) + -1)|0;
$170 = ($169|0)==(0);
if ($170) {
$$060$lcssa = $spec$select;
break;
} else {
$$05474 = $168;$$06073 = $spec$select;$$06272 = $167;$$075 = $169;
}
}
$171 = $5;
$172 = $171;
HEAP32[$172>>2] = 0;
$173 = (($171) + 4)|0;
$174 = $173;
HEAP32[$174>>2] = 0;
$175 = ((($5)) + 8|0);
$176 = $175;
$177 = $176;
HEAP32[$177>>2] = 0;
$178 = (($176) + 4)|0;
$179 = $178;
HEAP32[$179>>2] = 0;
___gcry_burn_stack($$060$lcssa);
STACKTOP = sp;return;
}
function __gcry_twofish_cfb_dec($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0$lcssa = 0, $$02530 = 0, $$02629 = 0, $$02728 = 0, $$031 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ($4|0)==(0);
if ($5) {
$$0$lcssa = 0;
___gcry_burn_stack($$0$lcssa);
return;
}
$6 = $1;
$7 = ((($1)) + 4|0);
$8 = ((($1)) + 8|0);
$9 = ((($1)) + 12|0);
$10 = ((($1)) + 1|0);
$11 = ((($1)) + 2|0);
$12 = ((($1)) + 3|0);
$13 = ((($1)) + 5|0);
$14 = ((($1)) + 6|0);
$15 = ((($1)) + 7|0);
$16 = ((($1)) + 9|0);
$17 = ((($1)) + 10|0);
$18 = ((($1)) + 11|0);
$19 = ((($1)) + 13|0);
$20 = ((($1)) + 14|0);
$21 = ((($1)) + 15|0);
$$02530 = $4;$$02629 = $3;$$02728 = $2;$$031 = 0;
while(1) {
(_twofish_encrypt($0,$1,$1)|0);
$22 = ($$031>>>0)>(36);
$spec$select = $22 ? $$031 : 36;
$23 = $$02629;
$24 = $$02728;
$25 = $24 | $6;
$26 = $25 | $23;
$27 = $26 & 3;
$28 = ($27|0)==(0);
if ($28) {
$29 = ((($$02629)) + 4|0);
$30 = HEAP32[$$02629>>2]|0;
$31 = HEAP32[$1>>2]|0;
$32 = $31 ^ $30;
$33 = ((($$02728)) + 4|0);
HEAP32[$$02728>>2] = $32;
HEAP32[$1>>2] = $30;
$34 = ((($$02629)) + 8|0);
$35 = HEAP32[$29>>2]|0;
$36 = HEAP32[$7>>2]|0;
$37 = $36 ^ $35;
$38 = ((($$02728)) + 8|0);
HEAP32[$33>>2] = $37;
HEAP32[$7>>2] = $35;
$39 = ((($$02629)) + 12|0);
$40 = HEAP32[$34>>2]|0;
$41 = HEAP32[$8>>2]|0;
$42 = $41 ^ $40;
$43 = ((($$02728)) + 12|0);
HEAP32[$38>>2] = $42;
HEAP32[$8>>2] = $40;
$44 = HEAP32[$39>>2]|0;
$45 = HEAP32[$9>>2]|0;
$46 = $45 ^ $44;
HEAP32[$43>>2] = $46;
HEAP32[$9>>2] = $44;
} else {
$47 = ((($$02629)) + 1|0);
$48 = HEAP8[$$02629>>0]|0;
$49 = HEAP8[$1>>0]|0;
$50 = $49 ^ $48;
$51 = ((($$02728)) + 1|0);
HEAP8[$$02728>>0] = $50;
HEAP8[$1>>0] = $48;
$52 = ((($$02629)) + 2|0);
$53 = HEAP8[$47>>0]|0;
$54 = HEAP8[$10>>0]|0;
$55 = $54 ^ $53;
$56 = ((($$02728)) + 2|0);
HEAP8[$51>>0] = $55;
HEAP8[$10>>0] = $53;
$57 = ((($$02629)) + 3|0);
$58 = HEAP8[$52>>0]|0;
$59 = HEAP8[$11>>0]|0;
$60 = $59 ^ $58;
$61 = ((($$02728)) + 3|0);
HEAP8[$56>>0] = $60;
HEAP8[$11>>0] = $58;
$62 = ((($$02629)) + 4|0);
$63 = HEAP8[$57>>0]|0;
$64 = HEAP8[$12>>0]|0;
$65 = $64 ^ $63;
$66 = ((($$02728)) + 4|0);
HEAP8[$61>>0] = $65;
HEAP8[$12>>0] = $63;
$67 = ((($$02629)) + 5|0);
$68 = HEAP8[$62>>0]|0;
$69 = HEAP8[$7>>0]|0;
$70 = $69 ^ $68;
$71 = ((($$02728)) + 5|0);
HEAP8[$66>>0] = $70;
HEAP8[$7>>0] = $68;
$72 = ((($$02629)) + 6|0);
$73 = HEAP8[$67>>0]|0;
$74 = HEAP8[$13>>0]|0;
$75 = $74 ^ $73;
$76 = ((($$02728)) + 6|0);
HEAP8[$71>>0] = $75;
HEAP8[$13>>0] = $73;
$77 = ((($$02629)) + 7|0);
$78 = HEAP8[$72>>0]|0;
$79 = HEAP8[$14>>0]|0;
$80 = $79 ^ $78;
$81 = ((($$02728)) + 7|0);
HEAP8[$76>>0] = $80;
HEAP8[$14>>0] = $78;
$82 = ((($$02629)) + 8|0);
$83 = HEAP8[$77>>0]|0;
$84 = HEAP8[$15>>0]|0;
$85 = $84 ^ $83;
$86 = ((($$02728)) + 8|0);
HEAP8[$81>>0] = $85;
HEAP8[$15>>0] = $83;
$87 = ((($$02629)) + 9|0);
$88 = HEAP8[$82>>0]|0;
$89 = HEAP8[$8>>0]|0;
$90 = $89 ^ $88;
$91 = ((($$02728)) + 9|0);
HEAP8[$86>>0] = $90;
HEAP8[$8>>0] = $88;
$92 = ((($$02629)) + 10|0);
$93 = HEAP8[$87>>0]|0;
$94 = HEAP8[$16>>0]|0;
$95 = $94 ^ $93;
$96 = ((($$02728)) + 10|0);
HEAP8[$91>>0] = $95;
HEAP8[$16>>0] = $93;
$97 = ((($$02629)) + 11|0);
$98 = HEAP8[$92>>0]|0;
$99 = HEAP8[$17>>0]|0;
$100 = $99 ^ $98;
$101 = ((($$02728)) + 11|0);
HEAP8[$96>>0] = $100;
HEAP8[$17>>0] = $98;
$102 = ((($$02629)) + 12|0);
$103 = HEAP8[$97>>0]|0;
$104 = HEAP8[$18>>0]|0;
$105 = $104 ^ $103;
$106 = ((($$02728)) + 12|0);
HEAP8[$101>>0] = $105;
HEAP8[$18>>0] = $103;
$107 = ((($$02629)) + 13|0);
$108 = HEAP8[$102>>0]|0;
$109 = HEAP8[$9>>0]|0;
$110 = $109 ^ $108;
$111 = ((($$02728)) + 13|0);
HEAP8[$106>>0] = $110;
HEAP8[$9>>0] = $108;
$112 = ((($$02629)) + 14|0);
$113 = HEAP8[$107>>0]|0;
$114 = HEAP8[$19>>0]|0;
$115 = $114 ^ $113;
$116 = ((($$02728)) + 14|0);
HEAP8[$111>>0] = $115;
HEAP8[$19>>0] = $113;
$117 = ((($$02629)) + 15|0);
$118 = HEAP8[$112>>0]|0;
$119 = HEAP8[$20>>0]|0;
$120 = $119 ^ $118;
$121 = ((($$02728)) + 15|0);
HEAP8[$116>>0] = $120;
HEAP8[$20>>0] = $118;
$122 = HEAP8[$117>>0]|0;
$123 = HEAP8[$21>>0]|0;
$124 = $123 ^ $122;
HEAP8[$121>>0] = $124;
HEAP8[$21>>0] = $122;
}
$125 = ((($$02728)) + 16|0);
$126 = ((($$02629)) + 16|0);
$127 = (($$02530) + -1)|0;
$128 = ($127|0)==(0);
if ($128) {
$$0$lcssa = $spec$select;
break;
} else {
$$02530 = $127;$$02629 = $126;$$02728 = $125;$$031 = $spec$select;
}
}
___gcry_burn_stack($$0$lcssa);
return;
}
function __gcry_register_random_progress($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
HEAP32[18120] = $0;
HEAP32[18121] = $1;
return;
}
function __gcry_random_progress($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = HEAP32[18120]|0;
$5 = ($4|0)==(0|0);
if ($5) {
return;
}
$6 = HEAP32[18121]|0;
FUNCTION_TABLE_viiiii[$4 & 127]($6,$0,$1,$2,$3);
return;
}
function __gcry_set_preferred_rng_type($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
L1: do {
switch ($0|0) {
case 0: {
HEAP32[18122] = 1;
break;
}
case 1: {
HEAP32[18123] = 1;
break;
}
default: {
$1 = HEAP32[18122]|0;
$2 = ($1|0)==(0);
if ($2) {
switch ($0|0) {
case 2: {
HEAP32[18124] = 1;
break L1;
break;
}
case 3: {
HEAP32[18125] = 1;
break L1;
break;
}
default: {
break L1;
}
}
}
}
}
} while(0);
return;
}
function __gcry_random_initialize($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_fips_mode()|0);
$2 = ($1|0)==(0);
if (!($2)) {
__gcry_rngfips_initialize($0);
return;
}
$3 = HEAP32[18123]|0;
$4 = ($3|0)==(0);
if (!($4)) {
__gcry_rngcsprng_initialize($0);
return;
}
$5 = HEAP32[18124]|0;
$6 = ($5|0)==(0);
if (!($6)) {
__gcry_rngfips_initialize($0);
return;
}
$7 = HEAP32[18125]|0;
$8 = ($7|0)==(0);
if ($8) {
__gcry_rngcsprng_initialize($0);
return;
} else {
__gcry_rngsystem_initialize($0);
return;
}
}
function __gcry_random_close_fds() {
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (__gcry_fips_mode()|0);
$1 = ($0|0)==(0);
if (!($1)) {
__gcry_rngfips_close_fds();
return;
}
$2 = HEAP32[18123]|0;
$3 = ($2|0)==(0);
if (!($3)) {
__gcry_rngcsprng_close_fds();
return;
}
$4 = HEAP32[18124]|0;
$5 = ($4|0)==(0);
if (!($5)) {
__gcry_rngfips_close_fds();
return;
}
$6 = HEAP32[18125]|0;
$7 = ($6|0)==(0);
if ($7) {
__gcry_rngcsprng_close_fds();
return;
} else {
__gcry_rngsystem_close_fds();
return;
}
}
function __gcry_get_rng_type($0) {
$0 = $0|0;
var $$ = 0, $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0);
if ($1) {
$2 = (__gcry_fips_mode()|0);
$3 = ($2|0)==(0);
if ($3) {
label = 3;
} else {
$$0 = 2;
}
} else {
label = 3;
}
if ((label|0) == 3) {
$4 = HEAP32[18123]|0;
$5 = ($4|0)==(0);
if ($5) {
$6 = HEAP32[18124]|0;
$7 = ($6|0)==(0);
if ($7) {
$8 = HEAP32[18125]|0;
$9 = ($8|0)==(0);
$$ = $9 ? 1 : 3;
$$0 = $$;
} else {
$$0 = 2;
}
} else {
$$0 = 1;
}
}
return ($$0|0);
}
function __gcry_random_dump_stats() {
var $0 = 0, $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (__gcry_fips_mode()|0);
$1 = ($0|0)==(0);
if ($1) {
__gcry_rngcsprng_dump_stats();
return;
} else {
return;
}
}
function __gcry_secure_random_alloc() {
var $0 = 0, $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (__gcry_fips_mode()|0);
$1 = ($0|0)==(0);
if (!($1)) {
return;
}
__gcry_rngcsprng_secure_alloc();
return;
}
function __gcry_enable_quick_random_gen() {
var $0 = 0, $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (__gcry_fips_mode()|0);
$1 = ($0|0)==(0);
if (!($1)) {
return;
}
__gcry_rngcsprng_enable_quick_gen();
return;
}
function __gcry_set_random_daemon_socket($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_fips_mode()|0);
$2 = ($1|0)==(0);
if (!($2)) {
return;
}
return;
}
function __gcry_use_random_daemon($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_fips_mode()|0);
$2 = ($1|0)==(0);
if (!($2)) {
$$0 = 0;
return ($$0|0);
}
$3 = (__gcry_rngcsprng_use_daemon($0)|0);
$$0 = $3;
return ($$0|0);
}
function __gcry_random_is_faked() {
var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (__gcry_fips_mode()|0);
$1 = ($0|0)==(0);
if ($1) {
$3 = (__gcry_rngcsprng_is_faked()|0);
$$0 = $3;
return ($$0|0);
} else {
$2 = (__gcry_rngfips_is_faked()|0);
$$0 = $2;
return ($$0|0);
}
return (0)|0;
}
function __gcry_random_bytes($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_xmalloc($0)|0);
_do_randomize($2,$0,$1);
return ($2|0);
}
function _do_randomize($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_fips_mode()|0);
$4 = ($3|0)==(0);
if (!($4)) {
__gcry_rngfips_randomize($0,$1,$2);
return;
}
$5 = HEAP32[18123]|0;
$6 = ($5|0)==(0);
if (!($6)) {
__gcry_rngcsprng_randomize($0,$1,$2);
return;
}
$7 = HEAP32[18124]|0;
$8 = ($7|0)==(0);
if (!($8)) {
__gcry_rngfips_randomize($0,$1,$2);
return;
}
$9 = HEAP32[18125]|0;
$10 = ($9|0)==(0);
if ($10) {
__gcry_rngcsprng_randomize($0,$1,$2);
return;
} else {
__gcry_rngsystem_randomize($0,$1,$2);
return;
}
}
function __gcry_random_bytes_secure($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_xmalloc_secure($0)|0);
_do_randomize($2,$0,$1);
return ($2|0);
}
function __gcry_randomize($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var label = 0, sp = 0;
sp = STACKTOP;
_do_randomize($0,$1,$2);
return;
}
function __gcry_set_random_seed_file($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_fips_mode()|0);
$2 = ($1|0)==(0);
if (!($2)) {
return;
}
$3 = HEAP32[18123]|0;
$4 = ($3|0)==(0);
if (!($4)) {
__gcry_rngcsprng_set_seed_file($0);
return;
}
$5 = HEAP32[18124]|0;
$6 = HEAP32[18125]|0;
$7 = $6 | $5;
$8 = ($7|0)==(0);
if (!($8)) {
return;
}
__gcry_rngcsprng_set_seed_file($0);
return;
}
function __gcry_update_random_seed_file() {
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (__gcry_fips_mode()|0);
$1 = ($0|0)==(0);
if (!($1)) {
return;
}
$2 = HEAP32[18123]|0;
$3 = ($2|0)==(0);
if (!($3)) {
__gcry_rngcsprng_update_seed_file();
return;
}
$4 = HEAP32[18124]|0;
$5 = HEAP32[18125]|0;
$6 = $5 | $4;
$7 = ($6|0)==(0);
if (!($7)) {
return;
}
__gcry_rngcsprng_update_seed_file();
return;
}
function __gcry_fast_random_poll() {
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (__gcry_fips_mode()|0);
$1 = ($0|0)==(0);
if (!($1)) {
return;
}
$2 = HEAP32[18123]|0;
$3 = ($2|0)==(0);
if (!($3)) {
__gcry_rngcsprng_fast_poll();
return;
}
$4 = HEAP32[18124]|0;
$5 = HEAP32[18125]|0;
$6 = $5 | $4;
$7 = ($6|0)==(0);
if (!($7)) {
return;
}
__gcry_rngcsprng_fast_poll();
return;
}
function __gcry_create_nonce($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$$0$22 = 0, $$0$$0$23 = 0, $$0$$0$24 = 0, $$0$$0$25 = 0, $$03537 = 0, $$038 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$2 = sp + 12|0;
$3 = (__gcry_fips_mode()|0);
$4 = ($3|0)==(0);
if (!($4)) {
__gcry_rngfips_create_nonce($0,$1);
STACKTOP = sp;return;
}
$5 = (__gcry_fips_mode()|0);
$6 = ($5|0)==(0);
do {
if ($6) {
$7 = HEAP32[18123]|0;
$8 = ($7|0)==(0);
if (!($8)) {
__gcry_rngcsprng_initialize(1);
break;
}
$9 = HEAP32[18124]|0;
$10 = ($9|0)==(0);
if (!($10)) {
__gcry_rngfips_initialize(1);
break;
}
$11 = HEAP32[18125]|0;
$12 = ($11|0)==(0);
if ($12) {
__gcry_rngcsprng_initialize(1);
break;
} else {
__gcry_rngsystem_initialize(1);
break;
}
} else {
__gcry_rngfips_initialize(1);
}
} while(0);
$13 = (_gpgrt_lock_lock(40064)|0);
$14 = ($13|0)==(0);
if (!($14)) {
$15 = (_gpg_strerror($13)|0);
HEAP32[$vararg_buffer>>2] = $15;
__gcry_log_fatal(63691,$vararg_buffer);
// unreachable;
}
$16 = (_getpid()|0);
HEAP32[$2>>2] = $16;
$17 = HEAP32[18126]|0;
$18 = ($17|0)==(0);
if ($18) {
$19 = (_time((0|0))|0);
$$0$$0$22 = HEAP32[$2>>2]|0;
$$0$$0$23 = HEAP32[$2>>2]|0;
HEAP32[18127] = $$0$$0$23;
HEAP32[17780] = $$0$$0$22;
HEAP32[(71124)>>2] = $19;
_do_randomize((71140),8,0);
HEAP32[18126] = 1;
} else {
$20 = HEAP32[18127]|0;
$$0$$0$24 = HEAP32[$2>>2]|0;
$21 = ($20|0)==($$0$$0$24|0);
if (!($21)) {
_do_randomize((71140),8,0);
$$0$$0$25 = HEAP32[$2>>2]|0;
HEAP32[18127] = $$0$$0$25;
}
}
$22 = ($1|0)==(0);
if (!($22)) {
$$03537 = $0;$$038 = $1;
while(1) {
__gcry_sha1_hash_buffer(71120,71120,28);
$23 = ($$038>>>0)<(20);
$24 = $23 ? $$038 : 20;
_memcpy(($$03537|0),(71120|0),($24|0))|0;
$25 = (($$038) - ($24))|0;
$26 = (($$03537) + ($24)|0);
$27 = ($25|0)==(0);
if ($27) {
break;
} else {
$$03537 = $26;$$038 = $25;
}
}
}
$28 = (_gpgrt_lock_unlock(40064)|0);
$29 = ($28|0)==(0);
if ($29) {
STACKTOP = sp;return;
} else {
$30 = (_gpg_strerror($28)|0);
HEAP32[$vararg_buffer1>>2] = $30;
__gcry_log_fatal(63736,$vararg_buffer1);
// unreachable;
}
}
function __gcry_random_selftest($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_fips_mode()|0);
$2 = ($1|0)==(0);
if ($2) {
$$0 = 0;
return ($$0|0);
}
$3 = (__gcry_rngfips_selftest($0)|0);
$$0 = $3;
return ($$0|0);
}
function __gcry_random_init_external_test($0,$1,$2,$3,$4,$5,$6,$7) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
var $$0 = 0, $10 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$8 = (__gcry_fips_mode()|0);
$9 = ($8|0)==(0);
if ($9) {
$$0 = 60;
return ($$0|0);
}
$10 = (__gcry_rngfips_init_external_test($0,$1,$2,$3,$4,$5,$6,$7)|0);
$$0 = $10;
return ($$0|0);
}
function __gcry_random_run_external_test($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_fips_mode()|0);
$4 = ($3|0)==(0);
if ($4) {
$$0 = 60;
return ($$0|0);
}
$5 = (__gcry_rngfips_run_external_test($0,$1,$2)|0);
$$0 = $5;
return ($$0|0);
}
function __gcry_random_deinit_external_test($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_fips_mode()|0);
$2 = ($1|0)==(0);
if ($2) {
return;
}
__gcry_rngfips_deinit_external_test($0);
return;
}
function __gcry_mpi_point_log($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0192127 = 0, $$01922 = 0, $$02426 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$vararg_buffer1 = sp + 112|0;
$vararg_buffer = sp + 104|0;
$3 = sp;
$4 = ($1|0)==(0|0);
if ($4) {
HEAP32[$vararg_buffer>>2] = $0;
(_snprintf($3,99,63781,$vararg_buffer)|0);
__gcry_log_printmpi($3,0);
STACKTOP = sp;return;
}
HEAP32[$vararg_buffer1>>2] = $0;
(_snprintf($3,99,63786,$vararg_buffer1)|0);
$5 = ($2|0)!=(0|0);
if ($5) {
$6 = (__gcry_mpi_new(0)|0);
$7 = (__gcry_mpi_new(0)|0);
$8 = (__gcry_mpi_ec_get_affine($6,$7,$1,$2)|0);
$9 = ($8|0)==(0);
if ($9) {
$10 = (_strlen($3)|0);
$11 = (($10) + -1)|0;
$12 = (($3) + ($11)|0);
HEAP8[$12>>0] = 120;
__gcry_log_printmpi($3,$6);
$13 = (_strlen($3)|0);
$14 = (($13) + -1)|0;
$15 = (($3) + ($14)|0);
HEAP8[$15>>0] = 121;
__gcry_log_printmpi($3,$7);
$$0192127 = $6;$$02426 = $7;
} else {
$$01922 = $6;$$025 = $7;
label = 6;
}
} else {
$$01922 = 0;$$025 = 0;
label = 6;
}
if ((label|0) == 6) {
$16 = HEAP32[$1>>2]|0;
__gcry_log_printmpi($3,$16);
$17 = (_strlen($3)|0);
$18 = (($17) + -1)|0;
$19 = (($3) + ($18)|0);
HEAP8[$19>>0] = 89;
$20 = ((($1)) + 4|0);
$21 = HEAP32[$20>>2]|0;
__gcry_log_printmpi($3,$21);
$22 = (_strlen($3)|0);
$23 = (($22) + -1)|0;
$24 = (($3) + ($23)|0);
HEAP8[$24>>0] = 90;
$25 = ((($1)) + 8|0);
$26 = HEAP32[$25>>2]|0;
__gcry_log_printmpi($3,$26);
if ($5) {
$$0192127 = $$01922;$$02426 = $$025;
} else {
STACKTOP = sp;return;
}
}
__gcry_mpi_release($$0192127);
__gcry_mpi_release($$02426);
STACKTOP = sp;return;
}
function __gcry_mpi_ec_get_affine($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr3 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$4 = ((($2)) + 8|0);
$5 = HEAP32[$4>>2]|0;
$6 = (__gcry_mpi_cmp_ui($5,0)|0);
$7 = ($6|0)==(0);
if ($7) {
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$8 = HEAP32[$3>>2]|0;
switch ($8|0) {
case 0: {
$9 = (__gcry_mpi_new(0)|0);
$10 = (__gcry_mpi_new(0)|0);
$11 = HEAP32[$4>>2]|0;
$12 = ((($3)) + 16|0);
$13 = HEAP32[$12>>2]|0;
$14 = (__gcry_mpi_invm($9,$11,$13)|0);
$15 = ($14|0)==(0);
if ($15) {
__gcry_log_error(63791,$vararg_buffer);
__gcry_log_printmpi(63825,$11);
$16 = HEAP32[$12>>2]|0;
__gcry_log_printmpi(63829,$16);
}
__gcry_mpi_mul($10,$9,$9);
$17 = ((($3)) + 60|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0|0);
if ($19) {
$20 = HEAP32[$12>>2]|0;
__gcry_mpi_mod($10,$10,$20);
} else {
__gcry_mpi_mod_barrett($10,$10,$18);
}
$21 = ($0|0)==(0|0);
do {
if (!($21)) {
$22 = HEAP32[$2>>2]|0;
__gcry_mpi_mul($0,$22,$10);
$23 = HEAP32[$17>>2]|0;
$24 = ($23|0)==(0|0);
if ($24) {
$25 = HEAP32[$12>>2]|0;
__gcry_mpi_mod($0,$0,$25);
break;
} else {
__gcry_mpi_mod_barrett($0,$0,$23);
break;
}
}
} while(0);
$26 = ($1|0)==(0|0);
if (!($26)) {
$27 = (__gcry_mpi_new(0)|0);
__gcry_mpi_mul($27,$10,$9);
$28 = HEAP32[$17>>2]|0;
$29 = ($28|0)==(0|0);
if ($29) {
$30 = HEAP32[$12>>2]|0;
__gcry_mpi_mod($27,$27,$30);
} else {
__gcry_mpi_mod_barrett($27,$27,$28);
}
$31 = ((($2)) + 4|0);
$32 = HEAP32[$31>>2]|0;
__gcry_mpi_mul($1,$32,$27);
$33 = HEAP32[$17>>2]|0;
$34 = ($33|0)==(0|0);
if ($34) {
$35 = HEAP32[$12>>2]|0;
__gcry_mpi_mod($1,$1,$35);
} else {
__gcry_mpi_mod_barrett($1,$1,$33);
}
__gcry_mpi_free($27);
}
__gcry_mpi_free($10);
__gcry_mpi_free($9);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
break;
}
case 1: {
$36 = ($0|0)==(0|0);
if (!($36)) {
$37 = HEAP32[$2>>2]|0;
(__gcry_mpi_set($0,$37)|0);
}
$38 = ($1|0)==(0|0);
if ($38) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
} else {
HEAP32[$vararg_buffer1>>2] = 63882;
$vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
HEAP32[$vararg_ptr3>>2] = 63906;
__gcry_log_fatal(63833,$vararg_buffer1);
// unreachable;
}
break;
}
case 2: {
$39 = (__gcry_mpi_new(0)|0);
$40 = HEAP32[$4>>2]|0;
$41 = ((($3)) + 16|0);
$42 = HEAP32[$41>>2]|0;
$43 = (__gcry_mpi_invm($39,$40,$42)|0);
$44 = ($43|0)==(0);
if ($44) {
__gcry_log_error(63791,$vararg_buffer4);
__gcry_log_printmpi(63825,$40);
$45 = HEAP32[$41>>2]|0;
__gcry_log_printmpi(63829,$45);
}
$46 = ($0|0)==(0|0);
do {
if (!($46)) {
$47 = HEAP32[$2>>2]|0;
__gcry_mpi_mul($0,$47,$39);
$48 = ((($3)) + 60|0);
$49 = HEAP32[$48>>2]|0;
$50 = ($49|0)==(0|0);
if ($50) {
$51 = HEAP32[$41>>2]|0;
__gcry_mpi_mod($0,$0,$51);
break;
} else {
__gcry_mpi_mod_barrett($0,$0,$49);
break;
}
}
} while(0);
$52 = ($1|0)==(0|0);
do {
if (!($52)) {
$53 = ((($2)) + 4|0);
$54 = HEAP32[$53>>2]|0;
__gcry_mpi_mul($1,$54,$39);
$55 = ((($3)) + 60|0);
$56 = HEAP32[$55>>2]|0;
$57 = ($56|0)==(0|0);
if ($57) {
$58 = HEAP32[$41>>2]|0;
__gcry_mpi_mod($1,$1,$58);
break;
} else {
__gcry_mpi_mod_barrett($1,$1,$56);
break;
}
}
} while(0);
__gcry_mpi_release($39);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
break;
}
default: {
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
}
return (0)|0;
}
function __gcry_mpi_point_new($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_xmalloc(12)|0);
$2 = (__gcry_mpi_new(0)|0);
HEAP32[$1>>2] = $2;
$3 = (__gcry_mpi_new(0)|0);
$4 = ((($1)) + 4|0);
HEAP32[$4>>2] = $3;
$5 = (__gcry_mpi_new(0)|0);
$6 = ((($1)) + 8|0);
HEAP32[$6>>2] = $5;
return ($1|0);
}
function __gcry_mpi_point_init($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_mpi_new(0)|0);
HEAP32[$0>>2] = $1;
$2 = (__gcry_mpi_new(0)|0);
$3 = ((($0)) + 4|0);
HEAP32[$3>>2] = $2;
$4 = (__gcry_mpi_new(0)|0);
$5 = ((($0)) + 8|0);
HEAP32[$5>>2] = $4;
return;
}
function __gcry_mpi_point_release($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = HEAP32[$0>>2]|0;
__gcry_mpi_free($2);
HEAP32[$0>>2] = 0;
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
__gcry_mpi_free($4);
HEAP32[$3>>2] = 0;
$5 = ((($0)) + 8|0);
$6 = HEAP32[$5>>2]|0;
__gcry_mpi_free($6);
HEAP32[$5>>2] = 0;
__gcry_free($0);
return;
}
function __gcry_mpi_point_free_parts($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
__gcry_mpi_free($1);
HEAP32[$0>>2] = 0;
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
__gcry_mpi_free($3);
HEAP32[$2>>2] = 0;
$4 = ((($0)) + 8|0);
$5 = HEAP32[$4>>2]|0;
__gcry_mpi_free($5);
HEAP32[$4>>2] = 0;
return;
}
function __gcry_mpi_point_set($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0|0);
if ($4) {
$5 = (__gcry_xmalloc(12)|0);
$6 = (__gcry_mpi_new(0)|0);
HEAP32[$5>>2] = $6;
$7 = (__gcry_mpi_new(0)|0);
$8 = ((($5)) + 4|0);
HEAP32[$8>>2] = $7;
$9 = (__gcry_mpi_new(0)|0);
$10 = ((($5)) + 8|0);
HEAP32[$10>>2] = $9;
$$0 = $5;
} else {
$$0 = $0;
}
$11 = ($1|0)==(0|0);
$12 = HEAP32[$$0>>2]|0;
if ($11) {
__gcry_mpi_clear($12);
} else {
(__gcry_mpi_set($12,$1)|0);
}
$13 = ($2|0)==(0|0);
$14 = ((($$0)) + 4|0);
$15 = HEAP32[$14>>2]|0;
if ($13) {
__gcry_mpi_clear($15);
} else {
(__gcry_mpi_set($15,$2)|0);
}
$16 = ($3|0)==(0|0);
$17 = ((($$0)) + 8|0);
$18 = HEAP32[$17>>2]|0;
if ($16) {
__gcry_mpi_clear($18);
return ($$0|0);
} else {
(__gcry_mpi_set($18,$3)|0);
return ($$0|0);
}
return (0)|0;
}
function __gcry_mpi_point_snatch_set($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0|0);
if ($4) {
$5 = (__gcry_xmalloc(12)|0);
$6 = (__gcry_mpi_new(0)|0);
HEAP32[$5>>2] = $6;
$7 = (__gcry_mpi_new(0)|0);
$8 = ((($5)) + 4|0);
HEAP32[$8>>2] = $7;
$9 = (__gcry_mpi_new(0)|0);
$10 = ((($5)) + 8|0);
HEAP32[$10>>2] = $9;
$$0 = $5;
} else {
$$0 = $0;
}
$11 = ($1|0)==(0|0);
$12 = HEAP32[$$0>>2]|0;
if ($11) {
__gcry_mpi_clear($12);
} else {
__gcry_mpi_snatch($12,$1);
}
$13 = ($2|0)==(0|0);
$14 = ((($$0)) + 4|0);
$15 = HEAP32[$14>>2]|0;
if ($13) {
__gcry_mpi_clear($15);
} else {
__gcry_mpi_snatch($15,$2);
}
$16 = ($3|0)==(0|0);
$17 = ((($$0)) + 8|0);
$18 = HEAP32[$17>>2]|0;
if ($16) {
__gcry_mpi_clear($18);
return ($$0|0);
} else {
__gcry_mpi_snatch($18,$3);
return ($$0|0);
}
return (0)|0;
}
function __gcry_mpi_ec_p_internal_new($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$6 = (__gcry_xcalloc(1,108)|0);
_ec_p_init($6,$0,$1,$2,$3,$4,$5);
return ($6|0);
}
function _ec_p_init($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$ = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$7 = HEAP32[18128]|0;
$8 = ($7|0)==(0);
if ($8) {
$9 = (_getenv((63917|0))|0);
$10 = ($9|0)==(0|0);
$$ = $10 ? -1 : 1;
HEAP32[18128] = $$;
}
HEAP32[$0>>2] = $1;
$11 = ((($0)) + 4|0);
HEAP32[$11>>2] = $2;
$12 = ((($0)) + 8|0);
HEAP32[$12>>2] = $3;
$13 = ($2|0)==(1);
if ($13) {
$$sink = 256;
} else {
$14 = (__gcry_mpi_get_nbits($4)|0);
$$sink = $14;
}
$15 = ((($0)) + 12|0);
HEAP32[$15>>2] = $$sink;
$16 = (__gcry_mpi_copy($4)|0);
$17 = ((($0)) + 16|0);
HEAP32[$17>>2] = $16;
$18 = (__gcry_mpi_copy($5)|0);
$19 = ((($0)) + 20|0);
HEAP32[$19>>2] = $18;
$20 = (__gcry_mpi_copy($6)|0);
$21 = ((($0)) + 24|0);
HEAP32[$21>>2] = $20;
$22 = HEAP32[18128]|0;
$23 = ($22|0)>(0);
if ($23) {
$24 = HEAP32[$17>>2]|0;
$25 = (__gcry_mpi_barrett_init($24,0)|0);
$27 = $25;
} else {
$27 = 0;
}
$26 = ((($0)) + 60|0);
HEAP32[$26>>2] = $27;
$28 = ((($0)) + 48|0);
$29 = HEAP8[$28>>0]|0;
$30 = $29 & -4;
HEAP8[$28>>0] = $30;
$31 = HEAP32[$17>>2]|0;
$32 = (__gcry_mpi_alloc_like($31)|0);
$33 = ((($0)) + 64|0);
HEAP32[$33>>2] = $32;
$34 = HEAP32[$17>>2]|0;
$35 = (__gcry_mpi_alloc_like($34)|0);
$36 = ((($0)) + 68|0);
HEAP32[$36>>2] = $35;
$37 = HEAP32[$17>>2]|0;
$38 = (__gcry_mpi_alloc_like($37)|0);
$39 = ((($0)) + 72|0);
HEAP32[$39>>2] = $38;
$40 = HEAP32[$17>>2]|0;
$41 = (__gcry_mpi_alloc_like($40)|0);
$42 = ((($0)) + 76|0);
HEAP32[$42>>2] = $41;
$43 = HEAP32[$17>>2]|0;
$44 = (__gcry_mpi_alloc_like($43)|0);
$45 = ((($0)) + 80|0);
HEAP32[$45>>2] = $44;
$46 = HEAP32[$17>>2]|0;
$47 = (__gcry_mpi_alloc_like($46)|0);
$48 = ((($0)) + 84|0);
HEAP32[$48>>2] = $47;
$49 = HEAP32[$17>>2]|0;
$50 = (__gcry_mpi_alloc_like($49)|0);
$51 = ((($0)) + 88|0);
HEAP32[$51>>2] = $50;
$52 = HEAP32[$17>>2]|0;
$53 = (__gcry_mpi_alloc_like($52)|0);
$54 = ((($0)) + 92|0);
HEAP32[$54>>2] = $53;
$55 = HEAP32[$17>>2]|0;
$56 = (__gcry_mpi_alloc_like($55)|0);
$57 = ((($0)) + 96|0);
HEAP32[$57>>2] = $56;
$58 = HEAP32[$17>>2]|0;
$59 = (__gcry_mpi_alloc_like($58)|0);
$60 = ((($0)) + 100|0);
HEAP32[$60>>2] = $59;
$61 = HEAP32[$17>>2]|0;
$62 = (__gcry_mpi_alloc_like($61)|0);
$63 = ((($0)) + 104|0);
HEAP32[$63>>2] = $62;
return;
}
function __gcry_mpi_ec_p_new($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
HEAP32[$0>>2] = 0;
$7 = ($4|0)!=(0|0);
$8 = ($5|0)!=(0|0);
$or$cond = $7 & $8;
if (!($or$cond)) {
$$0 = 32816;
return ($$0|0);
}
$9 = (__gcry_ctx_alloc(1,108,81)|0);
$10 = ($9|0)==(0|0);
if ($10) {
$11 = (_gpg_err_code_from_syserror()|0);
$$0 = $11;
return ($$0|0);
} else {
$12 = (__gcry_ctx_get_pointer($9,1)|0);
_ec_p_init($12,$1,$2,$3,$4,$5,$6);
HEAP32[$0>>2] = $9;
$$0 = 0;
return ($$0|0);
}
return (0)|0;
}
function _ec_deinit($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 60|0);
$2 = HEAP32[$1>>2]|0;
__gcry_mpi_barrett_free($2);
$3 = ((($0)) + 16|0);
$4 = HEAP32[$3>>2]|0;
__gcry_mpi_free($4);
$5 = ((($0)) + 20|0);
$6 = HEAP32[$5>>2]|0;
__gcry_mpi_free($6);
$7 = ((($0)) + 24|0);
$8 = HEAP32[$7>>2]|0;
__gcry_mpi_free($8);
$9 = ((($0)) + 28|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0|0);
if (!($11)) {
$12 = HEAP32[$10>>2]|0;
__gcry_mpi_free($12);
HEAP32[$10>>2] = 0;
$13 = ((($10)) + 4|0);
$14 = HEAP32[$13>>2]|0;
__gcry_mpi_free($14);
HEAP32[$13>>2] = 0;
$15 = ((($10)) + 8|0);
$16 = HEAP32[$15>>2]|0;
__gcry_mpi_free($16);
HEAP32[$15>>2] = 0;
__gcry_free($10);
}
$17 = ((($0)) + 32|0);
$18 = HEAP32[$17>>2]|0;
__gcry_mpi_free($18);
$19 = ((($0)) + 36|0);
$20 = HEAP32[$19>>2]|0;
__gcry_mpi_free($20);
$21 = ((($0)) + 40|0);
$22 = HEAP32[$21>>2]|0;
$23 = ($22|0)==(0|0);
if (!($23)) {
$24 = HEAP32[$22>>2]|0;
__gcry_mpi_free($24);
HEAP32[$22>>2] = 0;
$25 = ((($22)) + 4|0);
$26 = HEAP32[$25>>2]|0;
__gcry_mpi_free($26);
HEAP32[$25>>2] = 0;
$27 = ((($22)) + 8|0);
$28 = HEAP32[$27>>2]|0;
__gcry_mpi_free($28);
HEAP32[$27>>2] = 0;
__gcry_free($22);
}
$29 = ((($0)) + 44|0);
$30 = HEAP32[$29>>2]|0;
__gcry_mpi_free($30);
$31 = ((($0)) + 56|0);
$32 = HEAP32[$31>>2]|0;
__gcry_mpi_free($32);
$33 = ((($0)) + 64|0);
$34 = HEAP32[$33>>2]|0;
__gcry_mpi_free($34);
$35 = ((($0)) + 68|0);
$36 = HEAP32[$35>>2]|0;
__gcry_mpi_free($36);
$37 = ((($0)) + 72|0);
$38 = HEAP32[$37>>2]|0;
__gcry_mpi_free($38);
$39 = ((($0)) + 76|0);
$40 = HEAP32[$39>>2]|0;
__gcry_mpi_free($40);
$41 = ((($0)) + 80|0);
$42 = HEAP32[$41>>2]|0;
__gcry_mpi_free($42);
$43 = ((($0)) + 84|0);
$44 = HEAP32[$43>>2]|0;
__gcry_mpi_free($44);
$45 = ((($0)) + 88|0);
$46 = HEAP32[$45>>2]|0;
__gcry_mpi_free($46);
$47 = ((($0)) + 92|0);
$48 = HEAP32[$47>>2]|0;
__gcry_mpi_free($48);
$49 = ((($0)) + 96|0);
$50 = HEAP32[$49>>2]|0;
__gcry_mpi_free($50);
$51 = ((($0)) + 100|0);
$52 = HEAP32[$51>>2]|0;
__gcry_mpi_free($52);
$53 = ((($0)) + 104|0);
$54 = HEAP32[$53>>2]|0;
__gcry_mpi_free($54);
return;
}
function __gcry_mpi_ec_free($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
_ec_deinit($0);
__gcry_free($0);
return;
}
function __gcry_mpi_ec_get_mpi($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_ctx_get_pointer($1,1)|0);
$4 = (__gcry_ecc_get_mpi($0,$3,$2)|0);
return ($4|0);
}
function __gcry_mpi_ec_get_point($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_ctx_get_pointer($1,1)|0);
$4 = (__gcry_ecc_get_point($0,$3)|0);
return ($4|0);
}
function __gcry_mpi_ec_dup_point($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$idx$pre$phi$iZZ2D = 0, $$idx$val$i = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$iZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0;
var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0;
var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0;
var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0;
var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0;
var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$2>>2]|0;
switch ($3|0) {
case 0: {
$4 = ((($1)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = (__gcry_mpi_cmp_ui($5,0)|0);
$7 = ($6|0)==(0);
if (!($7)) {
$8 = ((($1)) + 8|0);
$9 = HEAP32[$8>>2]|0;
$10 = (__gcry_mpi_cmp_ui($9,0)|0);
$11 = ($10|0)==(0);
if (!($11)) {
$17 = ((($2)) + 48|0);
$18 = HEAP8[$17>>0]|0;
$19 = $18 & 1;
$20 = ($19<<24>>24)==(0);
if ($20) {
$21 = $18 | 1;
HEAP8[$17>>0] = $21;
$22 = ((($2)) + 16|0);
$23 = HEAP32[$22>>2]|0;
$24 = (__gcry_mpi_alloc_like($23)|0);
$25 = HEAP32[$22>>2]|0;
__gcry_mpi_sub_ui($24,$25,3);
$26 = ((($2)) + 20|0);
$27 = HEAP32[$26>>2]|0;
$28 = (__gcry_mpi_cmp($27,$24)|0);
$29 = ($28|0)==(0);
$30 = $29&1;
$31 = ((($2)) + 52|0);
HEAP32[$31>>2] = $30;
__gcry_mpi_free($24);
$$pre$phi$i$iZ2D = $31;
} else {
$$pre$i$i = ((($2)) + 52|0);
$$pre$phi$i$iZ2D = $$pre$i$i;
}
$32 = HEAP32[$$pre$phi$i$iZ2D>>2]|0;
$33 = ($32|0)==(0);
$34 = ((($2)) + 64|0);
do {
if ($33) {
$66 = ((($2)) + 76|0);
$67 = HEAP32[$66>>2]|0;
$68 = HEAP32[$1>>2]|0;
__gcry_mpi_mul($67,$68,$68);
$69 = ((($2)) + 60|0);
$70 = HEAP32[$69>>2]|0;
$71 = ($70|0)==(0|0);
if ($71) {
$72 = ((($2)) + 16|0);
$73 = HEAP32[$72>>2]|0;
__gcry_mpi_mod($67,$67,$73);
} else {
__gcry_mpi_mod_barrett($67,$67,$70);
}
$74 = HEAP32[$66>>2]|0;
$75 = (__gcry_mpi_const(3)|0);
__gcry_mpi_mul($74,$74,$75);
$76 = HEAP32[$69>>2]|0;
$77 = ($76|0)==(0|0);
if ($77) {
$78 = ((($2)) + 16|0);
$79 = HEAP32[$78>>2]|0;
__gcry_mpi_mod($74,$74,$79);
$$idx$pre$phi$iZZ2D = $78;
} else {
__gcry_mpi_mod_barrett($74,$74,$76);
$$pre$i = ((($2)) + 16|0);
$$idx$pre$phi$iZZ2D = $$pre$i;
}
$80 = HEAP32[$34>>2]|0;
$81 = HEAP32[$8>>2]|0;
$82 = (__gcry_mpi_const(4)|0);
$$idx$val$i = HEAP32[$$idx$pre$phi$iZZ2D>>2]|0;
__gcry_mpi_powm($80,$81,$82,$$idx$val$i);
$83 = HEAP32[$34>>2]|0;
$84 = ((($2)) + 20|0);
$85 = HEAP32[$84>>2]|0;
__gcry_mpi_mul($83,$83,$85);
$86 = HEAP32[$69>>2]|0;
$87 = ($86|0)==(0|0);
if ($87) {
$88 = HEAP32[$$idx$pre$phi$iZZ2D>>2]|0;
__gcry_mpi_mod($83,$83,$88);
} else {
__gcry_mpi_mod_barrett($83,$83,$86);
}
$89 = HEAP32[$66>>2]|0;
$90 = HEAP32[$34>>2]|0;
__gcry_mpi_add($89,$89,$90);
$91 = HEAP32[$69>>2]|0;
$92 = ($91|0)==(0|0);
if ($92) {
$93 = HEAP32[$$idx$pre$phi$iZZ2D>>2]|0;
__gcry_mpi_mod($89,$89,$93);
$$pre$phi$iZ2D = $69;
break;
} else {
__gcry_mpi_mod_barrett($89,$89,$91);
$$pre$phi$iZ2D = $69;
break;
}
} else {
$35 = HEAP32[$34>>2]|0;
$36 = HEAP32[$8>>2]|0;
__gcry_mpi_mul($35,$36,$36);
$37 = ((($2)) + 60|0);
$38 = HEAP32[$37>>2]|0;
$39 = ($38|0)==(0|0);
if ($39) {
$40 = ((($2)) + 16|0);
$41 = HEAP32[$40>>2]|0;
__gcry_mpi_mod($35,$35,$41);
} else {
__gcry_mpi_mod_barrett($35,$35,$38);
}
$42 = ((($2)) + 76|0);
$43 = HEAP32[$42>>2]|0;
$44 = HEAP32[$1>>2]|0;
$45 = HEAP32[$34>>2]|0;
__gcry_mpi_sub($43,$44,$45);
$46 = HEAP32[$42>>2]|0;
$47 = (__gcry_mpi_const(3)|0);
__gcry_mpi_mul($46,$46,$47);
$48 = HEAP32[$37>>2]|0;
$49 = ($48|0)==(0|0);
if ($49) {
$50 = ((($2)) + 16|0);
$51 = HEAP32[$50>>2]|0;
__gcry_mpi_mod($46,$46,$51);
} else {
__gcry_mpi_mod_barrett($46,$46,$48);
}
$52 = ((($2)) + 68|0);
$53 = HEAP32[$52>>2]|0;
$54 = HEAP32[$1>>2]|0;
$55 = HEAP32[$34>>2]|0;
__gcry_mpi_add($53,$54,$55);
$56 = HEAP32[$37>>2]|0;
$57 = ($56|0)==(0|0);
if ($57) {
$58 = ((($2)) + 16|0);
$59 = HEAP32[$58>>2]|0;
__gcry_mpi_mod($53,$53,$59);
} else {
__gcry_mpi_mod_barrett($53,$53,$56);
}
$60 = HEAP32[$42>>2]|0;
$61 = HEAP32[$52>>2]|0;
__gcry_mpi_mul($60,$60,$61);
$62 = HEAP32[$37>>2]|0;
$63 = ($62|0)==(0|0);
if ($63) {
$64 = ((($2)) + 16|0);
$65 = HEAP32[$64>>2]|0;
__gcry_mpi_mod($60,$60,$65);
$$pre$phi$iZ2D = $37;
break;
} else {
__gcry_mpi_mod_barrett($60,$60,$62);
$$pre$phi$iZ2D = $37;
break;
}
}
} while(0);
$94 = ((($0)) + 8|0);
$95 = HEAP32[$94>>2]|0;
$96 = HEAP32[$4>>2]|0;
$97 = HEAP32[$8>>2]|0;
__gcry_mpi_mul($95,$96,$97);
$98 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$99 = ($98|0)==(0|0);
if ($99) {
$100 = ((($2)) + 16|0);
$101 = HEAP32[$100>>2]|0;
__gcry_mpi_mod($95,$95,$101);
} else {
__gcry_mpi_mod_barrett($95,$95,$98);
}
$102 = HEAP32[$94>>2]|0;
__gcry_mpi_lshift($102,$102,1);
$103 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$104 = ($103|0)==(0|0);
if ($104) {
$105 = ((($2)) + 16|0);
$106 = HEAP32[$105>>2]|0;
__gcry_mpi_mod($102,$102,$106);
} else {
__gcry_mpi_mod_barrett($102,$102,$103);
}
$107 = ((($2)) + 68|0);
$108 = HEAP32[$107>>2]|0;
$109 = HEAP32[$4>>2]|0;
__gcry_mpi_mul($108,$109,$109);
$110 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$111 = ($110|0)==(0|0);
if ($111) {
$112 = ((($2)) + 16|0);
$113 = HEAP32[$112>>2]|0;
__gcry_mpi_mod($108,$108,$113);
} else {
__gcry_mpi_mod_barrett($108,$108,$110);
}
$114 = ((($2)) + 80|0);
$115 = HEAP32[$114>>2]|0;
$116 = HEAP32[$107>>2]|0;
$117 = HEAP32[$1>>2]|0;
__gcry_mpi_mul($115,$116,$117);
$118 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$119 = ($118|0)==(0|0);
if ($119) {
$120 = ((($2)) + 16|0);
$121 = HEAP32[$120>>2]|0;
__gcry_mpi_mod($115,$115,$121);
} else {
__gcry_mpi_mod_barrett($115,$115,$118);
}
$122 = HEAP32[$114>>2]|0;
$123 = (__gcry_mpi_const(4)|0);
__gcry_mpi_mul($122,$122,$123);
$124 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$125 = ($124|0)==(0|0);
if ($125) {
$126 = ((($2)) + 16|0);
$127 = HEAP32[$126>>2]|0;
__gcry_mpi_mod($122,$122,$127);
} else {
__gcry_mpi_mod_barrett($122,$122,$124);
}
$128 = HEAP32[$0>>2]|0;
$129 = ((($2)) + 76|0);
$130 = HEAP32[$129>>2]|0;
__gcry_mpi_mul($128,$130,$130);
$131 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$132 = ($131|0)==(0|0);
if ($132) {
$133 = ((($2)) + 16|0);
$134 = HEAP32[$133>>2]|0;
__gcry_mpi_mod($128,$128,$134);
} else {
__gcry_mpi_mod_barrett($128,$128,$131);
}
$135 = HEAP32[$34>>2]|0;
$136 = HEAP32[$114>>2]|0;
__gcry_mpi_lshift($135,$136,1);
$137 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$138 = ($137|0)==(0|0);
if ($138) {
$139 = ((($2)) + 16|0);
$140 = HEAP32[$139>>2]|0;
__gcry_mpi_mod($135,$135,$140);
} else {
__gcry_mpi_mod_barrett($135,$135,$137);
}
$141 = HEAP32[$0>>2]|0;
$142 = HEAP32[$34>>2]|0;
__gcry_mpi_sub($141,$141,$142);
$143 = HEAP32[$107>>2]|0;
__gcry_mpi_mul($143,$143,$143);
$144 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$145 = ($144|0)==(0|0);
if ($145) {
$146 = ((($2)) + 16|0);
$147 = HEAP32[$146>>2]|0;
__gcry_mpi_mod($143,$143,$147);
} else {
__gcry_mpi_mod_barrett($143,$143,$144);
}
$148 = ((($2)) + 84|0);
$149 = HEAP32[$148>>2]|0;
$150 = HEAP32[$107>>2]|0;
$151 = (__gcry_mpi_const(5)|0);
__gcry_mpi_mul($149,$150,$151);
$152 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$153 = ($152|0)==(0|0);
if ($153) {
$154 = ((($2)) + 16|0);
$155 = HEAP32[$154>>2]|0;
__gcry_mpi_mod($149,$149,$155);
} else {
__gcry_mpi_mod_barrett($149,$149,$152);
}
$156 = ((($0)) + 4|0);
$157 = HEAP32[$156>>2]|0;
$158 = HEAP32[$114>>2]|0;
$159 = HEAP32[$0>>2]|0;
__gcry_mpi_sub($157,$158,$159);
$160 = HEAP32[$156>>2]|0;
$161 = HEAP32[$129>>2]|0;
__gcry_mpi_mul($160,$160,$161);
$162 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$163 = ($162|0)==(0|0);
if ($163) {
$164 = ((($2)) + 16|0);
$165 = HEAP32[$164>>2]|0;
__gcry_mpi_mod($160,$160,$165);
} else {
__gcry_mpi_mod_barrett($160,$160,$162);
}
$166 = HEAP32[$156>>2]|0;
$167 = HEAP32[$148>>2]|0;
__gcry_mpi_sub($166,$166,$167);
return;
}
}
$12 = HEAP32[$0>>2]|0;
(__gcry_mpi_set_ui($12,1)|0);
$13 = ((($0)) + 4|0);
$14 = HEAP32[$13>>2]|0;
(__gcry_mpi_set_ui($14,1)|0);
$15 = ((($0)) + 8|0);
$16 = HEAP32[$15>>2]|0;
(__gcry_mpi_set_ui($16,0)|0);
return;
break;
}
case 1: {
_dup_point_montgomery();
// unreachable;
break;
}
case 2: {
$168 = ((($2)) + 64|0);
$169 = HEAP32[$168>>2]|0;
$170 = HEAP32[$1>>2]|0;
$171 = ((($1)) + 4|0);
$172 = HEAP32[$171>>2]|0;
__gcry_mpi_add($169,$170,$172);
$173 = ((($2)) + 60|0);
$174 = HEAP32[$173>>2]|0;
$175 = ($174|0)==(0|0);
if ($175) {
$176 = ((($2)) + 16|0);
$177 = HEAP32[$176>>2]|0;
__gcry_mpi_mod($169,$169,$177);
} else {
__gcry_mpi_mod_barrett($169,$169,$174);
}
$178 = HEAP32[$168>>2]|0;
__gcry_mpi_mul($178,$178,$178);
$179 = HEAP32[$173>>2]|0;
$180 = ($179|0)==(0|0);
if ($180) {
$181 = ((($2)) + 16|0);
$182 = HEAP32[$181>>2]|0;
__gcry_mpi_mod($178,$178,$182);
} else {
__gcry_mpi_mod_barrett($178,$178,$179);
}
$183 = ((($2)) + 68|0);
$184 = HEAP32[$183>>2]|0;
$185 = HEAP32[$1>>2]|0;
__gcry_mpi_mul($184,$185,$185);
$186 = HEAP32[$173>>2]|0;
$187 = ($186|0)==(0|0);
if ($187) {
$188 = ((($2)) + 16|0);
$189 = HEAP32[$188>>2]|0;
__gcry_mpi_mod($184,$184,$189);
} else {
__gcry_mpi_mod_barrett($184,$184,$186);
}
$190 = ((($2)) + 72|0);
$191 = HEAP32[$190>>2]|0;
$192 = HEAP32[$171>>2]|0;
__gcry_mpi_mul($191,$192,$192);
$193 = HEAP32[$173>>2]|0;
$194 = ($193|0)==(0|0);
if ($194) {
$195 = ((($2)) + 16|0);
$196 = HEAP32[$195>>2]|0;
__gcry_mpi_mod($191,$191,$196);
} else {
__gcry_mpi_mod_barrett($191,$191,$193);
}
$197 = ((($2)) + 4|0);
$198 = HEAP32[$197>>2]|0;
$199 = ($198|0)==(1);
$200 = ((($2)) + 76|0);
$201 = HEAP32[$200>>2]|0;
do {
if ($199) {
$202 = HEAP32[$183>>2]|0;
(__gcry_mpi_set($201,$202)|0);
$203 = HEAP32[$200>>2]|0;
__gcry_mpi_neg($203,$203);
} else {
$204 = ((($2)) + 20|0);
$205 = HEAP32[$204>>2]|0;
$206 = HEAP32[$183>>2]|0;
__gcry_mpi_mul($201,$205,$206);
$207 = HEAP32[$173>>2]|0;
$208 = ($207|0)==(0|0);
if ($208) {
$209 = ((($2)) + 16|0);
$210 = HEAP32[$209>>2]|0;
__gcry_mpi_mod($201,$201,$210);
break;
} else {
__gcry_mpi_mod_barrett($201,$201,$207);
break;
}
}
} while(0);
$211 = ((($2)) + 80|0);
$212 = HEAP32[$211>>2]|0;
$213 = HEAP32[$200>>2]|0;
$214 = HEAP32[$190>>2]|0;
__gcry_mpi_add($212,$213,$214);
$215 = HEAP32[$173>>2]|0;
$216 = ($215|0)==(0|0);
if ($216) {
$217 = ((($2)) + 16|0);
$218 = HEAP32[$217>>2]|0;
__gcry_mpi_mod($212,$212,$218);
} else {
__gcry_mpi_mod_barrett($212,$212,$215);
}
$219 = ((($2)) + 84|0);
$220 = HEAP32[$219>>2]|0;
$221 = ((($1)) + 8|0);
$222 = HEAP32[$221>>2]|0;
__gcry_mpi_mul($220,$222,$222);
$223 = HEAP32[$173>>2]|0;
$224 = ($223|0)==(0|0);
if ($224) {
$225 = ((($2)) + 16|0);
$226 = HEAP32[$225>>2]|0;
__gcry_mpi_mod($220,$220,$226);
} else {
__gcry_mpi_mod_barrett($220,$220,$223);
}
$227 = ((($2)) + 88|0);
$228 = HEAP32[$227>>2]|0;
$229 = HEAP32[$219>>2]|0;
__gcry_mpi_lshift($228,$229,1);
$230 = HEAP32[$173>>2]|0;
$231 = ($230|0)==(0|0);
if ($231) {
$232 = ((($2)) + 16|0);
$233 = HEAP32[$232>>2]|0;
__gcry_mpi_mod($228,$228,$233);
} else {
__gcry_mpi_mod_barrett($228,$228,$230);
}
$234 = HEAP32[$227>>2]|0;
$235 = HEAP32[$211>>2]|0;
__gcry_mpi_sub($234,$235,$234);
$236 = HEAP32[$0>>2]|0;
$237 = HEAP32[$168>>2]|0;
$238 = HEAP32[$183>>2]|0;
__gcry_mpi_sub($236,$237,$238);
$239 = HEAP32[$0>>2]|0;
$240 = HEAP32[$190>>2]|0;
__gcry_mpi_sub($239,$239,$240);
$241 = HEAP32[$0>>2]|0;
$242 = HEAP32[$227>>2]|0;
__gcry_mpi_mul($241,$241,$242);
$243 = HEAP32[$173>>2]|0;
$244 = ($243|0)==(0|0);
if ($244) {
$245 = ((($2)) + 16|0);
$246 = HEAP32[$245>>2]|0;
__gcry_mpi_mod($241,$241,$246);
} else {
__gcry_mpi_mod_barrett($241,$241,$243);
}
$247 = ((($0)) + 4|0);
$248 = HEAP32[$247>>2]|0;
$249 = HEAP32[$200>>2]|0;
$250 = HEAP32[$190>>2]|0;
__gcry_mpi_sub($248,$249,$250);
$251 = HEAP32[$247>>2]|0;
$252 = HEAP32[$211>>2]|0;
__gcry_mpi_mul($251,$251,$252);
$253 = HEAP32[$173>>2]|0;
$254 = ($253|0)==(0|0);
if ($254) {
$255 = ((($2)) + 16|0);
$256 = HEAP32[$255>>2]|0;
__gcry_mpi_mod($251,$251,$256);
} else {
__gcry_mpi_mod_barrett($251,$251,$253);
}
$257 = ((($0)) + 8|0);
$258 = HEAP32[$257>>2]|0;
$259 = HEAP32[$211>>2]|0;
$260 = HEAP32[$227>>2]|0;
__gcry_mpi_mul($258,$259,$260);
$261 = HEAP32[$173>>2]|0;
$262 = ($261|0)==(0|0);
if ($262) {
$263 = ((($2)) + 16|0);
$264 = HEAP32[$263>>2]|0;
__gcry_mpi_mod($258,$258,$264);
return;
} else {
__gcry_mpi_mod_barrett($258,$258,$261);
return;
}
break;
}
default: {
return;
}
}
}
function _dup_point_montgomery() {
var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
HEAP32[$vararg_buffer>>2] = 63958;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 63906;
__gcry_log_fatal(63932,$vararg_buffer);
// unreachable;
}
function __gcry_mpi_ec_add_points($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$idx$val$i = 0, $$idx129$val$i = 0, $$idx130$i = 0, $$idx130$val$i = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$iZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0;
var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0;
var $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0;
var $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0;
var $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0;
var $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0;
var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$4 = HEAP32[$3>>2]|0;
switch ($4|0) {
case 0: {
$5 = HEAP32[$1>>2]|0;
$6 = HEAP32[$2>>2]|0;
$7 = (__gcry_mpi_cmp($5,$6)|0);
$8 = ($7|0)==(0);
if ($8) {
$9 = ((($1)) + 4|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($2)) + 4|0);
$12 = HEAP32[$11>>2]|0;
$13 = (__gcry_mpi_cmp($10,$12)|0);
$14 = ($13|0)==(0);
if ($14) {
$15 = ((($1)) + 8|0);
$16 = HEAP32[$15>>2]|0;
$17 = ((($2)) + 8|0);
$18 = HEAP32[$17>>2]|0;
$19 = (__gcry_mpi_cmp($16,$18)|0);
$20 = ($19|0)==(0);
if ($20) {
__gcry_mpi_ec_dup_point($0,$1,$3);
STACKTOP = sp;return;
}
}
}
$21 = ((($1)) + 8|0);
$22 = HEAP32[$21>>2]|0;
$23 = (__gcry_mpi_cmp_ui($22,0)|0);
$24 = ($23|0)==(0);
if ($24) {
$25 = HEAP32[$0>>2]|0;
$26 = HEAP32[$2>>2]|0;
(__gcry_mpi_set($25,$26)|0);
$27 = ((($0)) + 4|0);
$28 = HEAP32[$27>>2]|0;
$29 = ((($2)) + 4|0);
$30 = HEAP32[$29>>2]|0;
(__gcry_mpi_set($28,$30)|0);
$31 = ((($0)) + 8|0);
$32 = HEAP32[$31>>2]|0;
$33 = ((($2)) + 8|0);
$34 = HEAP32[$33>>2]|0;
(__gcry_mpi_set($32,$34)|0);
STACKTOP = sp;return;
}
$35 = ((($2)) + 8|0);
$36 = HEAP32[$35>>2]|0;
$37 = (__gcry_mpi_cmp_ui($36,0)|0);
$38 = ($37|0)==(0);
if ($38) {
$39 = HEAP32[$0>>2]|0;
$40 = HEAP32[$1>>2]|0;
(__gcry_mpi_set($39,$40)|0);
$41 = ((($0)) + 4|0);
$42 = HEAP32[$41>>2]|0;
$43 = ((($1)) + 4|0);
$44 = HEAP32[$43>>2]|0;
(__gcry_mpi_set($42,$44)|0);
$45 = ((($0)) + 8|0);
$46 = HEAP32[$45>>2]|0;
$47 = HEAP32[$21>>2]|0;
(__gcry_mpi_set($46,$47)|0);
STACKTOP = sp;return;
}
$48 = HEAP32[$21>>2]|0;
$49 = (__gcry_mpi_cmp_ui($48,1)|0);
$50 = ($49|0)==(0);
$51 = HEAP32[$35>>2]|0;
$52 = (__gcry_mpi_cmp_ui($51,1)|0);
$53 = ($52|0)==(0);
$54 = ((($3)) + 64|0);
$55 = HEAP32[$54>>2]|0;
do {
if ($53) {
$56 = HEAP32[$1>>2]|0;
(__gcry_mpi_set($55,$56)|0);
} else {
$57 = HEAP32[$35>>2]|0;
__gcry_mpi_mul($55,$57,$57);
$58 = ((($3)) + 60|0);
$59 = HEAP32[$58>>2]|0;
$60 = ($59|0)==(0|0);
if ($60) {
$61 = ((($3)) + 16|0);
$62 = HEAP32[$61>>2]|0;
__gcry_mpi_mod($55,$55,$62);
} else {
__gcry_mpi_mod_barrett($55,$55,$59);
}
$63 = HEAP32[$54>>2]|0;
$64 = HEAP32[$1>>2]|0;
__gcry_mpi_mul($63,$63,$64);
$65 = HEAP32[$58>>2]|0;
$66 = ($65|0)==(0|0);
if ($66) {
$67 = ((($3)) + 16|0);
$68 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($63,$63,$68);
break;
} else {
__gcry_mpi_mod_barrett($63,$63,$65);
break;
}
}
} while(0);
$69 = ((($3)) + 68|0);
$70 = HEAP32[$69>>2]|0;
do {
if ($50) {
$71 = HEAP32[$2>>2]|0;
(__gcry_mpi_set($70,$71)|0);
$$pre$i = ((($3)) + 60|0);
$$pre$phi$iZ2D = $$pre$i;
} else {
$72 = HEAP32[$21>>2]|0;
__gcry_mpi_mul($70,$72,$72);
$73 = ((($3)) + 60|0);
$74 = HEAP32[$73>>2]|0;
$75 = ($74|0)==(0|0);
if ($75) {
$76 = ((($3)) + 16|0);
$77 = HEAP32[$76>>2]|0;
__gcry_mpi_mod($70,$70,$77);
} else {
__gcry_mpi_mod_barrett($70,$70,$74);
}
$78 = HEAP32[$69>>2]|0;
$79 = HEAP32[$2>>2]|0;
__gcry_mpi_mul($78,$78,$79);
$80 = HEAP32[$73>>2]|0;
$81 = ($80|0)==(0|0);
if ($81) {
$82 = ((($3)) + 16|0);
$83 = HEAP32[$82>>2]|0;
__gcry_mpi_mod($78,$78,$83);
$$pre$phi$iZ2D = $73;
break;
} else {
__gcry_mpi_mod_barrett($78,$78,$80);
$$pre$phi$iZ2D = $73;
break;
}
}
} while(0);
$84 = ((($3)) + 72|0);
$85 = HEAP32[$84>>2]|0;
$86 = HEAP32[$54>>2]|0;
$87 = HEAP32[$69>>2]|0;
__gcry_mpi_sub($85,$86,$87);
$88 = ((($3)) + 76|0);
$89 = HEAP32[$88>>2]|0;
$90 = HEAP32[$35>>2]|0;
$91 = (__gcry_mpi_const(3)|0);
$$idx130$i = ((($3)) + 16|0);
$$idx130$val$i = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_powm($89,$90,$91,$$idx130$val$i);
$92 = HEAP32[$88>>2]|0;
$93 = ((($1)) + 4|0);
$94 = HEAP32[$93>>2]|0;
__gcry_mpi_mul($92,$92,$94);
$95 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$96 = ($95|0)==(0|0);
if ($96) {
$97 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($92,$92,$97);
} else {
__gcry_mpi_mod_barrett($92,$92,$95);
}
$98 = ((($3)) + 80|0);
$99 = HEAP32[$98>>2]|0;
$100 = HEAP32[$21>>2]|0;
$101 = (__gcry_mpi_const(3)|0);
$$idx129$val$i = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_powm($99,$100,$101,$$idx129$val$i);
$102 = HEAP32[$98>>2]|0;
$103 = ((($2)) + 4|0);
$104 = HEAP32[$103>>2]|0;
__gcry_mpi_mul($102,$102,$104);
$105 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$106 = ($105|0)==(0|0);
if ($106) {
$107 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($102,$102,$107);
} else {
__gcry_mpi_mod_barrett($102,$102,$105);
}
$108 = ((($3)) + 84|0);
$109 = HEAP32[$108>>2]|0;
$110 = HEAP32[$88>>2]|0;
$111 = HEAP32[$98>>2]|0;
__gcry_mpi_sub($109,$110,$111);
$112 = HEAP32[$84>>2]|0;
$113 = (__gcry_mpi_cmp_ui($112,0)|0);
$114 = ($113|0)==(0);
if ($114) {
$115 = HEAP32[$108>>2]|0;
$116 = (__gcry_mpi_cmp_ui($115,0)|0);
$117 = ($116|0)==(0);
if ($117) {
__gcry_mpi_ec_dup_point($0,$1,$3);
STACKTOP = sp;return;
} else {
$118 = HEAP32[$0>>2]|0;
(__gcry_mpi_set_ui($118,1)|0);
$119 = ((($0)) + 4|0);
$120 = HEAP32[$119>>2]|0;
(__gcry_mpi_set_ui($120,1)|0);
$121 = ((($0)) + 8|0);
$122 = HEAP32[$121>>2]|0;
(__gcry_mpi_set_ui($122,0)|0);
STACKTOP = sp;return;
}
}
$123 = ((($3)) + 88|0);
$124 = HEAP32[$123>>2]|0;
$125 = HEAP32[$54>>2]|0;
$126 = HEAP32[$69>>2]|0;
__gcry_mpi_add($124,$125,$126);
$127 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$128 = ($127|0)==(0|0);
if ($128) {
$129 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($124,$124,$129);
} else {
__gcry_mpi_mod_barrett($124,$124,$127);
}
$130 = ((($3)) + 92|0);
$131 = HEAP32[$130>>2]|0;
$132 = HEAP32[$88>>2]|0;
$133 = HEAP32[$98>>2]|0;
__gcry_mpi_add($131,$132,$133);
$134 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$135 = ($134|0)==(0|0);
if ($135) {
$136 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($131,$131,$136);
} else {
__gcry_mpi_mod_barrett($131,$131,$134);
}
$137 = ((($0)) + 8|0);
$138 = HEAP32[$137>>2]|0;
$139 = HEAP32[$21>>2]|0;
$140 = HEAP32[$35>>2]|0;
__gcry_mpi_mul($138,$139,$140);
$141 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$142 = ($141|0)==(0|0);
if ($142) {
$143 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($138,$138,$143);
} else {
__gcry_mpi_mod_barrett($138,$138,$141);
}
$144 = HEAP32[$137>>2]|0;
$145 = HEAP32[$84>>2]|0;
__gcry_mpi_mul($144,$144,$145);
$146 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$147 = ($146|0)==(0|0);
if ($147) {
$148 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($144,$144,$148);
} else {
__gcry_mpi_mod_barrett($144,$144,$146);
}
$149 = ((($3)) + 100|0);
$150 = HEAP32[$149>>2]|0;
$151 = HEAP32[$108>>2]|0;
__gcry_mpi_mul($150,$151,$151);
$152 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$153 = ($152|0)==(0|0);
if ($153) {
$154 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($150,$150,$154);
} else {
__gcry_mpi_mod_barrett($150,$150,$152);
}
$155 = ((($3)) + 104|0);
$156 = HEAP32[$155>>2]|0;
$157 = HEAP32[$84>>2]|0;
__gcry_mpi_mul($156,$157,$157);
$158 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$159 = ($158|0)==(0|0);
if ($159) {
$160 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($156,$156,$160);
} else {
__gcry_mpi_mod_barrett($156,$156,$158);
}
$161 = HEAP32[$155>>2]|0;
$162 = HEAP32[$123>>2]|0;
__gcry_mpi_mul($161,$161,$162);
$163 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$164 = ($163|0)==(0|0);
if ($164) {
$165 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($161,$161,$165);
} else {
__gcry_mpi_mod_barrett($161,$161,$163);
}
$166 = HEAP32[$0>>2]|0;
$167 = HEAP32[$149>>2]|0;
$168 = HEAP32[$155>>2]|0;
__gcry_mpi_sub($166,$167,$168);
$169 = HEAP32[$149>>2]|0;
$170 = HEAP32[$0>>2]|0;
__gcry_mpi_lshift($169,$170,1);
$171 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$172 = ($171|0)==(0|0);
if ($172) {
$173 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($169,$169,$173);
} else {
__gcry_mpi_mod_barrett($169,$169,$171);
}
$174 = ((($3)) + 96|0);
$175 = HEAP32[$174>>2]|0;
$176 = HEAP32[$155>>2]|0;
$177 = HEAP32[$149>>2]|0;
__gcry_mpi_sub($175,$176,$177);
$178 = HEAP32[$174>>2]|0;
$179 = HEAP32[$108>>2]|0;
__gcry_mpi_mul($178,$178,$179);
$180 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$181 = ($180|0)==(0|0);
if ($181) {
$182 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($178,$178,$182);
} else {
__gcry_mpi_mod_barrett($178,$178,$180);
}
$183 = HEAP32[$149>>2]|0;
$184 = HEAP32[$84>>2]|0;
$185 = (__gcry_mpi_const(3)|0);
$$idx$val$i = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_powm($183,$184,$185,$$idx$val$i);
$186 = HEAP32[$149>>2]|0;
$187 = HEAP32[$130>>2]|0;
__gcry_mpi_mul($186,$186,$187);
$188 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$189 = ($188|0)==(0|0);
if ($189) {
$190 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($186,$186,$190);
} else {
__gcry_mpi_mod_barrett($186,$186,$188);
}
$191 = ((($0)) + 4|0);
$192 = HEAP32[$191>>2]|0;
$193 = HEAP32[$174>>2]|0;
$194 = HEAP32[$149>>2]|0;
__gcry_mpi_sub($192,$193,$194);
$195 = HEAP32[$191>>2]|0;
$196 = ((($3)) + 48|0);
$197 = HEAP8[$196>>0]|0;
$198 = $197 & 2;
$199 = ($198<<24>>24)==(0);
do {
if ($199) {
$200 = $197 | 2;
HEAP8[$196>>0] = $200;
$201 = ((($3)) + 56|0);
$202 = HEAP32[$201>>2]|0;
$203 = ($202|0)==(0|0);
if ($203) {
$204 = (__gcry_mpi_alloc(0)|0);
HEAP32[$201>>2] = $204;
$207 = $204;
} else {
$207 = $202;
}
$205 = (__gcry_mpi_const(2)|0);
$206 = HEAP32[$$idx130$i>>2]|0;
$208 = (__gcry_mpi_invm($207,$205,$206)|0);
$209 = ($208|0)==(0);
if (!($209)) {
$$pre$phi$i$iZ2D = $201;
break;
}
__gcry_log_error(63791,$vararg_buffer);
__gcry_log_printmpi(63825,$205);
$210 = HEAP32[$$idx130$i>>2]|0;
__gcry_log_printmpi(63829,$210);
$$pre$phi$i$iZ2D = $201;
} else {
$$pre$i$i = ((($3)) + 56|0);
$$pre$phi$i$iZ2D = $$pre$i$i;
}
} while(0);
$211 = HEAP32[$$pre$phi$i$iZ2D>>2]|0;
__gcry_mpi_mul($195,$195,$211);
$212 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$213 = ($212|0)==(0|0);
if ($213) {
$214 = HEAP32[$$idx130$i>>2]|0;
__gcry_mpi_mod($195,$195,$214);
STACKTOP = sp;return;
} else {
__gcry_mpi_mod_barrett($195,$195,$212);
STACKTOP = sp;return;
}
break;
}
case 1: {
_add_points_montgomery();
// unreachable;
break;
}
case 2: {
_add_points_edwards($0,$1,$2,$3);
STACKTOP = sp;return;
break;
}
default: {
STACKTOP = sp;return;
}
}
}
function _add_points_montgomery() {
var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
HEAP32[$vararg_buffer>>2] = 63981;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 63906;
__gcry_log_fatal(63932,$vararg_buffer);
// unreachable;
}
function _add_points_edwards($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ((($3)) + 64|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($1)) + 8|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($2)) + 8|0);
$9 = HEAP32[$8>>2]|0;
__gcry_mpi_mul($5,$7,$9);
$10 = ((($3)) + 60|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11|0)==(0|0);
if ($12) {
$13 = ((($3)) + 16|0);
$14 = HEAP32[$13>>2]|0;
__gcry_mpi_mod($5,$5,$14);
} else {
__gcry_mpi_mod_barrett($5,$5,$11);
}
$15 = ((($3)) + 68|0);
$16 = HEAP32[$15>>2]|0;
$17 = HEAP32[$4>>2]|0;
__gcry_mpi_mul($16,$17,$17);
$18 = HEAP32[$10>>2]|0;
$19 = ($18|0)==(0|0);
if ($19) {
$20 = ((($3)) + 16|0);
$21 = HEAP32[$20>>2]|0;
__gcry_mpi_mod($16,$16,$21);
} else {
__gcry_mpi_mod_barrett($16,$16,$18);
}
$22 = ((($3)) + 72|0);
$23 = HEAP32[$22>>2]|0;
$24 = HEAP32[$1>>2]|0;
$25 = HEAP32[$2>>2]|0;
__gcry_mpi_mul($23,$24,$25);
$26 = HEAP32[$10>>2]|0;
$27 = ($26|0)==(0|0);
if ($27) {
$28 = ((($3)) + 16|0);
$29 = HEAP32[$28>>2]|0;
__gcry_mpi_mod($23,$23,$29);
} else {
__gcry_mpi_mod_barrett($23,$23,$26);
}
$30 = ((($3)) + 76|0);
$31 = HEAP32[$30>>2]|0;
$32 = ((($1)) + 4|0);
$33 = HEAP32[$32>>2]|0;
$34 = ((($2)) + 4|0);
$35 = HEAP32[$34>>2]|0;
__gcry_mpi_mul($31,$33,$35);
$36 = HEAP32[$10>>2]|0;
$37 = ($36|0)==(0|0);
if ($37) {
$38 = ((($3)) + 16|0);
$39 = HEAP32[$38>>2]|0;
__gcry_mpi_mod($31,$31,$39);
} else {
__gcry_mpi_mod_barrett($31,$31,$36);
}
$40 = ((($3)) + 80|0);
$41 = HEAP32[$40>>2]|0;
$42 = ((($3)) + 24|0);
$43 = HEAP32[$42>>2]|0;
$44 = HEAP32[$22>>2]|0;
__gcry_mpi_mul($41,$43,$44);
$45 = HEAP32[$10>>2]|0;
$46 = ($45|0)==(0|0);
if ($46) {
$47 = ((($3)) + 16|0);
$48 = HEAP32[$47>>2]|0;
__gcry_mpi_mod($41,$41,$48);
} else {
__gcry_mpi_mod_barrett($41,$41,$45);
}
$49 = HEAP32[$40>>2]|0;
$50 = HEAP32[$30>>2]|0;
__gcry_mpi_mul($49,$49,$50);
$51 = HEAP32[$10>>2]|0;
$52 = ($51|0)==(0|0);
if ($52) {
$53 = ((($3)) + 16|0);
$54 = HEAP32[$53>>2]|0;
__gcry_mpi_mod($49,$49,$54);
} else {
__gcry_mpi_mod_barrett($49,$49,$51);
}
$55 = ((($3)) + 84|0);
$56 = HEAP32[$55>>2]|0;
$57 = HEAP32[$15>>2]|0;
$58 = HEAP32[$40>>2]|0;
__gcry_mpi_sub($56,$57,$58);
$59 = ((($3)) + 88|0);
$60 = HEAP32[$59>>2]|0;
$61 = HEAP32[$15>>2]|0;
$62 = HEAP32[$40>>2]|0;
__gcry_mpi_add($60,$61,$62);
$63 = HEAP32[$10>>2]|0;
$64 = ($63|0)==(0|0);
if ($64) {
$65 = ((($3)) + 16|0);
$66 = HEAP32[$65>>2]|0;
__gcry_mpi_mod($60,$60,$66);
} else {
__gcry_mpi_mod_barrett($60,$60,$63);
}
$67 = ((($3)) + 92|0);
$68 = HEAP32[$67>>2]|0;
$69 = HEAP32[$1>>2]|0;
$70 = HEAP32[$32>>2]|0;
__gcry_mpi_add($68,$69,$70);
$71 = HEAP32[$10>>2]|0;
$72 = ($71|0)==(0|0);
if ($72) {
$73 = ((($3)) + 16|0);
$74 = HEAP32[$73>>2]|0;
__gcry_mpi_mod($68,$68,$74);
} else {
__gcry_mpi_mod_barrett($68,$68,$71);
}
$75 = HEAP32[$0>>2]|0;
$76 = HEAP32[$2>>2]|0;
$77 = HEAP32[$34>>2]|0;
__gcry_mpi_add($75,$76,$77);
$78 = HEAP32[$10>>2]|0;
$79 = ($78|0)==(0|0);
if ($79) {
$80 = ((($3)) + 16|0);
$81 = HEAP32[$80>>2]|0;
__gcry_mpi_mod($75,$75,$81);
} else {
__gcry_mpi_mod_barrett($75,$75,$78);
}
$82 = HEAP32[$0>>2]|0;
$83 = HEAP32[$67>>2]|0;
__gcry_mpi_mul($82,$82,$83);
$84 = HEAP32[$10>>2]|0;
$85 = ($84|0)==(0|0);
if ($85) {
$86 = ((($3)) + 16|0);
$87 = HEAP32[$86>>2]|0;
__gcry_mpi_mod($82,$82,$87);
} else {
__gcry_mpi_mod_barrett($82,$82,$84);
}
$88 = HEAP32[$0>>2]|0;
$89 = HEAP32[$22>>2]|0;
__gcry_mpi_sub($88,$88,$89);
$90 = HEAP32[$0>>2]|0;
$91 = HEAP32[$30>>2]|0;
__gcry_mpi_sub($90,$90,$91);
$92 = HEAP32[$0>>2]|0;
$93 = HEAP32[$55>>2]|0;
__gcry_mpi_mul($92,$92,$93);
$94 = HEAP32[$10>>2]|0;
$95 = ($94|0)==(0|0);
if ($95) {
$96 = ((($3)) + 16|0);
$97 = HEAP32[$96>>2]|0;
__gcry_mpi_mod($92,$92,$97);
} else {
__gcry_mpi_mod_barrett($92,$92,$94);
}
$98 = HEAP32[$0>>2]|0;
$99 = HEAP32[$4>>2]|0;
__gcry_mpi_mul($98,$98,$99);
$100 = HEAP32[$10>>2]|0;
$101 = ($100|0)==(0|0);
if ($101) {
$102 = ((($3)) + 16|0);
$103 = HEAP32[$102>>2]|0;
__gcry_mpi_mod($98,$98,$103);
} else {
__gcry_mpi_mod_barrett($98,$98,$100);
}
$104 = ((($3)) + 4|0);
$105 = HEAP32[$104>>2]|0;
$106 = ($105|0)==(1);
$107 = ((($0)) + 4|0);
$108 = HEAP32[$107>>2]|0;
if ($106) {
$109 = HEAP32[$22>>2]|0;
(__gcry_mpi_set($108,$109)|0);
$110 = HEAP32[$107>>2]|0;
__gcry_mpi_neg($110,$110);
$111 = HEAP32[$107>>2]|0;
$112 = HEAP32[$30>>2]|0;
__gcry_mpi_sub($111,$112,$111);
} else {
$113 = ((($3)) + 20|0);
$114 = HEAP32[$113>>2]|0;
$115 = HEAP32[$22>>2]|0;
__gcry_mpi_mul($108,$114,$115);
$116 = HEAP32[$10>>2]|0;
$117 = ($116|0)==(0|0);
if ($117) {
$118 = ((($3)) + 16|0);
$119 = HEAP32[$118>>2]|0;
__gcry_mpi_mod($108,$108,$119);
} else {
__gcry_mpi_mod_barrett($108,$108,$116);
}
$120 = HEAP32[$107>>2]|0;
$121 = HEAP32[$30>>2]|0;
__gcry_mpi_sub($120,$121,$120);
}
$122 = HEAP32[$107>>2]|0;
$123 = HEAP32[$59>>2]|0;
__gcry_mpi_mul($122,$122,$123);
$124 = HEAP32[$10>>2]|0;
$125 = ($124|0)==(0|0);
if ($125) {
$126 = ((($3)) + 16|0);
$127 = HEAP32[$126>>2]|0;
__gcry_mpi_mod($122,$122,$127);
} else {
__gcry_mpi_mod_barrett($122,$122,$124);
}
$128 = HEAP32[$107>>2]|0;
$129 = HEAP32[$4>>2]|0;
__gcry_mpi_mul($128,$128,$129);
$130 = HEAP32[$10>>2]|0;
$131 = ($130|0)==(0|0);
if ($131) {
$132 = ((($3)) + 16|0);
$133 = HEAP32[$132>>2]|0;
__gcry_mpi_mod($128,$128,$133);
} else {
__gcry_mpi_mod_barrett($128,$128,$130);
}
$134 = ((($0)) + 8|0);
$135 = HEAP32[$134>>2]|0;
$136 = HEAP32[$55>>2]|0;
$137 = HEAP32[$59>>2]|0;
__gcry_mpi_mul($135,$136,$137);
$138 = HEAP32[$10>>2]|0;
$139 = ($138|0)==(0|0);
if ($139) {
$140 = ((($3)) + 16|0);
$141 = HEAP32[$140>>2]|0;
__gcry_mpi_mod($135,$135,$141);
return;
} else {
__gcry_mpi_mod_barrett($135,$135,$138);
return;
}
}
function __gcry_mpi_ec_mul_point($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0207234 = 0, $$0207234$phi = 0, $$0208233 = 0, $$0208233$phi = 0, $$0209232 = 0, $$0209232$phi = 0, $$0210 = 0, $$0210231 = 0, $$0210236 = 0, $$0211221 = 0, $$0212 = 0, $$0212226 = 0, $$0212227 = 0, $$0213 = 0, $$0235 = 0, $$0235$phi = 0, $$1 = 0, $$1222 = 0, $$1223 = 0, $10 = 0;
var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0;
var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0;
var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0;
var $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0;
var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0;
var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0;
var $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0;
var $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0;
var $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0;
var $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0;
var $282 = 0, $283 = 0, $284 = 0, $285 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
var $99 = 0, $phitmp = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$vararg_buffer5 = sp + 24|0;
$vararg_buffer3 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$4 = sp + 88|0;
$5 = sp + 76|0;
$6 = sp + 64|0;
$7 = sp + 52|0;
$8 = sp + 40|0;
$9 = sp + 28|0;
$10 = HEAP32[$3>>2]|0;
switch ($10|0) {
case 2: {
$11 = (__gcry_mpi_get_nbits($1)|0);
$12 = HEAP32[$0>>2]|0;
(__gcry_mpi_set_ui($12,0)|0);
$13 = ((($0)) + 4|0);
$14 = HEAP32[$13>>2]|0;
(__gcry_mpi_set_ui($14,1)|0);
$15 = ((($0)) + 8|0);
$16 = HEAP32[$15>>2]|0;
(__gcry_mpi_set_ui($16,1)|0);
$17 = ($1|0)==(0|0);
if (!($17)) {
$18 = ((($1)) + 12|0);
$19 = HEAP32[$18>>2]|0;
$20 = $19 & 1;
$21 = ($20|0)==(0);
if (!($21)) {
$22 = (__gcry_mpi_new(0)|0);
HEAP32[$7>>2] = $22;
$23 = (__gcry_mpi_new(0)|0);
$24 = ((($7)) + 4|0);
HEAP32[$24>>2] = $23;
$25 = (__gcry_mpi_new(0)|0);
$26 = ((($7)) + 8|0);
HEAP32[$26>>2] = $25;
$$0212226 = (($11) + -1)|0;
$27 = ($$0212226|0)>(-1);
if ($27) {
$$0212227 = $$0212226;
while(1) {
__gcry_mpi_ec_dup_point($0,$0,$3);
__gcry_mpi_ec_add_points($7,$0,$2,$3);
$28 = (__gcry_mpi_test_bit($1,$$0212227)|0);
$29 = ($28|0)==(0);
if (!($29)) {
$30 = HEAP32[$0>>2]|0;
(__gcry_mpi_set($30,$22)|0);
$31 = HEAP32[$13>>2]|0;
(__gcry_mpi_set($31,$23)|0);
$32 = HEAP32[$15>>2]|0;
(__gcry_mpi_set($32,$25)|0);
}
$$0212 = (($$0212227) + -1)|0;
$33 = ($$0212|0)>(-1);
if ($33) {
$$0212227 = $$0212;
} else {
break;
}
}
}
__gcry_mpi_free($22);
__gcry_mpi_free($23);
__gcry_mpi_free($25);
STACKTOP = sp;return;
}
}
$$1222 = (($11) + -1)|0;
$34 = ($$1222|0)>(-1);
if (!($34)) {
STACKTOP = sp;return;
}
$$1223 = $$1222;
while(1) {
__gcry_mpi_ec_dup_point($0,$0,$3);
$35 = (__gcry_mpi_test_bit($1,$$1223)|0);
$36 = ($35|0)==(0);
if (!($36)) {
__gcry_mpi_ec_add_points($0,$0,$2,$3);
}
$$1 = (($$1223) + -1)|0;
$37 = ($$1|0)>(-1);
if ($37) {
$$1223 = $$1;
} else {
break;
}
}
STACKTOP = sp;return;
break;
}
case 1: {
$38 = (__gcry_mpi_get_nbits($1)|0);
$39 = (__gcry_mpi_new(0)|0);
HEAP32[$4>>2] = $39;
$40 = (__gcry_mpi_new(0)|0);
$41 = ((($4)) + 4|0);
HEAP32[$41>>2] = $40;
$42 = (__gcry_mpi_new(0)|0);
$43 = ((($4)) + 8|0);
HEAP32[$43>>2] = $42;
$44 = (__gcry_mpi_new(0)|0);
$45 = (__gcry_mpi_new(0)|0);
$46 = ((($5)) + 4|0);
HEAP32[$46>>2] = $45;
$47 = (__gcry_mpi_new(0)|0);
$48 = ((($5)) + 8|0);
HEAP32[$48>>2] = $47;
$49 = (__gcry_mpi_new(0)|0);
HEAP32[$8>>2] = $49;
$50 = (__gcry_mpi_new(0)|0);
$51 = ((($8)) + 4|0);
HEAP32[$51>>2] = $50;
$52 = (__gcry_mpi_new(0)|0);
$53 = ((($8)) + 8|0);
HEAP32[$53>>2] = $52;
$54 = (__gcry_mpi_new(0)|0);
HEAP32[$9>>2] = $54;
$55 = (__gcry_mpi_new(0)|0);
$56 = ((($9)) + 4|0);
HEAP32[$56>>2] = $55;
$57 = (__gcry_mpi_new(0)|0);
$58 = ((($9)) + 8|0);
HEAP32[$58>>2] = $57;
(__gcry_mpi_set_ui($39,1)|0);
__gcry_mpi_free($44);
$59 = HEAP32[$2>>2]|0;
$60 = (__gcry_mpi_copy($59)|0);
HEAP32[$5>>2] = $60;
(__gcry_mpi_set_ui($47,1)|0);
$61 = $38 << 1;
$62 = (($61) + 62)|0;
$63 = $62 >>> 5;
$64 = (($63) + 1)|0;
__gcry_mpi_resize($39,$64);
__gcry_mpi_resize($42,$64);
__gcry_mpi_resize($60,$64);
__gcry_mpi_resize($47,$64);
__gcry_mpi_resize($49,$64);
__gcry_mpi_resize($52,$64);
__gcry_mpi_resize($54,$64);
__gcry_mpi_resize($57,$64);
$$0210231 = (($38) + -1)|0;
$65 = ($$0210231|0)>(-1);
if ($65) {
$66 = ((($3)) + 60|0);
$67 = ((($3)) + 16|0);
$68 = ((($3)) + 20|0);
$$0207234 = $8;$$0208233 = $5;$$0209232 = $4;$$0210236 = $$0210231;$$0235 = $9;
while(1) {
$69 = (__gcry_mpi_test_bit($1,$$0210236)|0);
$70 = HEAP32[$$0209232>>2]|0;
$71 = HEAP32[$$0208233>>2]|0;
__gcry_mpi_swap_cond($70,$71,$69);
$72 = ((($$0209232)) + 8|0);
$73 = HEAP32[$72>>2]|0;
$74 = ((($$0208233)) + 8|0);
$75 = HEAP32[$74>>2]|0;
__gcry_mpi_swap_cond($73,$75,$69);
$76 = HEAP32[$2>>2]|0;
$77 = HEAP32[$$0235>>2]|0;
$78 = HEAP32[$$0208233>>2]|0;
$79 = HEAP32[$74>>2]|0;
__gcry_mpi_add($77,$78,$79);
$80 = HEAP32[$66>>2]|0;
$81 = ($80|0)==(0|0);
if ($81) {
$82 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($77,$77,$82);
} else {
__gcry_mpi_mod_barrett($77,$77,$80);
}
$83 = HEAP32[$74>>2]|0;
$84 = HEAP32[$$0208233>>2]|0;
__gcry_mpi_sub($83,$84,$83);
$85 = HEAP32[$$0207234>>2]|0;
$86 = HEAP32[$$0209232>>2]|0;
$87 = HEAP32[$72>>2]|0;
__gcry_mpi_add($85,$86,$87);
$88 = HEAP32[$66>>2]|0;
$89 = ($88|0)==(0|0);
if ($89) {
$90 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($85,$85,$90);
} else {
__gcry_mpi_mod_barrett($85,$85,$88);
}
$91 = HEAP32[$72>>2]|0;
$92 = HEAP32[$$0209232>>2]|0;
__gcry_mpi_sub($91,$92,$91);
$93 = HEAP32[$$0208233>>2]|0;
$94 = HEAP32[$72>>2]|0;
$95 = HEAP32[$$0235>>2]|0;
__gcry_mpi_mul($93,$94,$95);
$96 = HEAP32[$66>>2]|0;
$97 = ($96|0)==(0|0);
if ($97) {
$98 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($93,$93,$98);
} else {
__gcry_mpi_mod_barrett($93,$93,$96);
}
$99 = HEAP32[$74>>2]|0;
$100 = HEAP32[$$0207234>>2]|0;
__gcry_mpi_mul($99,$100,$99);
$101 = HEAP32[$66>>2]|0;
$102 = ($101|0)==(0|0);
if ($102) {
$103 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($99,$99,$103);
} else {
__gcry_mpi_mod_barrett($99,$99,$101);
}
$104 = HEAP32[$$0209232>>2]|0;
$105 = HEAP32[$$0207234>>2]|0;
__gcry_mpi_mul($104,$105,$105);
$106 = HEAP32[$66>>2]|0;
$107 = ($106|0)==(0|0);
if ($107) {
$108 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($104,$104,$108);
} else {
__gcry_mpi_mod_barrett($104,$104,$106);
}
$109 = HEAP32[$72>>2]|0;
__gcry_mpi_mul($109,$109,$109);
$110 = HEAP32[$66>>2]|0;
$111 = ($110|0)==(0|0);
if ($111) {
$112 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($109,$109,$112);
} else {
__gcry_mpi_mod_barrett($109,$109,$110);
}
$113 = HEAP32[$$0235>>2]|0;
$114 = HEAP32[$$0208233>>2]|0;
$115 = HEAP32[$74>>2]|0;
__gcry_mpi_add($113,$114,$115);
$116 = HEAP32[$66>>2]|0;
$117 = ($116|0)==(0|0);
if ($117) {
$118 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($113,$113,$118);
} else {
__gcry_mpi_mod_barrett($113,$113,$116);
}
$119 = HEAP32[$74>>2]|0;
$120 = HEAP32[$$0208233>>2]|0;
__gcry_mpi_sub($119,$120,$119);
$121 = HEAP32[$$0207234>>2]|0;
$122 = HEAP32[$$0209232>>2]|0;
$123 = HEAP32[$72>>2]|0;
__gcry_mpi_mul($121,$122,$123);
$124 = HEAP32[$66>>2]|0;
$125 = ($124|0)==(0|0);
if ($125) {
$126 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($121,$121,$126);
} else {
__gcry_mpi_mod_barrett($121,$121,$124);
}
$127 = HEAP32[$72>>2]|0;
$128 = HEAP32[$$0209232>>2]|0;
__gcry_mpi_sub($127,$128,$127);
$129 = HEAP32[$$0235>>2]|0;
__gcry_mpi_mul($129,$129,$129);
$130 = HEAP32[$66>>2]|0;
$131 = ($130|0)==(0|0);
if ($131) {
$132 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($129,$129,$132);
} else {
__gcry_mpi_mod_barrett($129,$129,$130);
}
$133 = ((($$0235)) + 8|0);
$134 = HEAP32[$133>>2]|0;
$135 = HEAP32[$74>>2]|0;
__gcry_mpi_mul($134,$135,$135);
$136 = HEAP32[$66>>2]|0;
$137 = ($136|0)==(0|0);
if ($137) {
$138 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($134,$134,$138);
} else {
__gcry_mpi_mod_barrett($134,$134,$136);
}
$139 = ((($$0207234)) + 8|0);
$140 = HEAP32[$139>>2]|0;
$141 = HEAP32[$72>>2]|0;
$142 = HEAP32[$68>>2]|0;
__gcry_mpi_mul($140,$141,$142);
$143 = HEAP32[$66>>2]|0;
$144 = ($143|0)==(0|0);
if ($144) {
$145 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($140,$140,$145);
} else {
__gcry_mpi_mod_barrett($140,$140,$143);
}
$146 = HEAP32[$133>>2]|0;
__gcry_mpi_mul($146,$146,$76);
$147 = HEAP32[$66>>2]|0;
$148 = ($147|0)==(0|0);
if ($148) {
$149 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($146,$146,$149);
} else {
__gcry_mpi_mod_barrett($146,$146,$147);
}
$150 = HEAP32[$139>>2]|0;
$151 = HEAP32[$$0209232>>2]|0;
__gcry_mpi_add($150,$151,$150);
$152 = HEAP32[$66>>2]|0;
$153 = ($152|0)==(0|0);
if ($153) {
$154 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($150,$150,$154);
} else {
__gcry_mpi_mod_barrett($150,$150,$152);
}
$155 = HEAP32[$139>>2]|0;
$156 = HEAP32[$72>>2]|0;
__gcry_mpi_mul($155,$155,$156);
$157 = HEAP32[$66>>2]|0;
$158 = ($157|0)==(0|0);
if ($158) {
$159 = HEAP32[$67>>2]|0;
__gcry_mpi_mod($155,$155,$159);
} else {
__gcry_mpi_mod_barrett($155,$155,$157);
}
$160 = HEAP32[$$0207234>>2]|0;
$161 = HEAP32[$$0235>>2]|0;
__gcry_mpi_swap_cond($160,$161,$69);
$162 = HEAP32[$139>>2]|0;
$163 = HEAP32[$133>>2]|0;
__gcry_mpi_swap_cond($162,$163,$69);
$$0210 = (($$0210236) + -1)|0;
$164 = ($$0210|0)>(-1);
if ($164) {
$$0235$phi = $$0208233;$$0209232$phi = $$0207234;$$0208233$phi = $$0235;$$0207234$phi = $$0209232;$$0210236 = $$0210;$$0235 = $$0235$phi;$$0209232 = $$0209232$phi;$$0208233 = $$0208233$phi;$$0207234 = $$0207234$phi;
} else {
break;
}
}
}
$165 = ((($0)) + 4|0);
$166 = HEAP32[$165>>2]|0;
__gcry_mpi_clear($166);
$167 = $38 & 1;
__gcry_mpi_swap_cond($39,$49,$167);
__gcry_mpi_swap_cond($42,$52,$167);
$168 = ((($42)) + 4|0);
$169 = HEAP32[$168>>2]|0;
$170 = ($169|0)==(0);
if ($170) {
$171 = HEAP32[$0>>2]|0;
(__gcry_mpi_set_ui($171,1)|0);
$172 = ((($0)) + 8|0);
$173 = HEAP32[$172>>2]|0;
(__gcry_mpi_set_ui($173,0)|0);
} else {
$174 = (__gcry_mpi_new(0)|0);
$175 = ((($3)) + 16|0);
$176 = HEAP32[$175>>2]|0;
$177 = (__gcry_mpi_invm($174,$42,$176)|0);
$178 = ($177|0)==(0);
if ($178) {
__gcry_log_error(63791,$vararg_buffer);
__gcry_log_printmpi(63825,$42);
$179 = HEAP32[$175>>2]|0;
__gcry_log_printmpi(63829,$179);
}
$180 = HEAP32[$0>>2]|0;
__gcry_mpi_mul($180,$39,$174);
$181 = ((($3)) + 60|0);
$182 = HEAP32[$181>>2]|0;
$183 = ($182|0)==(0|0);
if ($183) {
$184 = HEAP32[$175>>2]|0;
__gcry_mpi_mod($180,$180,$184);
} else {
__gcry_mpi_mod_barrett($180,$180,$182);
}
$185 = ((($0)) + 8|0);
$186 = HEAP32[$185>>2]|0;
(__gcry_mpi_set_ui($186,1)|0);
__gcry_mpi_free($174);
}
__gcry_mpi_free($39);
HEAP32[$4>>2] = 0;
__gcry_mpi_free($40);
HEAP32[$41>>2] = 0;
__gcry_mpi_free($42);
HEAP32[$43>>2] = 0;
__gcry_mpi_free($60);
HEAP32[$5>>2] = 0;
__gcry_mpi_free($45);
HEAP32[$46>>2] = 0;
__gcry_mpi_free($47);
HEAP32[$48>>2] = 0;
__gcry_mpi_free($49);
__gcry_mpi_free($50);
__gcry_mpi_free($52);
__gcry_mpi_free($54);
__gcry_mpi_free($55);
__gcry_mpi_free($57);
STACKTOP = sp;return;
break;
}
default: {
$187 = ((($3)) + 16|0);
$188 = HEAP32[$187>>2]|0;
$189 = (__gcry_mpi_alloc_like($188)|0);
$190 = HEAP32[$187>>2]|0;
$191 = (__gcry_mpi_alloc_like($190)|0);
$192 = HEAP32[$187>>2]|0;
$193 = (__gcry_mpi_alloc_like($192)|0);
$194 = (__gcry_mpi_copy($1)|0);
$195 = ((($2)) + 4|0);
$196 = HEAP32[$195>>2]|0;
$197 = (__gcry_mpi_copy($196)|0);
$198 = ((($194)) + 8|0);
$199 = HEAP32[$198>>2]|0;
$200 = ($199|0)==(0);
if (!($200)) {
HEAP32[$198>>2] = 0;
$201 = HEAP32[$187>>2]|0;
$202 = (__gcry_mpi_invm($197,$197,$201)|0);
$203 = ($202|0)==(0);
if ($203) {
__gcry_log_error(63791,$vararg_buffer1);
__gcry_log_printmpi(63825,$197);
$204 = HEAP32[$187>>2]|0;
__gcry_log_printmpi(63829,$204);
}
}
$205 = ((($2)) + 8|0);
$206 = HEAP32[$205>>2]|0;
$207 = (__gcry_mpi_cmp_ui($206,1)|0);
$208 = ($207|0)==(0);
if ($208) {
$209 = HEAP32[$2>>2]|0;
(__gcry_mpi_set($189,$209)|0);
(__gcry_mpi_set($191,$197)|0);
} else {
$210 = HEAP32[$187>>2]|0;
$211 = (__gcry_mpi_alloc_like($210)|0);
$212 = HEAP32[$187>>2]|0;
$213 = (__gcry_mpi_alloc_like($212)|0);
$214 = HEAP32[$205>>2]|0;
__gcry_mpi_mul($211,$214,$214);
$215 = ((($3)) + 60|0);
$216 = HEAP32[$215>>2]|0;
$217 = ($216|0)==(0|0);
if ($217) {
$218 = HEAP32[$187>>2]|0;
__gcry_mpi_mod($211,$211,$218);
} else {
__gcry_mpi_mod_barrett($211,$211,$216);
}
$219 = HEAP32[$205>>2]|0;
__gcry_mpi_mul($213,$219,$211);
$220 = HEAP32[$215>>2]|0;
$221 = ($220|0)==(0|0);
if ($221) {
$222 = HEAP32[$187>>2]|0;
__gcry_mpi_mod($213,$213,$222);
} else {
__gcry_mpi_mod_barrett($213,$213,$220);
}
$223 = HEAP32[$187>>2]|0;
$224 = (__gcry_mpi_invm($211,$211,$223)|0);
$225 = ($224|0)==(0);
if ($225) {
__gcry_log_error(63791,$vararg_buffer3);
__gcry_log_printmpi(63825,$211);
$226 = HEAP32[$187>>2]|0;
__gcry_log_printmpi(63829,$226);
}
$227 = HEAP32[$2>>2]|0;
__gcry_mpi_mul($189,$227,$211);
$228 = HEAP32[$215>>2]|0;
$229 = ($228|0)==(0|0);
if ($229) {
$230 = HEAP32[$187>>2]|0;
__gcry_mpi_mod($189,$189,$230);
} else {
__gcry_mpi_mod_barrett($189,$189,$228);
}
$231 = HEAP32[$187>>2]|0;
$232 = (__gcry_mpi_invm($213,$213,$231)|0);
$233 = ($232|0)==(0);
if ($233) {
__gcry_log_error(63791,$vararg_buffer5);
__gcry_log_printmpi(63825,$213);
$234 = HEAP32[$187>>2]|0;
__gcry_log_printmpi(63829,$234);
}
__gcry_mpi_mul($191,$197,$213);
$235 = HEAP32[$215>>2]|0;
$236 = ($235|0)==(0|0);
if ($236) {
$237 = HEAP32[$187>>2]|0;
__gcry_mpi_mod($191,$191,$237);
} else {
__gcry_mpi_mod_barrett($191,$191,$235);
}
__gcry_mpi_free($211);
__gcry_mpi_free($213);
}
$238 = (__gcry_mpi_const(1)|0);
$239 = (__gcry_mpi_copy($238)|0);
$240 = (__gcry_mpi_const(3)|0);
__gcry_mpi_mul($193,$194,$240);
$241 = (__gcry_mpi_get_nbits($193)|0);
$242 = ($241>>>0)<(2);
$243 = HEAP32[$0>>2]|0;
if ($242) {
__gcry_mpi_clear($243);
$244 = ((($0)) + 4|0);
$245 = HEAP32[$244>>2]|0;
__gcry_mpi_clear($245);
$246 = ((($0)) + 8|0);
$247 = HEAP32[$246>>2]|0;
__gcry_mpi_clear($247);
$$0213 = 0;
} else {
$248 = HEAP32[$2>>2]|0;
(__gcry_mpi_set($243,$248)|0);
$249 = ((($0)) + 4|0);
$250 = HEAP32[$249>>2]|0;
(__gcry_mpi_set($250,$197)|0);
$251 = ((($0)) + 8|0);
$252 = HEAP32[$251>>2]|0;
$253 = HEAP32[$205>>2]|0;
(__gcry_mpi_set($252,$253)|0);
$phitmp = (($241) + -2)|0;
$$0213 = $phitmp;
}
__gcry_mpi_free($197);
HEAP32[$4>>2] = $189;
$254 = ((($4)) + 4|0);
HEAP32[$254>>2] = $191;
$255 = ((($4)) + 8|0);
HEAP32[$255>>2] = $239;
$256 = (__gcry_mpi_new(0)|0);
HEAP32[$5>>2] = $256;
$257 = (__gcry_mpi_new(0)|0);
$258 = ((($5)) + 4|0);
HEAP32[$258>>2] = $257;
$259 = (__gcry_mpi_new(0)|0);
$260 = ((($5)) + 8|0);
HEAP32[$260>>2] = $259;
$261 = (__gcry_mpi_new(0)|0);
HEAP32[$6>>2] = $261;
$262 = (__gcry_mpi_new(0)|0);
$263 = ((($6)) + 4|0);
HEAP32[$263>>2] = $262;
$264 = (__gcry_mpi_new(0)|0);
$265 = ((($6)) + 8|0);
HEAP32[$265>>2] = $264;
$266 = ($$0213|0)==(0);
if (!($266)) {
$267 = ((($0)) + 4|0);
$268 = ((($0)) + 8|0);
$$0211221 = $$0213;
while(1) {
__gcry_mpi_ec_dup_point($0,$0,$3);
$269 = (__gcry_mpi_test_bit($193,$$0211221)|0);
$270 = ($269|0)==(1);
if ($270) {
$271 = (__gcry_mpi_test_bit($194,$$0211221)|0);
$272 = ($271|0)==(0);
if ($272) {
$273 = HEAP32[$0>>2]|0;
(__gcry_mpi_set($256,$273)|0);
$274 = HEAP32[$267>>2]|0;
(__gcry_mpi_set($257,$274)|0);
$275 = HEAP32[$268>>2]|0;
(__gcry_mpi_set($259,$275)|0);
__gcry_mpi_ec_add_points($0,$5,$4,$3);
}
}
$276 = (__gcry_mpi_test_bit($193,$$0211221)|0);
$277 = ($276|0)==(0);
if ($277) {
$278 = (__gcry_mpi_test_bit($194,$$0211221)|0);
$279 = ($278|0)==(1);
if ($279) {
$280 = HEAP32[$0>>2]|0;
(__gcry_mpi_set($256,$280)|0);
$281 = HEAP32[$267>>2]|0;
(__gcry_mpi_set($257,$281)|0);
$282 = HEAP32[$268>>2]|0;
(__gcry_mpi_set($259,$282)|0);
(__gcry_mpi_set($261,$189)|0);
(__gcry_mpi_set($262,$191)|0);
(__gcry_mpi_set($264,$239)|0);
$283 = HEAP32[$187>>2]|0;
__gcry_mpi_sub($262,$283,$262);
__gcry_mpi_ec_add_points($0,$5,$6,$3);
}
}
$284 = (($$0211221) + -1)|0;
$285 = ($284|0)==(0);
if ($285) {
break;
} else {
$$0211221 = $284;
}
}
}
__gcry_mpi_free($189);
HEAP32[$4>>2] = 0;
__gcry_mpi_free($191);
HEAP32[$254>>2] = 0;
__gcry_mpi_free($239);
HEAP32[$255>>2] = 0;
__gcry_mpi_free($256);
HEAP32[$5>>2] = 0;
__gcry_mpi_free($257);
HEAP32[$258>>2] = 0;
__gcry_mpi_free($259);
HEAP32[$260>>2] = 0;
__gcry_mpi_free($261);
HEAP32[$6>>2] = 0;
__gcry_mpi_free($262);
HEAP32[$263>>2] = 0;
__gcry_mpi_free($264);
HEAP32[$265>>2] = 0;
__gcry_mpi_free($193);
__gcry_mpi_free($194);
STACKTOP = sp;return;
}
}
}
function __gcry_mpi_ec_curve_point($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$1 = 0, $$2 = 0, $$idx$val = 0, $$pre = 0, $$pre$phi139Z2D = 0, $$pre$phiZ2D = 0, $$pre138 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $spec$select = 0, $spec$select122 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$2 = (__gcry_mpi_new(0)|0);
$3 = (__gcry_mpi_new(0)|0);
$4 = (__gcry_mpi_new(0)|0);
$5 = HEAP32[$1>>2]|0;
switch ($5|0) {
case 0: {
$6 = (__gcry_mpi_new(0)|0);
$7 = (__gcry_mpi_ec_get_affine($2,$3,$0,$1)|0);
$8 = ($7|0)==(0);
if (!($8)) {
$$1 = 0;
return ($$1|0);
}
__gcry_mpi_mul($3,$3,$3);
$9 = ((($1)) + 60|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0|0);
if ($11) {
$12 = ((($1)) + 16|0);
$13 = HEAP32[$12>>2]|0;
__gcry_mpi_mod($3,$3,$13);
$$pre$phiZ2D = $12;
} else {
__gcry_mpi_mod_barrett($3,$3,$10);
$$pre = ((($1)) + 16|0);
$$pre$phiZ2D = $$pre;
}
$14 = (__gcry_mpi_const(3)|0);
$15 = HEAP32[$$pre$phiZ2D>>2]|0;
__gcry_mpi_powm($6,$2,$14,$15);
$16 = ((($1)) + 20|0);
$17 = HEAP32[$16>>2]|0;
__gcry_mpi_mul($4,$17,$2);
$18 = HEAP32[$9>>2]|0;
$19 = ($18|0)==(0|0);
if ($19) {
$20 = HEAP32[$$pre$phiZ2D>>2]|0;
__gcry_mpi_mod($4,$4,$20);
} else {
__gcry_mpi_mod_barrett($4,$4,$18);
}
$21 = ((($1)) + 24|0);
$22 = HEAP32[$21>>2]|0;
__gcry_mpi_add($4,$4,$22);
$23 = HEAP32[$9>>2]|0;
$24 = ($23|0)==(0|0);
if ($24) {
$25 = HEAP32[$$pre$phiZ2D>>2]|0;
__gcry_mpi_mod($4,$4,$25);
} else {
__gcry_mpi_mod_barrett($4,$4,$23);
}
__gcry_mpi_add($4,$4,$6);
$26 = HEAP32[$9>>2]|0;
$27 = ($26|0)==(0|0);
if ($27) {
$28 = HEAP32[$$pre$phiZ2D>>2]|0;
__gcry_mpi_mod($4,$4,$28);
} else {
__gcry_mpi_mod_barrett($4,$4,$26);
}
$29 = (__gcry_mpi_cmp($3,$4)|0);
$30 = ($29|0)==(0);
$spec$select = $30&1;
__gcry_mpi_release($6);
$$2 = $spec$select;
break;
}
case 1: {
$31 = (__gcry_mpi_ec_get_affine($2,0,$0,$1)|0);
$32 = ($31|0)==(0);
if (!($32)) {
$$1 = 0;
return ($$1|0);
}
$33 = ((($1)) + 20|0);
$34 = HEAP32[$33>>2]|0;
$35 = (__gcry_mpi_const(4)|0);
__gcry_mpi_mul($4,$34,$35);
$36 = ((($1)) + 60|0);
$37 = HEAP32[$36>>2]|0;
$38 = ($37|0)==(0|0);
if ($38) {
$39 = ((($1)) + 16|0);
$40 = HEAP32[$39>>2]|0;
__gcry_mpi_mod($4,$4,$40);
} else {
__gcry_mpi_mod_barrett($4,$4,$37);
}
$41 = (__gcry_mpi_const(2)|0);
__gcry_mpi_add($4,$4,$41);
$42 = HEAP32[$36>>2]|0;
$43 = ($42|0)==(0|0);
if ($43) {
$44 = ((($1)) + 16|0);
$45 = HEAP32[$44>>2]|0;
__gcry_mpi_mod($4,$4,$45);
} else {
__gcry_mpi_mod_barrett($4,$4,$42);
}
__gcry_mpi_mul($4,$4,$2);
$46 = HEAP32[$36>>2]|0;
$47 = ($46|0)==(0|0);
if ($47) {
$48 = ((($1)) + 16|0);
$49 = HEAP32[$48>>2]|0;
__gcry_mpi_mod($4,$4,$49);
} else {
__gcry_mpi_mod_barrett($4,$4,$46);
}
__gcry_mpi_mul($3,$2,$2);
$50 = HEAP32[$36>>2]|0;
$51 = ($50|0)==(0|0);
if ($51) {
$52 = ((($1)) + 16|0);
$53 = HEAP32[$52>>2]|0;
__gcry_mpi_mod($3,$3,$53);
} else {
__gcry_mpi_mod_barrett($3,$3,$50);
}
__gcry_mpi_add($4,$4,$3);
$54 = HEAP32[$36>>2]|0;
$55 = ($54|0)==(0|0);
if ($55) {
$56 = ((($1)) + 16|0);
$57 = HEAP32[$56>>2]|0;
__gcry_mpi_mod($4,$4,$57);
} else {
__gcry_mpi_mod_barrett($4,$4,$54);
}
$58 = (__gcry_mpi_const(1)|0);
__gcry_mpi_add($4,$4,$58);
$59 = HEAP32[$36>>2]|0;
$60 = ($59|0)==(0|0);
if ($60) {
$61 = ((($1)) + 16|0);
$62 = HEAP32[$61>>2]|0;
__gcry_mpi_mod($4,$4,$62);
} else {
__gcry_mpi_mod_barrett($4,$4,$59);
}
__gcry_mpi_mul($4,$4,$2);
$63 = HEAP32[$36>>2]|0;
$64 = ($63|0)==(0|0);
if ($64) {
$65 = ((($1)) + 16|0);
$66 = HEAP32[$65>>2]|0;
__gcry_mpi_mod($4,$4,$66);
} else {
__gcry_mpi_mod_barrett($4,$4,$63);
}
$67 = ((($1)) + 24|0);
$68 = HEAP32[$67>>2]|0;
__gcry_mpi_mul($4,$4,$68);
$69 = HEAP32[$36>>2]|0;
$70 = ($69|0)==(0|0);
if ($70) {
$71 = ((($1)) + 16|0);
$72 = HEAP32[$71>>2]|0;
__gcry_mpi_mod($4,$4,$72);
$$pre$phi139Z2D = $71;
} else {
__gcry_mpi_mod_barrett($4,$4,$69);
$$pre138 = ((($1)) + 16|0);
$$pre$phi139Z2D = $$pre138;
}
$73 = HEAP32[$$pre$phi139Z2D>>2]|0;
$74 = (__gcry_mpi_const(1)|0);
__gcry_mpi_sub($3,$73,$74);
__gcry_mpi_rshift($3,$3,1);
$$idx$val = HEAP32[$$pre$phi139Z2D>>2]|0;
__gcry_mpi_powm($4,$4,$3,$$idx$val);
$75 = (__gcry_mpi_cmp_ui($4,1)|0);
$$2 = $75;
break;
}
case 2: {
$76 = (__gcry_mpi_ec_get_affine($2,$3,$0,$1)|0);
$77 = ($76|0)==(0);
if (!($77)) {
$$1 = 0;
return ($$1|0);
}
__gcry_mpi_mul($2,$2,$2);
$78 = ((($1)) + 60|0);
$79 = HEAP32[$78>>2]|0;
$80 = ($79|0)==(0|0);
if ($80) {
$81 = ((($1)) + 16|0);
$82 = HEAP32[$81>>2]|0;
__gcry_mpi_mod($2,$2,$82);
} else {
__gcry_mpi_mod_barrett($2,$2,$79);
}
__gcry_mpi_mul($3,$3,$3);
$83 = HEAP32[$78>>2]|0;
$84 = ($83|0)==(0|0);
if ($84) {
$85 = ((($1)) + 16|0);
$86 = HEAP32[$85>>2]|0;
__gcry_mpi_mod($3,$3,$86);
} else {
__gcry_mpi_mod_barrett($3,$3,$83);
}
$87 = ((($1)) + 4|0);
$88 = HEAP32[$87>>2]|0;
$89 = ($88|0)==(1);
do {
if ($89) {
(__gcry_mpi_set($4,$2)|0);
__gcry_mpi_neg($4,$4);
} else {
$90 = ((($1)) + 20|0);
$91 = HEAP32[$90>>2]|0;
__gcry_mpi_mul($4,$91,$2);
$92 = HEAP32[$78>>2]|0;
$93 = ($92|0)==(0|0);
if ($93) {
$94 = ((($1)) + 16|0);
$95 = HEAP32[$94>>2]|0;
__gcry_mpi_mod($4,$4,$95);
break;
} else {
__gcry_mpi_mod_barrett($4,$4,$92);
break;
}
}
} while(0);
__gcry_mpi_add($4,$4,$3);
$96 = HEAP32[$78>>2]|0;
$97 = ($96|0)==(0|0);
if ($97) {
$98 = ((($1)) + 16|0);
$99 = HEAP32[$98>>2]|0;
__gcry_mpi_mod($4,$4,$99);
} else {
__gcry_mpi_mod_barrett($4,$4,$96);
}
$100 = (__gcry_mpi_const(1)|0);
__gcry_mpi_sub($4,$4,$100);
__gcry_mpi_mul($2,$2,$3);
$101 = HEAP32[$78>>2]|0;
$102 = ($101|0)==(0|0);
if ($102) {
$103 = ((($1)) + 16|0);
$104 = HEAP32[$103>>2]|0;
__gcry_mpi_mod($2,$2,$104);
} else {
__gcry_mpi_mod_barrett($2,$2,$101);
}
$105 = ((($1)) + 24|0);
$106 = HEAP32[$105>>2]|0;
__gcry_mpi_mul($2,$2,$106);
$107 = HEAP32[$78>>2]|0;
$108 = ($107|0)==(0|0);
if ($108) {
$109 = ((($1)) + 16|0);
$110 = HEAP32[$109>>2]|0;
__gcry_mpi_mod($2,$2,$110);
} else {
__gcry_mpi_mod_barrett($2,$2,$107);
}
__gcry_mpi_sub($4,$4,$2);
$111 = (__gcry_mpi_cmp_ui($4,0)|0);
$112 = ($111|0)==(0);
$spec$select122 = $112&1;
$$2 = $spec$select122;
break;
}
default: {
$$2 = 0;
}
}
__gcry_mpi_release($4);
__gcry_mpi_release($2);
__gcry_mpi_release($3);
$$1 = $$2;
return ($$1|0);
}
function __gcry_mpi_add_ui($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$024$i = 0, $$02637$i = 0, $$02637$i62 = 0, $$02836$i = 0, $$02836$i63 = 0, $$035$i = 0, $$035$i69 = 0, $$052 = 0, $$1$i = 0, $$1$i66 = 0, $$127$i = 0, $$127$i65 = 0, $$129$i = 0, $$129$i64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $exitcond$i = 0, $exitcond$i70 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($1)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($1)) + 8|0);
$6 = HEAP32[$5>>2]|0;
$7 = HEAP32[$0>>2]|0;
$8 = ($7|0)>($4|0);
if (!($8)) {
$9 = (($4) + 1)|0;
__gcry_mpi_resize($0,$9);
}
$10 = ((($1)) + 16|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 16|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($4|0)==(0);
if ($14) {
HEAP32[$13>>2] = $2;
$15 = ($2|0)!=(0);
$16 = $15&1;
$$0 = $16;$$052 = 0;
$74 = ((($0)) + 4|0);
HEAP32[$74>>2] = $$0;
$75 = ((($0)) + 8|0);
HEAP32[$75>>2] = $$052;
return;
}
$17 = ($6|0)==(0);
if ($17) {
$18 = ((($11)) + 4|0);
$19 = HEAP32[$11>>2]|0;
$20 = (($19) + ($2))|0;
$21 = ((($13)) + 4|0);
HEAP32[$13>>2] = $20;
$22 = ($20>>>0)<($19>>>0);
L10: do {
if ($22) {
$23 = (($4) + -1)|0;
$24 = ($23|0)==(0);
if ($24) {
$$024$i = 1;
} else {
$$02637$i = $18;$$02836$i = $21;$26 = $23;
while(1) {
$28 = ((($$02637$i)) + 4|0);
$29 = HEAP32[$$02637$i>>2]|0;
$30 = (($29) + 1)|0;
$31 = ((($$02836$i)) + 4|0);
HEAP32[$$02836$i>>2] = $30;
$32 = ($30|0)==(0);
if (!($32)) {
$$1$i = $26;$$127$i = $28;$$129$i = $31;
label = 11;
break L10;
}
$25 = (($26) + -1)|0;
$27 = ($25|0)==(0);
if ($27) {
$$024$i = 1;
break;
} else {
$$02637$i = $28;$$02836$i = $31;$26 = $25;
}
}
}
} else {
$$1$i = $4;$$127$i = $18;$$129$i = $21;
label = 11;
}
} while(0);
if ((label|0) == 11) {
$33 = ($$129$i|0)==($$127$i|0);
if ($33) {
$$024$i = 0;
} else {
$34 = (($$1$i) + -1)|0;
$35 = ($$1$i|0)>(1);
if ($35) {
$$035$i = 0;
while(1) {
$36 = (($$127$i) + ($$035$i<<2)|0);
$37 = HEAP32[$36>>2]|0;
$38 = (($$129$i) + ($$035$i<<2)|0);
HEAP32[$38>>2] = $37;
$39 = (($$035$i) + 1)|0;
$exitcond$i = ($39|0)==($34|0);
if ($exitcond$i) {
$$024$i = 0;
break;
} else {
$$035$i = $39;
}
}
} else {
$$024$i = 0;
}
}
}
$40 = (($13) + ($4<<2)|0);
HEAP32[$40>>2] = $$024$i;
$41 = (($$024$i) + ($4))|0;
$$0 = $41;$$052 = 0;
$74 = ((($0)) + 4|0);
HEAP32[$74>>2] = $$0;
$75 = ((($0)) + 8|0);
HEAP32[$75>>2] = $$052;
return;
}
$42 = ($4|0)==(1);
L25: do {
if ($42) {
$43 = HEAP32[$11>>2]|0;
$44 = ($43>>>0)<($2>>>0);
if (!($44)) {
$67 = (($43) - ($2))|0;
HEAP32[$13>>2] = $67;
break;
}
$45 = (($2) - ($43))|0;
HEAP32[$13>>2] = $45;
$$0 = 1;$$052 = 0;
$74 = ((($0)) + 4|0);
HEAP32[$74>>2] = $$0;
$75 = ((($0)) + 8|0);
HEAP32[$75>>2] = $$052;
return;
} else {
$46 = ((($11)) + 4|0);
$47 = HEAP32[$11>>2]|0;
$48 = (($47) - ($2))|0;
$49 = ((($13)) + 4|0);
HEAP32[$13>>2] = $48;
$50 = ($48>>>0)>($47>>>0);
L32: do {
if ($50) {
$51 = (($4) + -1)|0;
$$02637$i62 = $46;$$02836$i63 = $49;$53 = $51;
while(1) {
$55 = ((($$02637$i62)) + 4|0);
$56 = HEAP32[$$02637$i62>>2]|0;
$57 = (($56) + -1)|0;
$58 = ((($$02836$i63)) + 4|0);
HEAP32[$$02836$i63>>2] = $57;
$59 = ($56|0)==(0);
if (!($59)) {
$$1$i66 = $53;$$127$i65 = $55;$$129$i64 = $58;
break L32;
}
$52 = (($53) + -1)|0;
$54 = ($52|0)==(0);
if ($54) {
break L25;
} else {
$$02637$i62 = $55;$$02836$i63 = $58;$53 = $52;
}
}
} else {
$$1$i66 = $4;$$127$i65 = $46;$$129$i64 = $49;
}
} while(0);
$60 = ($$129$i64|0)==($$127$i65|0);
if (!($60)) {
$61 = (($$1$i66) + -1)|0;
$62 = ($$1$i66|0)>(1);
if ($62) {
$$035$i69 = 0;
while(1) {
$63 = (($$127$i65) + ($$035$i69<<2)|0);
$64 = HEAP32[$63>>2]|0;
$65 = (($$129$i64) + ($$035$i69<<2)|0);
HEAP32[$65>>2] = $64;
$66 = (($$035$i69) + 1)|0;
$exitcond$i70 = ($66|0)==($61|0);
if ($exitcond$i70) {
break;
} else {
$$035$i69 = $66;
}
}
}
}
}
} while(0);
$68 = (($4) + -1)|0;
$69 = (($13) + ($68<<2)|0);
$70 = HEAP32[$69>>2]|0;
$71 = ($70|0)==(0);
$72 = $71&1;
$73 = (($4) - ($72))|0;
$$0 = $73;$$052 = 1;
$74 = ((($0)) + 4|0);
HEAP32[$74>>2] = $$0;
$75 = ((($0)) + 8|0);
HEAP32[$75>>2] = $$052;
return;
}
function __gcry_mpi_add($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$in = 0, $$0107150 = 0, $$0109 = 0, $$0110 = 0, $$0111161 = 0, $$0113 = 0, $$0114 = 0, $$0115 = 0, $$0115$in = 0, $$01619$i = 0, $$01619$in$i = 0, $$02637$i$i = 0, $$02637$i$i122 = 0, $$02836$i$i = 0, $$02836$i$i123 = 0, $$035$i$i = 0, $$035$i$i129 = 0, $$1 = 0, $$1$i$i = 0;
var $$1$i$i126 = 0, $$1$i131 = 0, $$1112$lcssa$ph = 0, $$1112155 = 0, $$127$i$i = 0, $$127$i$i125 = 0, $$129$i$i = 0, $$129$i$i124 = 0, $$2$lcssa = 0, $$2151 = 0, $$3 = 0, $$pn = 0, $$pn116 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0;
var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond$i$i = 0, $exitcond$i$i130 = 0, $spec$select = 0, $spec$select117 = 0, $spec$select118 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($1)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($2)) + 4|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($4|0)<($6|0);
if ($7) {
$8 = ((($2)) + 8|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($1)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = HEAP32[$0>>2]|0;
$13 = ($12|0)>($6|0);
if ($13) {
$$0109 = $11;$$0110 = $9;$$0113 = $4;$$0114 = $6;$$pn = $1;$$pn116 = $2;
} else {
$14 = (($6) + 1)|0;
__gcry_mpi_resize($0,$14);
$$0109 = $11;$$0110 = $9;$$0113 = $4;$$0114 = $6;$$pn = $1;$$pn116 = $2;
}
} else {
$15 = ((($1)) + 8|0);
$16 = HEAP32[$15>>2]|0;
$17 = ((($2)) + 8|0);
$18 = HEAP32[$17>>2]|0;
$19 = HEAP32[$0>>2]|0;
$20 = ($19|0)>($4|0);
if ($20) {
$$0109 = $18;$$0110 = $16;$$0113 = $6;$$0114 = $4;$$pn = $2;$$pn116 = $1;
} else {
$21 = (($4) + 1)|0;
__gcry_mpi_resize($0,$21);
$$0109 = $18;$$0110 = $16;$$0113 = $6;$$0114 = $4;$$pn = $2;$$pn116 = $1;
}
}
$$0$in = ((($$pn116)) + 16|0);
$$0115$in = ((($$pn)) + 16|0);
$$0 = HEAP32[$$0$in>>2]|0;
$$0115 = HEAP32[$$0115$in>>2]|0;
$22 = ((($0)) + 16|0);
$23 = HEAP32[$22>>2]|0;
$24 = ($$0113|0)==(0);
if ($24) {
$25 = ($$0114|0)>(0);
if (!($25)) {
$$1 = $$0110;$$3 = $$0114;
$115 = ((($0)) + 4|0);
HEAP32[$115>>2] = $$3;
$116 = ((($0)) + 8|0);
HEAP32[$116>>2] = $$1;
return;
}
$$0107150 = 0;
while(1) {
$26 = (($$0) + ($$0107150<<2)|0);
$27 = HEAP32[$26>>2]|0;
$28 = (($23) + ($$0107150<<2)|0);
HEAP32[$28>>2] = $27;
$29 = (($$0107150) + 1)|0;
$exitcond = ($29|0)==($$0114|0);
if ($exitcond) {
$$1 = $$0110;$$3 = $$0114;
break;
} else {
$$0107150 = $29;
}
}
$115 = ((($0)) + 4|0);
HEAP32[$115>>2] = $$3;
$116 = ((($0)) + 8|0);
HEAP32[$116>>2] = $$1;
return;
}
$30 = ($$0110|0)==($$0109|0);
if ($30) {
$85 = (__gcry_mpih_add_n($23,$$0,$$0115,$$0113)|0);
$86 = (($$0114) - ($$0113))|0;
$87 = ($86|0)==(0);
L18: do {
if ($87) {
$$1$i131 = $85;
} else {
$88 = (($23) + ($$0113<<2)|0);
$89 = (($$0) + ($$0113<<2)|0);
$90 = ((($89)) + 4|0);
$91 = HEAP32[$89>>2]|0;
$92 = (($91) + ($85))|0;
$93 = ((($88)) + 4|0);
HEAP32[$88>>2] = $92;
$94 = ($92>>>0)<($91>>>0);
L20: do {
if ($94) {
$95 = (($86) + -1)|0;
$96 = ($95|0)==(0);
if ($96) {
$$1$i131 = 1;
break L18;
}
$$02637$i$i122 = $90;$$02836$i$i123 = $93;$98 = $95;
while(1) {
$100 = ((($$02637$i$i122)) + 4|0);
$101 = HEAP32[$$02637$i$i122>>2]|0;
$102 = (($101) + 1)|0;
$103 = ((($$02836$i$i123)) + 4|0);
HEAP32[$$02836$i$i123>>2] = $102;
$104 = ($102|0)==(0);
if (!($104)) {
$$1$i$i126 = $98;$$127$i$i125 = $100;$$129$i$i124 = $103;
break L20;
}
$97 = (($98) + -1)|0;
$99 = ($97|0)==(0);
if ($99) {
$$1$i131 = 1;
break L18;
} else {
$$02637$i$i122 = $100;$$02836$i$i123 = $103;$98 = $97;
}
}
} else {
$$1$i$i126 = $86;$$127$i$i125 = $90;$$129$i$i124 = $93;
}
} while(0);
$105 = ($$129$i$i124|0)==($$127$i$i125|0);
if ($105) {
$$1$i131 = 0;
} else {
$106 = (($$1$i$i126) + -1)|0;
$107 = ($$1$i$i126|0)>(1);
if ($107) {
$$035$i$i129 = 0;
while(1) {
$108 = (($$127$i$i125) + ($$035$i$i129<<2)|0);
$109 = HEAP32[$108>>2]|0;
$110 = (($$129$i$i124) + ($$035$i$i129<<2)|0);
HEAP32[$110>>2] = $109;
$111 = (($$035$i$i129) + 1)|0;
$exitcond$i$i130 = ($111|0)==($106|0);
if ($exitcond$i$i130) {
$$1$i131 = 0;
break;
} else {
$$035$i$i129 = $111;
}
}
} else {
$$1$i131 = 0;
}
}
}
} while(0);
$112 = (($23) + ($$0114<<2)|0);
HEAP32[$112>>2] = $$1$i131;
$113 = (($$1$i131) + ($$0114))|0;
$114 = ($$0110|0)!=(0);
$spec$select118 = $114&1;
$$1 = $spec$select118;$$3 = $113;
$115 = ((($0)) + 4|0);
HEAP32[$115>>2] = $$3;
$116 = ((($0)) + 8|0);
HEAP32[$116>>2] = $$1;
return;
}
$31 = ($$0114|0)==($$0113|0);
if ($31) {
$65 = ($$0114|0)>(0);
L36: do {
if ($65) {
$$01619$in$i = $$0114;
while(1) {
$$01619$i = (($$01619$in$i) + -1)|0;
$67 = (($$0) + ($$01619$i<<2)|0);
$68 = HEAP32[$67>>2]|0;
$69 = (($$0115) + ($$01619$i<<2)|0);
$70 = HEAP32[$69>>2]|0;
$71 = ($68|0)==($70|0);
if (!($71)) {
label = 31;
break;
}
$66 = ($$01619$in$i|0)>(1);
if ($66) {
$$01619$in$i = $$01619$i;
} else {
break;
}
}
if ((label|0) == 31) {
$72 = ($68>>>0)>($70>>>0);
if (!($72)) {
(__gcry_mpih_sub_n($23,$$0115,$$0,$$0114)|0);
$$1112155 = $$0114;
while(1) {
$74 = (($$1112155) + -1)|0;
$75 = (($23) + ($74<<2)|0);
$76 = HEAP32[$75>>2]|0;
$77 = ($76|0)==(0);
if (!($77)) {
$$1112$lcssa$ph = $$1112155;
break;
}
$73 = ($$1112155|0)>(1);
if ($73) {
$$1112155 = $74;
} else {
$$1112$lcssa$ph = $74;
break;
}
}
$78 = ($$0110|0)==(0);
$spec$select = $78&1;
$$1 = $spec$select;$$3 = $$1112$lcssa$ph;
$115 = ((($0)) + 4|0);
HEAP32[$115>>2] = $$3;
$116 = ((($0)) + 8|0);
HEAP32[$116>>2] = $$1;
return;
}
}
(__gcry_mpih_sub_n($23,$$0,$$0115,$$0114)|0);
if ($65) {
$$2151 = $$0114;
while(1) {
$80 = (($$2151) + -1)|0;
$81 = (($23) + ($80<<2)|0);
$82 = HEAP32[$81>>2]|0;
$83 = ($82|0)==(0);
if (!($83)) {
$$2$lcssa = $$2151;
break L36;
}
$79 = ($$2151|0)>(1);
if ($79) {
$$2151 = $80;
} else {
$$2$lcssa = $80;
break;
}
}
} else {
$$2$lcssa = $$0114;
}
} else {
(__gcry_mpih_sub_n($23,$$0,$$0115,$$0114)|0);
$$2$lcssa = $$0114;
}
} while(0);
$84 = ($$0110|0)!=(0);
$spec$select117 = $84&1;
$$1 = $spec$select117;$$3 = $$2$lcssa;
$115 = ((($0)) + 4|0);
HEAP32[$115>>2] = $$3;
$116 = ((($0)) + 8|0);
HEAP32[$116>>2] = $$1;
return;
} else {
$32 = (__gcry_mpih_sub_n($23,$$0,$$0115,$$0113)|0);
$33 = (($$0114) - ($$0113))|0;
$34 = ($33|0)==(0);
L58: do {
if (!($34)) {
$35 = (($23) + ($$0113<<2)|0);
$36 = (($$0) + ($$0113<<2)|0);
$37 = ((($36)) + 4|0);
$38 = HEAP32[$36>>2]|0;
$39 = (($38) - ($32))|0;
$40 = ((($35)) + 4|0);
HEAP32[$35>>2] = $39;
$41 = ($39>>>0)>($38>>>0);
L60: do {
if ($41) {
$42 = (($33) + -1)|0;
$43 = ($42|0)==(0);
if ($43) {
break L58;
}
$$02637$i$i = $37;$$02836$i$i = $40;$45 = $42;
while(1) {
$47 = ((($$02637$i$i)) + 4|0);
$48 = HEAP32[$$02637$i$i>>2]|0;
$49 = (($48) + -1)|0;
$50 = ((($$02836$i$i)) + 4|0);
HEAP32[$$02836$i$i>>2] = $49;
$51 = ($48|0)==(0);
if (!($51)) {
$$1$i$i = $45;$$127$i$i = $47;$$129$i$i = $50;
break L60;
}
$44 = (($45) + -1)|0;
$46 = ($44|0)==(0);
if ($46) {
break L58;
} else {
$$02637$i$i = $47;$$02836$i$i = $50;$45 = $44;
}
}
} else {
$$1$i$i = $33;$$127$i$i = $37;$$129$i$i = $40;
}
} while(0);
$52 = ($$129$i$i|0)==($$127$i$i|0);
if (!($52)) {
$53 = (($$1$i$i) + -1)|0;
$54 = ($$1$i$i|0)>(1);
if ($54) {
$$035$i$i = 0;
while(1) {
$55 = (($$127$i$i) + ($$035$i$i<<2)|0);
$56 = HEAP32[$55>>2]|0;
$57 = (($$129$i$i) + ($$035$i$i<<2)|0);
HEAP32[$57>>2] = $56;
$58 = (($$035$i$i) + 1)|0;
$exitcond$i$i = ($58|0)==($53|0);
if ($exitcond$i$i) {
break;
} else {
$$035$i$i = $58;
}
}
}
}
}
} while(0);
$59 = ($$0114|0)>(0);
if (!($59)) {
$$1 = $$0110;$$3 = $$0114;
$115 = ((($0)) + 4|0);
HEAP32[$115>>2] = $$3;
$116 = ((($0)) + 8|0);
HEAP32[$116>>2] = $$1;
return;
}
$$0111161 = $$0114;
while(1) {
$61 = (($$0111161) + -1)|0;
$62 = (($23) + ($61<<2)|0);
$63 = HEAP32[$62>>2]|0;
$64 = ($63|0)==(0);
if (!($64)) {
$$1 = $$0110;$$3 = $$0111161;
label = 52;
break;
}
$60 = ($$0111161|0)>(1);
if ($60) {
$$0111161 = $61;
} else {
$$1 = $$0110;$$3 = $61;
label = 52;
break;
}
}
if ((label|0) == 52) {
$115 = ((($0)) + 4|0);
HEAP32[$115>>2] = $$3;
$116 = ((($0)) + 8|0);
HEAP32[$116>>2] = $$1;
return;
}
}
}
function __gcry_mpi_sub_ui($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$024$i = 0, $$02637$i = 0, $$02637$i62 = 0, $$02836$i = 0, $$02836$i63 = 0, $$035$i = 0, $$035$i69 = 0, $$052 = 0, $$1$i = 0, $$1$i66 = 0, $$127$i = 0, $$127$i65 = 0, $$129$i = 0, $$129$i64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $exitcond$i = 0, $exitcond$i70 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($1)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($1)) + 8|0);
$6 = HEAP32[$5>>2]|0;
$7 = HEAP32[$0>>2]|0;
$8 = ($7|0)>($4|0);
if (!($8)) {
$9 = (($4) + 1)|0;
__gcry_mpi_resize($0,$9);
}
$10 = ((($1)) + 16|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 16|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($4|0)==(0);
if ($14) {
HEAP32[$13>>2] = $2;
$15 = ($2|0)!=(0);
$16 = $15&1;
$$0 = $16;$$052 = 1;
$74 = ((($0)) + 4|0);
HEAP32[$74>>2] = $$0;
$75 = ((($0)) + 8|0);
HEAP32[$75>>2] = $$052;
return;
}
$17 = ($6|0)==(0);
if (!($17)) {
$18 = ((($11)) + 4|0);
$19 = HEAP32[$11>>2]|0;
$20 = (($19) + ($2))|0;
$21 = ((($13)) + 4|0);
HEAP32[$13>>2] = $20;
$22 = ($20>>>0)<($19>>>0);
L10: do {
if ($22) {
$23 = (($4) + -1)|0;
$24 = ($23|0)==(0);
if ($24) {
$$024$i = 1;
} else {
$$02637$i = $18;$$02836$i = $21;$26 = $23;
while(1) {
$28 = ((($$02637$i)) + 4|0);
$29 = HEAP32[$$02637$i>>2]|0;
$30 = (($29) + 1)|0;
$31 = ((($$02836$i)) + 4|0);
HEAP32[$$02836$i>>2] = $30;
$32 = ($30|0)==(0);
if (!($32)) {
$$1$i = $26;$$127$i = $28;$$129$i = $31;
label = 11;
break L10;
}
$25 = (($26) + -1)|0;
$27 = ($25|0)==(0);
if ($27) {
$$024$i = 1;
break;
} else {
$$02637$i = $28;$$02836$i = $31;$26 = $25;
}
}
}
} else {
$$1$i = $4;$$127$i = $18;$$129$i = $21;
label = 11;
}
} while(0);
if ((label|0) == 11) {
$33 = ($$129$i|0)==($$127$i|0);
if ($33) {
$$024$i = 0;
} else {
$34 = (($$1$i) + -1)|0;
$35 = ($$1$i|0)>(1);
if ($35) {
$$035$i = 0;
while(1) {
$36 = (($$127$i) + ($$035$i<<2)|0);
$37 = HEAP32[$36>>2]|0;
$38 = (($$129$i) + ($$035$i<<2)|0);
HEAP32[$38>>2] = $37;
$39 = (($$035$i) + 1)|0;
$exitcond$i = ($39|0)==($34|0);
if ($exitcond$i) {
$$024$i = 0;
break;
} else {
$$035$i = $39;
}
}
} else {
$$024$i = 0;
}
}
}
$40 = (($13) + ($4<<2)|0);
HEAP32[$40>>2] = $$024$i;
$41 = (($$024$i) + ($4))|0;
$$0 = $41;$$052 = 0;
$74 = ((($0)) + 4|0);
HEAP32[$74>>2] = $$0;
$75 = ((($0)) + 8|0);
HEAP32[$75>>2] = $$052;
return;
}
$42 = ($4|0)==(1);
L25: do {
if ($42) {
$43 = HEAP32[$11>>2]|0;
$44 = ($43>>>0)<($2>>>0);
if (!($44)) {
$67 = (($43) - ($2))|0;
HEAP32[$13>>2] = $67;
break;
}
$45 = (($2) - ($43))|0;
HEAP32[$13>>2] = $45;
$$0 = 1;$$052 = 1;
$74 = ((($0)) + 4|0);
HEAP32[$74>>2] = $$0;
$75 = ((($0)) + 8|0);
HEAP32[$75>>2] = $$052;
return;
} else {
$46 = ((($11)) + 4|0);
$47 = HEAP32[$11>>2]|0;
$48 = (($47) - ($2))|0;
$49 = ((($13)) + 4|0);
HEAP32[$13>>2] = $48;
$50 = ($48>>>0)>($47>>>0);
L32: do {
if ($50) {
$51 = (($4) + -1)|0;
$$02637$i62 = $46;$$02836$i63 = $49;$53 = $51;
while(1) {
$55 = ((($$02637$i62)) + 4|0);
$56 = HEAP32[$$02637$i62>>2]|0;
$57 = (($56) + -1)|0;
$58 = ((($$02836$i63)) + 4|0);
HEAP32[$$02836$i63>>2] = $57;
$59 = ($56|0)==(0);
if (!($59)) {
$$1$i66 = $53;$$127$i65 = $55;$$129$i64 = $58;
break L32;
}
$52 = (($53) + -1)|0;
$54 = ($52|0)==(0);
if ($54) {
break L25;
} else {
$$02637$i62 = $55;$$02836$i63 = $58;$53 = $52;
}
}
} else {
$$1$i66 = $4;$$127$i65 = $46;$$129$i64 = $49;
}
} while(0);
$60 = ($$129$i64|0)==($$127$i65|0);
if (!($60)) {
$61 = (($$1$i66) + -1)|0;
$62 = ($$1$i66|0)>(1);
if ($62) {
$$035$i69 = 0;
while(1) {
$63 = (($$127$i65) + ($$035$i69<<2)|0);
$64 = HEAP32[$63>>2]|0;
$65 = (($$129$i64) + ($$035$i69<<2)|0);
HEAP32[$65>>2] = $64;
$66 = (($$035$i69) + 1)|0;
$exitcond$i70 = ($66|0)==($61|0);
if ($exitcond$i70) {
break;
} else {
$$035$i69 = $66;
}
}
}
}
}
} while(0);
$68 = (($4) + -1)|0;
$69 = (($13) + ($68<<2)|0);
$70 = HEAP32[$69>>2]|0;
$71 = ($70|0)==(0);
$72 = $71&1;
$73 = (($4) - ($72))|0;
$$0 = $73;$$052 = 0;
$74 = ((($0)) + 4|0);
HEAP32[$74>>2] = $$0;
$75 = ((($0)) + 8|0);
HEAP32[$75>>2] = $$052;
return;
}
function __gcry_mpi_sub($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_mpi_copy($2)|0);
$4 = ((($3)) + 8|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0);
$7 = $6&1;
HEAP32[$4>>2] = $7;
__gcry_mpi_add($0,$1,$3);
__gcry_mpi_free($3);
return;
}
function __gcry_mpi_addm($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_add($0,$1,$2);
__gcry_mpi_mod($0,$0,$3);
return;
}
function __gcry_mpi_subm($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (__gcry_mpi_copy($2)|0);
$5 = ((($4)) + 8|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0);
$8 = $7&1;
HEAP32[$5>>2] = $8;
__gcry_mpi_add($0,$1,$4);
__gcry_mpi_free($4);
__gcry_mpi_mod($0,$0,$3);
return;
}
function __gcry_mpi_normalize($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if (!($1)) {
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 4;
$5 = ($4|0)==(0);
if (!($5)) {
return;
}
}
$6 = ((($0)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0);
if ($8) {
return;
}
$9 = ((($0)) + 16|0);
$10 = HEAP32[$9>>2]|0;
$12 = $7;
while(1) {
$11 = (($12) + -1)|0;
$13 = (($10) + ($11<<2)|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)==(0);
if (!($15)) {
label = 7;
break;
}
HEAP32[$6>>2] = $11;
$16 = ($11|0)==(0);
if ($16) {
label = 7;
break;
} else {
$12 = $11;
}
}
if ((label|0) == 7) {
return;
}
}
function __gcry_mpi_get_nbits($0) {
$0 = $0|0;
var $$0 = 0, $$024 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
L1: do {
if ($1) {
$8 = HEAP32[(4)>>2]|0;
$9 = ($8|0)==(0);
if (!($9)) {
$10 = HEAP32[(16)>>2]|0;
$12 = $8;
while(1) {
$11 = (($12) + -1)|0;
$13 = (($10) + ($11<<2)|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)==(0);
if (!($15)) {
break L1;
}
HEAP32[(4)>>2] = $11;
$16 = ($11|0)==(0);
if ($16) {
break;
} else {
$12 = $11;
}
}
}
} else {
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 4;
$5 = ($4|0)==(0);
if (!($5)) {
$6 = ((($0)) + 8|0);
$7 = HEAP32[$6>>2]|0;
$$0 = $7;
return ($$0|0);
}
$17 = ((($0)) + 4|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0);
if (!($19)) {
$20 = ((($0)) + 16|0);
$21 = HEAP32[$20>>2]|0;
$23 = $18;
while(1) {
$22 = (($23) + -1)|0;
$24 = (($21) + ($22<<2)|0);
$25 = HEAP32[$24>>2]|0;
$26 = ($25|0)==(0);
if (!($26)) {
break L1;
}
HEAP32[$17>>2] = $22;
$27 = ($22|0)==(0);
if ($27) {
break;
} else {
$23 = $22;
}
}
}
}
} while(0);
$28 = ((($0)) + 4|0);
$29 = HEAP32[$28>>2]|0;
$30 = ($29|0)==(0);
if ($30) {
$$0 = 0;
return ($$0|0);
}
$31 = ((($0)) + 16|0);
$32 = HEAP32[$31>>2]|0;
$33 = (($29) + -1)|0;
$34 = (($32) + ($33<<2)|0);
$35 = HEAP32[$34>>2]|0;
$36 = ($35|0)==(0);
if ($36) {
$$024 = 0;
} else {
$37 = ($35>>>0)<(65536);
$38 = ($35>>>0)<(256);
$39 = $38 ? 0 : 8;
$40 = ($35>>>0)<(16777216);
$41 = $40 ? 16 : 24;
$42 = $37 ? $39 : $41;
$43 = $35 >>> $42;
$44 = (14784 + ($43)|0);
$45 = HEAP8[$44>>0]|0;
$46 = $45&255;
$47 = (($42) + ($46))|0;
$$024 = $47;
}
$48 = $29 << 5;
$49 = (($48) + -32)|0;
$50 = (($49) + ($$024))|0;
$$0 = $50;
return ($$0|0);
}
function __gcry_mpi_test_bit($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = $1 >>> 5;
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($2>>>0)<($4>>>0);
if (!($5)) {
$$0 = 0;
return ($$0|0);
}
$6 = $1 & 31;
$7 = ((($0)) + 16|0);
$8 = HEAP32[$7>>2]|0;
$9 = (($8) + ($2<<2)|0);
$10 = HEAP32[$9>>2]|0;
$11 = 1 << $6;
$12 = $10 & $11;
$13 = ($12|0)!=(0);
$14 = $13&1;
$$0 = $14;
return ($$0|0);
}
function __gcry_mpi_set_bit($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$022 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if (!($2)) {
$3 = ((($0)) + 12|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 16;
$6 = ($5|0)==(0);
if (!($6)) {
__gcry_mpi_immutable_failed();
return;
}
}
$7 = $1 >>> 5;
$8 = $1 & 31;
$9 = ((($0)) + 4|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($7>>>0)<($10>>>0);
if (!($11)) {
$12 = HEAP32[$0>>2]|0;
$13 = ($10>>>0)<($12>>>0);
if ($13) {
$14 = ((($0)) + 16|0);
$15 = HEAP32[$14>>2]|0;
$$022 = $10;
while(1) {
$16 = (($15) + ($$022<<2)|0);
HEAP32[$16>>2] = 0;
$17 = (($$022) + 1)|0;
$18 = HEAP32[$0>>2]|0;
$19 = ($17>>>0)<($18>>>0);
if ($19) {
$$022 = $17;
} else {
break;
}
}
}
$20 = (($7) + 1)|0;
__gcry_mpi_resize($0,$20);
HEAP32[$9>>2] = $20;
}
$21 = 1 << $8;
$22 = ((($0)) + 16|0);
$23 = HEAP32[$22>>2]|0;
$24 = (($23) + ($7<<2)|0);
$25 = HEAP32[$24>>2]|0;
$26 = $25 | $21;
HEAP32[$24>>2] = $26;
return;
}
function __gcry_mpi_set_highbit($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$03033 = 0, $$031 = 0, $$032 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if (!($2)) {
$3 = ((($0)) + 12|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 16;
$6 = ($5|0)==(0);
if (!($6)) {
__gcry_mpi_immutable_failed();
return;
}
}
$7 = $1 >>> 5;
$8 = $1 & 31;
$9 = ((($0)) + 4|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($7>>>0)<($10>>>0);
if (!($11)) {
$12 = HEAP32[$0>>2]|0;
$13 = ($10>>>0)<($12>>>0);
if ($13) {
$14 = ((($0)) + 16|0);
$15 = HEAP32[$14>>2]|0;
$$03033 = $10;
while(1) {
$16 = (($15) + ($$03033<<2)|0);
HEAP32[$16>>2] = 0;
$17 = (($$03033) + 1)|0;
$18 = HEAP32[$0>>2]|0;
$19 = ($17>>>0)<($18>>>0);
if ($19) {
$$03033 = $17;
} else {
break;
}
}
}
$20 = (($7) + 1)|0;
__gcry_mpi_resize($0,$20);
HEAP32[$9>>2] = $20;
}
$21 = 1 << $8;
$22 = ((($0)) + 16|0);
$23 = HEAP32[$22>>2]|0;
$24 = (($23) + ($7<<2)|0);
$25 = HEAP32[$24>>2]|0;
$26 = $25 | $21;
HEAP32[$24>>2] = $26;
$$031 = (($8) + 1)|0;
$27 = ($$031>>>0)<(32);
if ($27) {
$$032 = $$031;$31 = $26;
while(1) {
$28 = 1 << $$032;
$29 = $28 ^ -1;
$30 = $31 & $29;
$$0 = (($$032) + 1)|0;
$exitcond = ($$0|0)==(32);
if ($exitcond) {
break;
} else {
$$032 = $$0;$31 = $30;
}
}
HEAP32[$24>>2] = $30;
}
$32 = (($7) + 1)|0;
HEAP32[$9>>2] = $32;
return;
}
function __gcry_mpi_clear_highbit($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$015 = 0, $$promoted = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if (!($2)) {
$3 = ((($0)) + 12|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 16;
$6 = ($5|0)==(0);
if (!($6)) {
__gcry_mpi_immutable_failed();
return;
}
}
$7 = $1 >>> 5;
$8 = ((($0)) + 4|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($7>>>0)<($9>>>0);
if (!($10)) {
return;
}
$11 = $1 & 31;
$12 = ((($0)) + 16|0);
$13 = HEAP32[$12>>2]|0;
$14 = (($13) + ($7<<2)|0);
$$promoted = HEAP32[$14>>2]|0;
$$015 = $11;$18 = $$promoted;
while(1) {
$15 = 1 << $$015;
$16 = $15 ^ -1;
$17 = $18 & $16;
$19 = (($$015) + 1)|0;
$exitcond = ($19|0)==(32);
if ($exitcond) {
break;
} else {
$$015 = $19;$18 = $17;
}
}
HEAP32[$14>>2] = $17;
$20 = (($7) + 1)|0;
HEAP32[$8>>2] = $20;
return;
}
function __gcry_mpi_clear_bit($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if (!($2)) {
$3 = ((($0)) + 12|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 16;
$6 = ($5|0)==(0);
if (!($6)) {
__gcry_mpi_immutable_failed();
return;
}
}
$7 = $1 >>> 5;
$8 = ((($0)) + 4|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($7>>>0)<($9>>>0);
if (!($10)) {
return;
}
$11 = $1 & 31;
$12 = 1 << $11;
$13 = $12 ^ -1;
$14 = ((($0)) + 16|0);
$15 = HEAP32[$14>>2]|0;
$16 = (($15) + ($7<<2)|0);
$17 = HEAP32[$16>>2]|0;
$18 = $17 & $13;
HEAP32[$16>>2] = $18;
return;
}
function __gcry_mpi_rshift_limbs($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$lcssa = 0, $$022 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 16|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($0)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($0|0)==(0|0);
if (!($6)) {
$7 = ((($0)) + 12|0);
$8 = HEAP32[$7>>2]|0;
$9 = $8 & 16;
$10 = ($9|0)==(0);
if (!($10)) {
__gcry_mpi_immutable_failed();
return;
}
}
$11 = ($5>>>0)>($1>>>0);
if (!($11)) {
HEAP32[$4>>2] = 0;
return;
}
$12 = (($5) - ($1))|0;
$13 = ($12|0)==(0);
if ($13) {
$$0$lcssa = 0;
} else {
$$022 = 0;
while(1) {
$14 = (($$022) + ($1))|0;
$15 = (($3) + ($14<<2)|0);
$16 = HEAP32[$15>>2]|0;
$17 = (($3) + ($$022<<2)|0);
HEAP32[$17>>2] = $16;
$18 = (($$022) + 1)|0;
$exitcond = ($18|0)==($12|0);
if ($exitcond) {
$$0$lcssa = $12;
break;
} else {
$$022 = $18;
}
}
}
$19 = (($3) + ($$0$lcssa<<2)|0);
HEAP32[$19>>2] = 0;
$20 = HEAP32[$4>>2]|0;
$21 = (($20) - ($1))|0;
HEAP32[$4>>2] = $21;
return;
}
function __gcry_mpi_rshift($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$099 = 0, $$1111 = 0, $$2105 = 0, $$3102 = 0, $$lcssa116 = 0, $$lcssa117 = 0, $$pr = 0, $$pre$phi$phZ2D = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0;
var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = $2 >>> 5;
$4 = $2 & 31;
$5 = ($0|0)==(0|0);
if (!($5)) {
$6 = ((($0)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = $7 & 16;
$9 = ($8|0)==(0);
if (!($9)) {
__gcry_mpi_immutable_failed();
return;
}
}
$10 = ($0|0)==($1|0);
L6: do {
if ($10) {
$11 = ((($0)) + 4|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($3>>>0)<($12>>>0);
if (!($13)) {
HEAP32[$11>>2] = 0;
return;
}
$14 = ($3|0)==(0);
if ($14) {
$34 = $12;
} else {
$15 = ((($0)) + 16|0);
$16 = HEAP32[$15>>2]|0;
$17 = (($16) + ($3<<2)|0);
$18 = HEAP32[$17>>2]|0;
HEAP32[$16>>2] = $18;
$19 = HEAP32[$11>>2]|0;
$20 = (($19) - ($3))|0;
$21 = ($20>>>0)>(1);
if ($21) {
$$099 = 1;
while(1) {
$22 = (($$099) + ($3))|0;
$23 = (($16) + ($22<<2)|0);
$24 = HEAP32[$23>>2]|0;
$25 = (($16) + ($$099<<2)|0);
HEAP32[$25>>2] = $24;
$26 = (($$099) + 1)|0;
$27 = HEAP32[$11>>2]|0;
$28 = (($27) - ($3))|0;
$29 = ($26>>>0)<($28>>>0);
if ($29) {
$$099 = $26;
} else {
$$lcssa116 = $26;
break;
}
}
} else {
$$lcssa116 = 1;
}
$30 = (($16) + ($$lcssa116<<2)|0);
HEAP32[$30>>2] = 0;
$31 = HEAP32[$11>>2]|0;
$32 = (($31) - ($3))|0;
HEAP32[$11>>2] = $32;
$34 = $32;
}
$33 = ($34|0)!=(0);
$35 = ($4|0)!=(0);
$or$cond = $35 & $33;
if ($or$cond) {
$36 = ((($0)) + 16|0);
$37 = HEAP32[$36>>2]|0;
(__gcry_mpih_rshift($37,$37,$34,$4)|0);
$$pre$phi$phZ2D = $11;
label = 34;
} else {
$$pre$phi$phZ2D = $11;
label = 34;
}
} else {
$38 = ($3|0)==(0);
$39 = ((($1)) + 4|0);
$40 = HEAP32[$39>>2]|0;
$41 = ((($1)) + 8|0);
$42 = HEAP32[$41>>2]|0;
$43 = ((($0)) + 8|0);
HEAP32[$43>>2] = $42;
$44 = HEAP32[$0>>2]|0;
$45 = ($44|0)<($40|0);
if ($38) {
if ($45) {
__gcry_mpi_resize($0,$40);
}
$81 = ((($0)) + 4|0);
HEAP32[$81>>2] = $40;
$82 = ($40|0)==(0);
if ($82) {
return;
}
$83 = ($4|0)==(0);
if (!($83)) {
$84 = ((($0)) + 16|0);
$85 = HEAP32[$84>>2]|0;
$86 = ((($1)) + 16|0);
$87 = HEAP32[$86>>2]|0;
(__gcry_mpih_rshift($85,$87,$40,$4)|0);
$$pre$phi$phZ2D = $81;
label = 34;
break;
}
$88 = ((($1)) + 16|0);
$89 = HEAP32[$88>>2]|0;
$90 = ((($0)) + 16|0);
$91 = HEAP32[$90>>2]|0;
$$3102 = 0;
while(1) {
$92 = (($89) + ($$3102<<2)|0);
$93 = HEAP32[$92>>2]|0;
$94 = (($91) + ($$3102<<2)|0);
HEAP32[$94>>2] = $93;
$95 = (($$3102) + 1)|0;
$96 = HEAP32[$81>>2]|0;
$97 = ($95>>>0)<($96>>>0);
if ($97) {
$$3102 = $95;
} else {
$$pre$phiZ2D = $81;$99 = $96;
break L6;
}
}
}
if ($45) {
__gcry_mpi_resize($0,$40);
}
$46 = ((($0)) + 4|0);
HEAP32[$46>>2] = $40;
$47 = HEAP32[$39>>2]|0;
$48 = ($47|0)==(0);
if ($48) {
$59 = 0;
} else {
$49 = ((($1)) + 16|0);
$50 = HEAP32[$49>>2]|0;
$51 = ((($0)) + 16|0);
$52 = HEAP32[$51>>2]|0;
$$1111 = 0;
while(1) {
$53 = (($50) + ($$1111<<2)|0);
$54 = HEAP32[$53>>2]|0;
$55 = (($52) + ($$1111<<2)|0);
HEAP32[$55>>2] = $54;
$56 = (($$1111) + 1)|0;
$57 = HEAP32[$39>>2]|0;
$58 = ($56>>>0)<($57>>>0);
if ($58) {
$$1111 = $56;
} else {
$59 = $56;
break;
}
}
}
HEAP32[$46>>2] = $59;
$60 = ($3>>>0)<($59>>>0);
if (!($60)) {
HEAP32[$46>>2] = 0;
return;
}
$61 = ((($0)) + 16|0);
$62 = HEAP32[$61>>2]|0;
$63 = (($62) + ($3<<2)|0);
$64 = HEAP32[$63>>2]|0;
HEAP32[$62>>2] = $64;
$65 = HEAP32[$46>>2]|0;
$66 = (($65) - ($3))|0;
$67 = ($66>>>0)>(1);
if ($67) {
$$2105 = 1;
while(1) {
$68 = (($$2105) + ($3))|0;
$69 = (($62) + ($68<<2)|0);
$70 = HEAP32[$69>>2]|0;
$71 = (($62) + ($$2105<<2)|0);
HEAP32[$71>>2] = $70;
$72 = (($$2105) + 1)|0;
$73 = HEAP32[$46>>2]|0;
$74 = (($73) - ($3))|0;
$75 = ($72>>>0)<($74>>>0);
if ($75) {
$$2105 = $72;
} else {
$$lcssa117 = $72;
break;
}
}
} else {
$$lcssa117 = 1;
}
$76 = (($62) + ($$lcssa117<<2)|0);
HEAP32[$76>>2] = 0;
$77 = HEAP32[$46>>2]|0;
$78 = (($77) - ($3))|0;
HEAP32[$46>>2] = $78;
$79 = ($78|0)!=(0);
$80 = ($4|0)!=(0);
$or$cond3 = $80 & $79;
if ($or$cond3) {
(__gcry_mpih_rshift($62,$62,$78,$4)|0);
$$pre$phi$phZ2D = $46;
label = 34;
} else {
$$pre$phiZ2D = $46;$99 = $78;
}
}
} while(0);
if ((label|0) == 34) {
$$pr = HEAP32[$$pre$phi$phZ2D>>2]|0;
$$pre$phiZ2D = $$pre$phi$phZ2D;$99 = $$pr;
}
$98 = ($99|0)>(0);
if (!($98)) {
return;
}
$100 = ((($0)) + 16|0);
$101 = HEAP32[$100>>2]|0;
$103 = $99;
while(1) {
$102 = (($103) + -1)|0;
$104 = (($101) + ($102<<2)|0);
$105 = HEAP32[$104>>2]|0;
$106 = ($105|0)==(0);
if (!($106)) {
label = 39;
break;
}
HEAP32[$$pre$phiZ2D>>2] = $102;
$107 = ($103|0)>(1);
if ($107) {
$103 = $102;
} else {
label = 39;
break;
}
}
if ((label|0) == 39) {
return;
}
}
function __gcry_mpi_lshift_limbs($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$032 = 0, $$032$in = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($1|0)!=(0);
$5 = ($3|0)!=(0);
$or$cond = $4 & $5;
if (!($or$cond)) {
return;
}
$6 = HEAP32[$0>>2]|0;
$7 = (($3) + ($1))|0;
$8 = ($6>>>0)<($7>>>0);
if ($8) {
__gcry_mpi_resize($0,$7);
}
$9 = ((($0)) + 16|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($3|0)>(0);
if ($11) {
$$032$in = $3;
while(1) {
$$032 = (($$032$in) + -1)|0;
$12 = (($10) + ($$032<<2)|0);
$13 = HEAP32[$12>>2]|0;
$14 = (($$032) + ($1))|0;
$15 = (($10) + ($14<<2)|0);
HEAP32[$15>>2] = $13;
$16 = ($$032$in|0)>(1);
if ($16) {
$$032$in = $$032;
} else {
break;
}
}
}
$17 = $1 << 2;
_memset(($10|0),0,($17|0))|0;
$18 = HEAP32[$2>>2]|0;
$19 = (($18) + ($1))|0;
HEAP32[$2>>2] = $19;
return;
}
function __gcry_mpi_lshift($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$032$i = 0, $$032$i63 = 0, $$032$in$i = 0, $$032$in$i62 = 0, $$067 = 0, $$pr = 0, $$pre = 0, $$pre$phi$phZ2D = 0, $$pre$phiZ2D = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = $2 >>> 5;
$4 = $2 & 31;
$5 = ($0|0)==(0|0);
if (!($5)) {
$6 = ((($0)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = $7 & 16;
$9 = ($8|0)==(0);
if (!($9)) {
__gcry_mpi_immutable_failed();
return;
}
}
$10 = ($0|0)!=($1|0);
$11 = ($2|0)!=(0);
$or$cond = $10 | $11;
if (!($or$cond)) {
return;
}
if ($10) {
$12 = ((($1)) + 4|0);
$13 = HEAP32[$12>>2]|0;
$14 = ((($1)) + 8|0);
$15 = HEAP32[$14>>2]|0;
$16 = HEAP32[$0>>2]|0;
$17 = (($3) + 1)|0;
$18 = (($17) + ($13))|0;
$19 = ($16>>>0)<($18>>>0);
if ($19) {
__gcry_mpi_resize($0,$18);
}
$20 = ((($0)) + 16|0);
$21 = HEAP32[$20>>2]|0;
$22 = ((($1)) + 16|0);
$23 = HEAP32[$22>>2]|0;
$24 = ($13|0)==(0);
if (!($24)) {
$$067 = 0;
while(1) {
$25 = (($23) + ($$067<<2)|0);
$26 = HEAP32[$25>>2]|0;
$27 = (($21) + ($$067<<2)|0);
HEAP32[$27>>2] = $26;
$28 = (($$067) + 1)|0;
$exitcond = ($28|0)==($13|0);
if ($exitcond) {
break;
} else {
$$067 = $28;
}
}
}
$29 = ((($0)) + 4|0);
HEAP32[$29>>2] = $13;
$30 = ((($1)) + 12|0);
$31 = HEAP32[$30>>2]|0;
$32 = ((($0)) + 12|0);
HEAP32[$32>>2] = $31;
$33 = ((($0)) + 8|0);
HEAP32[$33>>2] = $15;
}
$34 = ($3|0)==(0);
$35 = ($4|0)!=(0);
$or$cond3 = $34 | $35;
if ($or$cond3) {
if ($11) {
$53 = (($3) + 1)|0;
$54 = ((($0)) + 4|0);
$55 = HEAP32[$54>>2]|0;
$56 = ($55|0)==(0);
if (!($56)) {
$57 = HEAP32[$0>>2]|0;
$58 = (($55) + ($53))|0;
$59 = ($57>>>0)<($58>>>0);
if ($59) {
__gcry_mpi_resize($0,$58);
}
$60 = ((($0)) + 16|0);
$61 = HEAP32[$60>>2]|0;
$62 = ($55|0)>(0);
if ($62) {
$$032$in$i62 = $55;
while(1) {
$$032$i63 = (($$032$in$i62) + -1)|0;
$63 = (($61) + ($$032$i63<<2)|0);
$64 = HEAP32[$63>>2]|0;
$65 = (($$032$in$i62) + ($3))|0;
$66 = (($61) + ($65<<2)|0);
HEAP32[$66>>2] = $64;
$67 = ($$032$in$i62|0)>(1);
if ($67) {
$$032$in$i62 = $$032$i63;
} else {
break;
}
}
}
$68 = $53 << 2;
_memset(($61|0),0,($68|0))|0;
$69 = HEAP32[$54>>2]|0;
$70 = (($69) + ($53))|0;
HEAP32[$54>>2] = $70;
}
$71 = (32 - ($4))|0;
__gcry_mpi_rshift($0,$0,$71);
$$pre$phi$phZ2D = $54;
} else {
$$pre = ((($0)) + 4|0);
$$pre$phi$phZ2D = $$pre;
}
$$pr = HEAP32[$$pre$phi$phZ2D>>2]|0;
$$pre$phiZ2D = $$pre$phi$phZ2D;$73 = $$pr;
} else {
$36 = ((($0)) + 4|0);
$37 = HEAP32[$36>>2]|0;
$38 = ($37|0)==(0);
if ($38) {
return;
}
$39 = HEAP32[$0>>2]|0;
$40 = (($37) + ($3))|0;
$41 = ($39>>>0)<($40>>>0);
if ($41) {
__gcry_mpi_resize($0,$40);
}
$42 = ((($0)) + 16|0);
$43 = HEAP32[$42>>2]|0;
$44 = ($37|0)>(0);
if ($44) {
$$032$in$i = $37;
while(1) {
$$032$i = (($$032$in$i) + -1)|0;
$45 = (($43) + ($$032$i<<2)|0);
$46 = HEAP32[$45>>2]|0;
$47 = (($$032$i) + ($3))|0;
$48 = (($43) + ($47<<2)|0);
HEAP32[$48>>2] = $46;
$49 = ($$032$in$i|0)>(1);
if ($49) {
$$032$in$i = $$032$i;
} else {
break;
}
}
}
$50 = $3 << 2;
_memset(($43|0),0,($50|0))|0;
$51 = HEAP32[$36>>2]|0;
$52 = (($51) + ($3))|0;
HEAP32[$36>>2] = $52;
$$pre$phiZ2D = $36;$73 = $52;
}
$72 = ($73|0)>(0);
if (!($72)) {
return;
}
$74 = ((($0)) + 16|0);
$75 = HEAP32[$74>>2]|0;
$77 = $73;
while(1) {
$76 = (($77) + -1)|0;
$78 = (($75) + ($76<<2)|0);
$79 = HEAP32[$78>>2]|0;
$80 = ($79|0)==(0);
if (!($80)) {
label = 35;
break;
}
HEAP32[$$pre$phiZ2D>>2] = $76;
$81 = ($77|0)>(1);
if ($81) {
$77 = $76;
} else {
label = 35;
break;
}
}
if ((label|0) == 35) {
return;
}
}
function __gcry_mpi_cmp_ui($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_normalize($0);
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0);
if ($4) {
$5 = ($1|0)!=(0);
$6 = $5 << 31 >> 31;
$$0 = $6;
return ($$0|0);
}
$7 = ((($0)) + 8|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0);
if (!($9)) {
$$0 = -1;
return ($$0|0);
}
$10 = ($3|0)==(1);
if ($10) {
$11 = ((($0)) + 16|0);
$12 = HEAP32[$11>>2]|0;
$13 = HEAP32[$12>>2]|0;
$14 = ($13>>>0)>($1>>>0);
$15 = ($13>>>0)<($1>>>0);
$$ = $15 << 31 >> 31;
$spec$select = $14 ? 1 : $$;
return ($spec$select|0);
} else {
$$0 = 1;
return ($$0|0);
}
return (0)|0;
}
function __gcry_mpi_cmp($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$0 = 0, $$01619$i = 0, $$01619$in$i = 0, $$phi$trans$insert = 0, $$phi$trans$insert66 = 0, $$pre = 0, $$pre67 = 0, $$pre71 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)!=(0|0);
if ($2) {
$3 = ((($0)) + 12|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 4;
$6 = ($5|0)==(0);
if ($6) {
label = 3;
} else {
$13 = $4;
}
} else {
label = 3;
}
do {
if ((label|0) == 3) {
$7 = ($1|0)==(0|0);
if (!($7)) {
$8 = ((($1)) + 12|0);
$9 = HEAP32[$8>>2]|0;
$10 = $9 & 4;
$11 = ($10|0)==(0);
if (!($11)) {
if ($2) {
$$phi$trans$insert = ((($0)) + 12|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$13 = $$pre;
break;
} else {
$$0 = 1;
return ($$0|0);
}
}
}
__gcry_mpi_normalize($0);
__gcry_mpi_normalize($1);
$36 = ((($0)) + 4|0);
$37 = HEAP32[$36>>2]|0;
$38 = ((($1)) + 4|0);
$39 = HEAP32[$38>>2]|0;
$40 = ((($0)) + 8|0);
$41 = HEAP32[$40>>2]|0;
$42 = ($41|0)==(0);
$43 = ((($1)) + 8|0);
$44 = HEAP32[$43>>2]|0;
$45 = ($44|0)==(0);
if ($42) {
if (!($45)) {
$$0 = 1;
return ($$0|0);
}
} else {
if ($45) {
$$0 = -1;
return ($$0|0);
}
}
$46 = ($37|0)==($39|0);
do {
if (!($46)) {
if ($42) {
if (!($45)) {
break;
}
$47 = (($37) - ($39))|0;
$$0 = $47;
return ($$0|0);
} else {
if ($45) {
break;
}
$48 = (($39) + ($37))|0;
$$0 = $48;
return ($$0|0);
}
}
} while(0);
$49 = ($37|0)==(0);
if ($49) {
$$0 = 0;
return ($$0|0);
}
$50 = ((($0)) + 16|0);
$51 = HEAP32[$50>>2]|0;
$52 = ((($1)) + 16|0);
$53 = HEAP32[$52>>2]|0;
$54 = ($37|0)>(0);
if (!($54)) {
$$0 = 0;
return ($$0|0);
}
$$01619$in$i = $37;
while(1) {
$$01619$i = (($$01619$in$i) + -1)|0;
$56 = (($51) + ($$01619$i<<2)|0);
$57 = HEAP32[$56>>2]|0;
$58 = (($53) + ($$01619$i<<2)|0);
$59 = HEAP32[$58>>2]|0;
$60 = ($57|0)==($59|0);
if (!($60)) {
label = 30;
break;
}
$55 = ($$01619$in$i|0)>(1);
if ($55) {
$$01619$in$i = $$01619$i;
} else {
$$0 = 0;
label = 31;
break;
}
}
if ((label|0) == 30) {
$61 = ($57>>>0)<=($59>>>0);
$62 = ($41|0)!=(0);
$63 = $62 ^ $61;
$$ = $63 ? -1 : 1;
return ($$|0);
}
else if ((label|0) == 31) {
return ($$0|0);
}
}
} while(0);
$12 = $13 & 4;
$14 = ($12|0)==(0);
$15 = ($1|0)==(0|0);
if ($14) {
if (!($15)) {
$$phi$trans$insert66 = ((($1)) + 12|0);
$$pre67 = HEAP32[$$phi$trans$insert66>>2]|0;
$$pre71 = $$pre67 & 4;
$20 = ($$pre71|0)==(0);
if (!($20)) {
$$0 = 1;
return ($$0|0);
}
}
} else {
if ($15) {
$$0 = -1;
return ($$0|0);
}
$16 = ((($1)) + 12|0);
$17 = HEAP32[$16>>2]|0;
$18 = $17 & 4;
$19 = ($18|0)==(0);
if ($19) {
$$0 = -1;
return ($$0|0);
}
}
$21 = ((($0)) + 8|0);
$22 = HEAP32[$21>>2]|0;
$23 = ((($1)) + 8|0);
$24 = HEAP32[$23>>2]|0;
$25 = $22 | $24;
$26 = ($25|0)==(0);
if ($26) {
$$0 = 0;
return ($$0|0);
}
$27 = ($22|0)<($24|0);
if ($27) {
$$0 = -1;
return ($$0|0);
}
$28 = ($22|0)>($24|0);
if ($28) {
$$0 = 1;
return ($$0|0);
}
$29 = (($22) + 7)|0;
$30 = ((($1)) + 16|0);
$31 = ((($0)) + 16|0);
$32 = HEAP32[$31>>2]|0;
$33 = HEAP32[$30>>2]|0;
$34 = (($29|0) / 8)&-1;
$35 = (_memcmp($32,$33,$34)|0);
$$0 = $35;
return ($$0|0);
}
function __gcry_mpi_fdiv_r($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$018 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($2)) + 8|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($0|0)==($2|0);
if ($5) {
$6 = (__gcry_mpi_copy($2)|0);
$$0 = $6;$$018 = $6;
} else {
$$0 = 0;$$018 = $2;
}
__gcry_mpi_tdiv_qr(0,$0,$1,$$018);
$7 = ($4|0)!=(0);
$8 = ((($1)) + 8|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)!=(0);
$11 = $7 ^ $10;
if ($11) {
$12 = ((($0)) + 4|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0);
if (!($14)) {
__gcry_mpi_add($0,$0,$$018);
}
}
$15 = ($$0|0)==(0|0);
if ($15) {
return;
}
__gcry_mpi_free($$0);
return;
}
function __gcry_mpi_tdiv_qr($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0218250 = 0, $$0219 = 0, $$0220 = 0, $$0221 = 0, $$0222 = 0, $$0225253 = 0, $$0226 = 0, $$0227240 = 0, $$0228 = 0, $$0247 = 0, $$1 = 0, $$1224 = 0, $$1229 = 0, $$2$lcssa = 0, $$2230 = 0, $$2243 = 0, $$3 = 0, $$3231241 = 0, $$neg235 = 0, $10 = 0;
var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0;
var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0;
var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond257 = 0, $exitcond258 = 0, $exitcond259 = 0, $or$cond = 0, $or$cond232 = 0, $or$cond233 = 0, $or$cond256 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$4 = sp + 32|0;
$5 = sp;
$6 = ((($2)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($3)) + 4|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($2)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($3)) + 8|0);
$13 = HEAP32[$12>>2]|0;
$14 = $13 ^ $11;
$15 = (($7) + 1)|0;
__gcry_mpi_resize($1,$15);
$16 = (($15) - ($9))|0;
$17 = ($16|0)<(1);
if ($17) {
$18 = ($2|0)==($1|0);
if (!($18)) {
$19 = HEAP32[$6>>2]|0;
$20 = ((($1)) + 4|0);
HEAP32[$20>>2] = $19;
$21 = HEAP32[$10>>2]|0;
$22 = ((($1)) + 8|0);
HEAP32[$22>>2] = $21;
$23 = ($7|0)>(0);
if ($23) {
$24 = ((($2)) + 16|0);
$25 = HEAP32[$24>>2]|0;
$26 = ((($1)) + 16|0);
$27 = HEAP32[$26>>2]|0;
$$0227240 = 0;
while(1) {
$28 = (($25) + ($$0227240<<2)|0);
$29 = HEAP32[$28>>2]|0;
$30 = (($27) + ($$0227240<<2)|0);
HEAP32[$30>>2] = $29;
$31 = (($$0227240) + 1)|0;
$exitcond = ($31|0)==($7|0);
if ($exitcond) {
break;
} else {
$$0227240 = $31;
}
}
}
}
$32 = ($0|0)==(0|0);
if ($32) {
STACKTOP = sp;return;
}
$33 = ((($0)) + 4|0);
HEAP32[$33>>2] = 0;
$34 = ((($0)) + 8|0);
HEAP32[$34>>2] = 0;
STACKTOP = sp;return;
}
$35 = ($0|0)!=(0|0);
if ($35) {
__gcry_mpi_resize($0,$16);
}
$36 = ((($2)) + 16|0);
$37 = HEAP32[$36>>2]|0;
$38 = ((($3)) + 16|0);
$39 = HEAP32[$38>>2]|0;
$40 = ((($1)) + 16|0);
$41 = HEAP32[$40>>2]|0;
$42 = ($9|0)==(1);
if ($42) {
if ($35) {
$43 = ((($0)) + 16|0);
$44 = HEAP32[$43>>2]|0;
$45 = HEAP32[$39>>2]|0;
$46 = (__gcry_mpih_divmod_1($44,$37,$7,$45)|0);
$47 = (($16) + -1)|0;
$48 = (($44) + ($47<<2)|0);
$49 = HEAP32[$48>>2]|0;
$50 = ($49|0)==(0);
$51 = $50&1;
$52 = (($16) - ($51))|0;
$53 = ((($0)) + 4|0);
HEAP32[$53>>2] = $52;
$54 = ((($0)) + 8|0);
HEAP32[$54>>2] = $14;
$$0226 = $46;
} else {
$55 = HEAP32[$39>>2]|0;
$56 = (__gcry_mpih_mod_1($37,$7,$55)|0);
$$0226 = $56;
}
HEAP32[$41>>2] = $$0226;
$57 = ($$0226|0)!=(0);
$58 = $57&1;
$59 = ((($1)) + 4|0);
HEAP32[$59>>2] = $58;
$60 = ((($1)) + 8|0);
HEAP32[$60>>2] = $11;
STACKTOP = sp;return;
}
if ($35) {
$61 = ((($0)) + 16|0);
$62 = HEAP32[$61>>2]|0;
$63 = ($62|0)==($37|0);
if ($63) {
HEAP32[$5>>2] = $7;
$64 = ((($0)) + 12|0);
$65 = HEAP32[$64>>2]|0;
$66 = $65 & 1;
$67 = (__gcry_mpi_alloc_limb_space($7,$66)|0);
HEAP32[$4>>2] = $67;
$68 = ($7|0)>(0);
if ($68) {
$$0225253 = 0;
while(1) {
$69 = (($37) + ($$0225253<<2)|0);
$70 = HEAP32[$69>>2]|0;
$71 = (($67) + ($$0225253<<2)|0);
HEAP32[$71>>2] = $70;
$72 = (($$0225253) + 1)|0;
$exitcond259 = ($72|0)==($7|0);
if ($exitcond259) {
$$0219 = $67;$$0221 = $37;$$0228 = 1;
break;
} else {
$$0225253 = $72;
}
}
} else {
$$0219 = $67;$$0221 = $37;$$0228 = 1;
}
} else {
$$0219 = $37;$$0221 = $62;$$0228 = 0;
}
} else {
$73 = (($41) + ($9<<2)|0);
$$0219 = $37;$$0221 = $73;$$0228 = 0;
}
$74 = (($9) + -1)|0;
$75 = (($39) + ($74<<2)|0);
$76 = HEAP32[$75>>2]|0;
$77 = ($76>>>0)<(65536);
$78 = ($76>>>0)<(256);
$79 = $78 ? 0 : 8;
$80 = ($76>>>0)<(16777216);
$81 = $80 ? 16 : 24;
$82 = $77 ? $79 : $81;
$83 = $76 >>> $82;
$84 = (14784 + ($83)|0);
$85 = HEAP8[$84>>0]|0;
$86 = $85&255;
$$neg235 = (32 - ($86))|0;
$87 = (($$neg235) - ($82))|0;
$88 = ($87|0)!=(0);
if ($88) {
$89 = (($5) + ($$0228<<2)|0);
HEAP32[$89>>2] = $9;
$90 = ($3|0)==(0|0);
if ($90) {
$94 = 0;
} else {
$91 = ((($3)) + 12|0);
$92 = HEAP32[$91>>2]|0;
$93 = $92 & 1;
$94 = $93;
}
$95 = (__gcry_mpi_alloc_limb_space($9,$94)|0);
$96 = (($$0228) + 1)|0;
$97 = (($4) + ($$0228<<2)|0);
HEAP32[$97>>2] = $95;
(__gcry_mpih_lshift($95,$39,$9,$87)|0);
$98 = (__gcry_mpih_lshift($41,$$0219,$7,$87)|0);
$99 = ($98|0)==(0);
if ($99) {
$$1 = $95;$$1224 = $7;$$2230 = $96;
} else {
$100 = (($41) + ($7<<2)|0);
HEAP32[$100>>2] = $98;
$$1 = $95;$$1224 = $15;$$2230 = $96;
}
} else {
$101 = ($39|0)==($41|0);
$102 = ($39|0)==($$0221|0);
$or$cond232 = $35 & $102;
$or$cond233 = $101 | $or$cond232;
if ($or$cond233) {
$103 = (($5) + ($$0228<<2)|0);
HEAP32[$103>>2] = $9;
$104 = ($3|0)==(0|0);
if ($104) {
$108 = 0;
} else {
$105 = ((($3)) + 12|0);
$106 = HEAP32[$105>>2]|0;
$107 = $106 & 1;
$108 = $107;
}
$109 = (__gcry_mpi_alloc_limb_space($9,$108)|0);
$110 = (($$0228) + 1)|0;
$111 = (($4) + ($$0228<<2)|0);
HEAP32[$111>>2] = $109;
$112 = ($9|0)>(0);
if ($112) {
$$0218250 = 0;
while(1) {
$113 = (($39) + ($$0218250<<2)|0);
$114 = HEAP32[$113>>2]|0;
$115 = (($109) + ($$0218250<<2)|0);
HEAP32[$115>>2] = $114;
$116 = (($$0218250) + 1)|0;
$exitcond258 = ($116|0)==($9|0);
if ($exitcond258) {
$$0220 = $109;$$1229 = $110;
break;
} else {
$$0218250 = $116;
}
}
} else {
$$0220 = $109;$$1229 = $110;
}
} else {
$$0220 = $39;$$1229 = $$0228;
}
$117 = ($41|0)!=($$0219|0);
$118 = ($7|0)>(0);
$or$cond256 = $117 & $118;
if ($or$cond256) {
$$0247 = 0;
while(1) {
$119 = (($$0219) + ($$0247<<2)|0);
$120 = HEAP32[$119>>2]|0;
$121 = (($41) + ($$0247<<2)|0);
HEAP32[$121>>2] = $120;
$122 = (($$0247) + 1)|0;
$exitcond257 = ($122|0)==($7|0);
if ($exitcond257) {
$$1 = $$0220;$$1224 = $7;$$2230 = $$1229;
break;
} else {
$$0247 = $122;
}
}
} else {
$$1 = $$0220;$$1224 = $7;$$2230 = $$1229;
}
}
$123 = (__gcry_mpih_divrem($$0221,0,$41,$$1224,$$1,$9)|0);
if ($35) {
$124 = (($$1224) - ($9))|0;
$125 = ($123|0)==(0);
if ($125) {
$$0222 = $124;
} else {
$126 = (($124) + 1)|0;
$127 = (($$0221) + ($124<<2)|0);
HEAP32[$127>>2] = $123;
$$0222 = $126;
}
$128 = ((($0)) + 4|0);
HEAP32[$128>>2] = $$0222;
$129 = ((($0)) + 8|0);
HEAP32[$129>>2] = $14;
}
$130 = ($9|0)>(0);
L59: do {
if ($130) {
$$2243 = $9;
while(1) {
$132 = (($$2243) + -1)|0;
$133 = (($41) + ($132<<2)|0);
$134 = HEAP32[$133>>2]|0;
$135 = ($134|0)==(0);
if (!($135)) {
$$2$lcssa = $$2243;
break L59;
}
$131 = ($$2243|0)>(1);
if ($131) {
$$2243 = $132;
} else {
$$2$lcssa = $132;
break;
}
}
} else {
$$2$lcssa = $9;
}
} while(0);
$136 = ($$2$lcssa|0)!=(0);
$or$cond = $88 & $136;
if ($or$cond) {
(__gcry_mpih_rshift($41,$41,$$2$lcssa,$87)|0);
$137 = (($$2$lcssa) + -1)|0;
$138 = (($41) + ($137<<2)|0);
$139 = HEAP32[$138>>2]|0;
$140 = ($139|0)==(0);
$141 = $140&1;
$142 = (($$2$lcssa) - ($141))|0;
$$3 = $142;
} else {
$$3 = $$2$lcssa;
}
$143 = ((($1)) + 4|0);
HEAP32[$143>>2] = $$3;
$144 = ((($1)) + 8|0);
HEAP32[$144>>2] = $11;
$145 = ($$2230|0)==(0);
if ($145) {
STACKTOP = sp;return;
}
$$3231241 = $$2230;
while(1) {
$146 = (($$3231241) + -1)|0;
$147 = (($4) + ($146<<2)|0);
$148 = HEAP32[$147>>2]|0;
$149 = (($5) + ($146<<2)|0);
$150 = HEAP32[$149>>2]|0;
__gcry_mpi_free_limb_space($148,$150);
$151 = ($146|0)==(0);
if ($151) {
break;
} else {
$$3231241 = $146;
}
}
STACKTOP = sp;return;
}
function __gcry_mpi_tdiv_r($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_tdiv_qr(0,$0,$1,$2);
return;
}
function __gcry_mpi_fdiv_r_ui($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($1)) + 16|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($1)) + 4|0);
$6 = HEAP32[$5>>2]|0;
$7 = (__gcry_mpih_mod_1($4,$6,$2)|0);
$8 = ($7|0)==(0);
if ($8) {
$$0 = 0;
} else {
$9 = (($2) - ($7))|0;
$10 = ((($1)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11|0)==(0);
$spec$select = $12 ? $7 : $9;
$$0 = $spec$select;
}
$13 = ($0|0)==(0|0);
if ($13) {
return ($$0|0);
}
$14 = ((($0)) + 4|0);
$15 = ($$0|0)!=(0);
$16 = $15&1;
$17 = ((($0)) + 16|0);
$18 = HEAP32[$17>>2]|0;
HEAP32[$18>>2] = $$0;
HEAP32[$14>>2] = $16;
return ($$0|0);
}
function __gcry_mpi_fdiv_q($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$i = 0, $$023$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = (__gcry_mpi_alloc($4)|0);
$6 = ((($2)) + 8|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($0|0)==($2|0);
$9 = ($5|0)==($2|0);
$or$cond$i = $8 | $9;
if ($or$cond$i) {
$10 = (__gcry_mpi_copy($2)|0);
$$0$i = $10;$$023$i = $10;
} else {
$$0$i = 0;$$023$i = $2;
}
__gcry_mpi_tdiv_qr($0,$5,$1,$$023$i);
$11 = ((($1)) + 8|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($7|0)==($12|0);
if (!($13)) {
$14 = ((($5)) + 4|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==(0);
if (!($16)) {
__gcry_mpi_sub_ui($0,$0,1);
__gcry_mpi_add($5,$5,$$023$i);
}
}
$17 = ($$0$i|0)==(0|0);
if ($17) {
__gcry_mpi_free($5);
return;
}
__gcry_mpi_free($$0$i);
__gcry_mpi_free($5);
return;
}
function __gcry_mpi_tdiv_q_2exp($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$043$sink = 0, $$044 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($1)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = $2 >>> 5;
$6 = (($4) - ($5))|0;
$7 = ($4|0)>($5|0);
do {
if ($7) {
$8 = HEAP32[$0>>2]|0;
$9 = ($8|0)<($6|0);
if ($9) {
__gcry_mpi_resize($0,$6);
}
$10 = ((($0)) + 16|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($1)) + 16|0);
$13 = HEAP32[$12>>2]|0;
$14 = $2 & 31;
$15 = ($14|0)==(0);
if (!($15)) {
$16 = (($13) + ($5<<2)|0);
(__gcry_mpih_rshift($11,$16,$6,$14)|0);
$17 = (($6) + -1)|0;
$18 = (($11) + ($17<<2)|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($19|0)==(0);
$21 = $20&1;
$22 = (($6) - ($21))|0;
$$043$sink = $22;
break;
}
$23 = ($6|0)>(0);
if ($23) {
$24 = (($13) + ($5<<2)|0);
$$044 = 0;
while(1) {
$25 = (($24) + ($$044<<2)|0);
$26 = HEAP32[$25>>2]|0;
$27 = (($11) + ($$044<<2)|0);
HEAP32[$27>>2] = $26;
$28 = (($$044) + 1)|0;
$exitcond = ($28|0)==($6|0);
if ($exitcond) {
$$043$sink = $6;
break;
} else {
$$044 = $28;
}
}
} else {
$$043$sink = $6;
}
} else {
$$043$sink = 0;
}
} while(0);
$29 = ((($0)) + 4|0);
HEAP32[$29>>2] = $$043$sink;
return;
}
function __gcry_mpi_divisible_ui($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 16|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($0)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = (__gcry_mpih_mod_1($3,$5,$1)|0);
$7 = ($6|0)==(0);
$8 = $7&1;
return ($8|0);
}
function __gcry_mpi_gcd($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_mpi_copy($1)|0);
$4 = (__gcry_mpi_copy($2)|0);
$5 = ((($3)) + 8|0);
HEAP32[$5>>2] = 0;
$6 = ((($4)) + 8|0);
HEAP32[$6>>2] = 0;
$7 = (__gcry_mpi_cmp_ui($4,0)|0);
$8 = ($7|0)==(0);
if (!($8)) {
while(1) {
__gcry_mpi_fdiv_r($0,$3,$4);
(__gcry_mpi_set($3,$4)|0);
(__gcry_mpi_set($4,$0)|0);
$9 = (__gcry_mpi_cmp_ui($4,0)|0);
$10 = ($9|0)==(0);
if ($10) {
break;
}
}
}
(__gcry_mpi_set($0,$3)|0);
__gcry_mpi_free($3);
__gcry_mpi_free($4);
$11 = (__gcry_mpi_cmp_ui($0,1)|0);
$12 = ($11|0)==(0);
$13 = $12&1;
return ($13|0);
}
function __gcry_mpi_invm($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0140 = 0, $$0141 = 0, $$0143 = 0, $$0145 = 0, $$0146 = 0, $$1 = 0, $$1142 = 0, $$1144 = 0, $$2 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (__gcry_mpi_cmp_ui($1,0)|0);
$4 = ($3|0)==(0);
if ($4) {
$$0 = 0;
return ($$0|0);
}
$5 = (__gcry_mpi_cmp_ui($2,1)|0);
$6 = ($5|0)==(0);
if ($6) {
$$0 = 0;
return ($$0|0);
}
$7 = (__gcry_mpi_copy($1)|0);
$8 = (__gcry_mpi_copy($2)|0);
$9 = (__gcry_mpi_test_bit($7,0)|0);
$10 = ($9|0)==(0);
L7: do {
if ($10) {
while(1) {
$11 = (__gcry_mpi_test_bit($8,0)|0);
$12 = ($11|0)==(0);
if (!($12)) {
break L7;
}
__gcry_mpi_rshift($7,$7,1);
__gcry_mpi_rshift($8,$8,1);
$13 = (__gcry_mpi_test_bit($7,0)|0);
$14 = ($13|0)==(0);
if (!($14)) {
break;
}
}
}
} while(0);
$15 = (__gcry_mpi_test_bit($8,0)|0);
$16 = (__gcry_mpi_alloc_set_ui(1)|0);
$17 = ($15|0)!=(0);
if ($17) {
$$0145 = 0;
} else {
$18 = (__gcry_mpi_alloc_set_ui(0)|0);
$$0145 = $18;
}
$19 = (__gcry_mpi_copy($7)|0);
$20 = (__gcry_mpi_copy($8)|0);
if ($17) {
$$0146 = 0;
} else {
$21 = ((($7)) + 4|0);
$22 = HEAP32[$21>>2]|0;
$23 = (__gcry_mpi_alloc($22)|0);
__gcry_mpi_sub($23,$16,$7);
$$0146 = $23;
}
$24 = (__gcry_mpi_copy($8)|0);
$25 = (__gcry_mpi_test_bit($7,0)|0);
$26 = ($25|0)==(0);
if ($26) {
$35 = (__gcry_mpi_alloc_set_ui(1)|0);
if ($17) {
$$1142 = 0;
} else {
$36 = (__gcry_mpi_alloc_set_ui(0)|0);
$$1142 = $36;
}
$37 = (__gcry_mpi_copy($7)|0);
$$0140 = $37;$$0143 = $35;$$2 = $$1142;
label = 18;
} else {
$27 = (__gcry_mpi_alloc_set_ui(0)|0);
if ($17) {
$$0141 = 0;
} else {
$28 = (__gcry_mpi_alloc_set_ui(1)|0);
$29 = ((($28)) + 8|0);
HEAP32[$29>>2] = 1;
$$0141 = $28;
}
$30 = (__gcry_mpi_copy($8)|0);
$31 = ((($30)) + 8|0);
$32 = HEAP32[$31>>2]|0;
$33 = ($32|0)==(0);
$34 = $33&1;
HEAP32[$31>>2] = $34;
$$1 = $30;$$1144 = $27;$$3 = $$0141;
}
while(1) {
if ((label|0) == 18) {
label = 0;
$38 = (__gcry_mpi_test_bit($$0143,0)|0);
$39 = ($38|0)!=(0);
if ($17) {
if ($39) {
__gcry_mpi_add($$0143,$$0143,$8);
}
__gcry_mpi_rshift($$0143,$$0143,1);
__gcry_mpi_rshift($$0140,$$0140,1);
$$1 = $$0140;$$1144 = $$0143;$$3 = $$2;
continue;
}
if ($39) {
label = 21;
} else {
$40 = (__gcry_mpi_test_bit($$2,0)|0);
$41 = ($40|0)==(0);
if (!($41)) {
label = 21;
}
}
if ((label|0) == 21) {
label = 0;
__gcry_mpi_add($$0143,$$0143,$8);
__gcry_mpi_sub($$2,$$2,$7);
}
__gcry_mpi_rshift($$0143,$$0143,1);
__gcry_mpi_rshift($$2,$$2,1);
__gcry_mpi_rshift($$0140,$$0140,1);
$$1 = $$0140;$$1144 = $$0143;$$3 = $$2;
}
$42 = (__gcry_mpi_test_bit($$1,0)|0);
$43 = ($42|0)==(0);
if ($43) {
$$0140 = $$1;$$0143 = $$1144;$$2 = $$3;
label = 18;
continue;
}
$44 = ((($$1)) + 8|0);
$45 = HEAP32[$44>>2]|0;
$46 = ($45|0)==(0);
if ($46) {
(__gcry_mpi_set($16,$$1144)|0);
if (!($17)) {
(__gcry_mpi_set($$0145,$$3)|0);
}
(__gcry_mpi_set($19,$$1)|0);
} else {
__gcry_mpi_sub($20,$8,$$1144);
$47 = ((($7)) + 8|0);
$48 = HEAP32[$47>>2]|0;
$49 = ($48|0)==(0);
$50 = $49&1;
HEAP32[$47>>2] = $50;
if (!($17)) {
__gcry_mpi_sub($$0146,$7,$$3);
}
HEAP32[$47>>2] = $48;
$51 = HEAP32[$44>>2]|0;
$52 = ($51|0)==(0);
$53 = $52&1;
HEAP32[$44>>2] = $53;
(__gcry_mpi_set($24,$$1)|0);
HEAP32[$44>>2] = $51;
}
__gcry_mpi_sub($$1144,$16,$20);
if (!($17)) {
__gcry_mpi_sub($$3,$$0145,$$0146);
}
__gcry_mpi_sub($$1,$19,$24);
$54 = ((($$1144)) + 8|0);
$55 = HEAP32[$54>>2]|0;
$56 = ($55|0)==(0);
if (!($56)) {
__gcry_mpi_add($$1144,$$1144,$8);
if (!($17)) {
__gcry_mpi_sub($$3,$$3,$7);
}
}
$57 = (__gcry_mpi_cmp_ui($$1,0)|0);
$58 = ($57|0)==(0);
if ($58) {
break;
} else {
$$0140 = $$1;$$0143 = $$1144;$$2 = $$3;
label = 18;
}
}
(__gcry_mpi_set($0,$16)|0);
__gcry_mpi_free($16);
__gcry_mpi_free($20);
__gcry_mpi_free($$1144);
if (!($17)) {
__gcry_mpi_free($$0145);
__gcry_mpi_free($$0146);
__gcry_mpi_free($$3);
}
__gcry_mpi_free($19);
__gcry_mpi_free($24);
__gcry_mpi_free($$1);
__gcry_mpi_free($7);
__gcry_mpi_free($8);
$$0 = 1;
return ($$0|0);
}
function __gcry_mpi_mod($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_fdiv_r($0,$1,$2);
return;
}
function __gcry_mpi_barrett_init($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_normalize($0);
$2 = (__gcry_xcalloc(1,28)|0);
$3 = ($1|0)==(0);
if ($3) {
HEAP32[$2>>2] = $0;
} else {
$4 = (__gcry_mpi_copy($0)|0);
HEAP32[$2>>2] = $4;
$5 = ((($2)) + 4|0);
HEAP32[$5>>2] = 1;
}
$6 = ((($0)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($2)) + 8|0);
HEAP32[$8>>2] = $7;
$9 = (($7) + 1)|0;
$10 = (__gcry_mpi_alloc($9)|0);
(__gcry_mpi_set_ui($10,1)|0);
$11 = $7 << 1;
__gcry_mpi_lshift_limbs($10,$11);
__gcry_mpi_fdiv_q($10,$10,$0);
$12 = ((($2)) + 12|0);
HEAP32[$12>>2] = $10;
$13 = $11 | 1;
$14 = (__gcry_mpi_alloc($13)|0);
$15 = ((($2)) + 16|0);
HEAP32[$15>>2] = $14;
$16 = (__gcry_mpi_alloc($13)|0);
$17 = ((($2)) + 20|0);
HEAP32[$17>>2] = $16;
return ($2|0);
}
function __gcry_mpi_barrett_free($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
__gcry_mpi_free($3);
$4 = ((($0)) + 16|0);
$5 = HEAP32[$4>>2]|0;
__gcry_mpi_free($5);
$6 = ((($0)) + 20|0);
$7 = HEAP32[$6>>2]|0;
__gcry_mpi_free($7);
$8 = ((($0)) + 24|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0|0);
if (!($10)) {
__gcry_mpi_free($9);
}
$11 = ((($0)) + 4|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0);
if (!($13)) {
$14 = HEAP32[$0>>2]|0;
__gcry_mpi_free($14);
}
__gcry_free($0);
return;
}
function __gcry_mpi_mod_barrett($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$2>>2]|0;
$4 = ((($2)) + 8|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($2)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($2)) + 16|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($2)) + 20|0);
$11 = HEAP32[$10>>2]|0;
__gcry_mpi_normalize($1);
$12 = ((($1)) + 4|0);
$13 = HEAP32[$12>>2]|0;
$14 = $5 << 1;
$15 = ($13|0)>($14|0);
if ($15) {
__gcry_mpi_fdiv_r($0,$1,$3);
return;
}
$16 = ((($1)) + 8|0);
$17 = HEAP32[$16>>2]|0;
HEAP32[$16>>2] = 0;
(__gcry_mpi_set($11,$1)|0);
$18 = (($5) + -1)|0;
__gcry_mpi_rshift_limbs($11,$18);
__gcry_mpi_mul($11,$11,$7);
$19 = (($5) + 1)|0;
__gcry_mpi_rshift_limbs($11,$19);
(__gcry_mpi_set($9,$1)|0);
$20 = ((($9)) + 4|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($21|0)>($19|0);
if ($22) {
HEAP32[$20>>2] = $19;
}
__gcry_mpi_mul($11,$11,$3);
$23 = ((($11)) + 4|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($24|0)>($19|0);
if ($25) {
HEAP32[$23>>2] = $19;
}
__gcry_mpi_sub($0,$9,$11);
$26 = ((($0)) + 8|0);
$27 = HEAP32[$26>>2]|0;
$28 = ($27|0)==(0);
if (!($28)) {
$29 = ((($2)) + 24|0);
$30 = HEAP32[$29>>2]|0;
$31 = ($30|0)==(0|0);
if ($31) {
$32 = (($5) + 2)|0;
$33 = (__gcry_mpi_alloc($32)|0);
HEAP32[$29>>2] = $33;
(__gcry_mpi_set_ui($33,1)|0);
$34 = HEAP32[$29>>2]|0;
__gcry_mpi_lshift_limbs($34,$19);
$$pre = HEAP32[$29>>2]|0;
$35 = $$pre;
} else {
$35 = $30;
}
__gcry_mpi_add($0,$0,$35);
}
$36 = (__gcry_mpi_cmp($0,$3)|0);
$37 = ($36|0)>(-1);
if ($37) {
while(1) {
__gcry_mpi_sub($0,$0,$3);
$38 = (__gcry_mpi_cmp($0,$3)|0);
$39 = ($38|0)>(-1);
if (!($39)) {
break;
}
}
}
HEAP32[$16>>2] = $17;
return;
}
function __gcry_mpi_mul($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$0138167 = 0, $$0139164 = 0, $$0140 = 0, $$0141 = 0, $$0142 = 0, $$0142$clear = 0, $$0144$in$in = 0, $$0144$in$in$in = 0, $$0144$in$in$in$in = 0, $$0145$in$in = 0, $$0145$in$in$in = 0, $$0145$in$in$in$in = 0, $$0146 = 0, $$0146$in = 0, $$0147 = 0, $$0147$in = 0, $$0148 = 0, $$0149 = 0, $$0150 = 0;
var $$0150$in = 0, $$0152 = 0, $$0152$in = 0, $$0163 = 0, $$1 = 0, $$1153 = 0, $$159 = 0, $$160 = 0, $$161 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($1)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($2)) + 4|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($4|0)<($6|0);
$$ = $7 ? $2 : $1;
$$159 = $7 ? $1 : $2;
$$160 = $7 ? $4 : $6;
$$161 = $7 ? $6 : $4;
$$0144$in$in$in$in = ((($$159)) + 12|0);
$$0145$in$in$in$in = ((($$)) + 12|0);
$$0144$in$in$in = HEAP32[$$0144$in$in$in$in>>2]|0;
$$0145$in$in$in = HEAP32[$$0145$in$in$in$in>>2]|0;
$$0144$in$in = $$0144$in$in$in & 1;
$$0145$in$in = $$0145$in$in$in & 1;
$$0146$in = ((($$159)) + 8|0);
$$0147$in = ((($$)) + 8|0);
$$0152$in = ((($$)) + 16|0);
$$0146 = HEAP32[$$0146$in>>2]|0;
$$0147 = HEAP32[$$0147$in>>2]|0;
$$0152 = HEAP32[$$0152$in>>2]|0;
$$0150$in = ((($$159)) + 16|0);
$$0150 = HEAP32[$$0150$in>>2]|0;
$8 = $$0147 ^ $$0146;
$9 = ((($0)) + 16|0);
$10 = HEAP32[$9>>2]|0;
$11 = (($$161) + ($$160))|0;
$12 = ($0|0)==(0|0);
if ($12) {
label = 3;
} else {
$13 = ((($0)) + 12|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14 & 1;
$16 = ($15|0)==(0);
if ($16) {
label = 3;
} else {
label = 6;
}
}
do {
if ((label|0) == 3) {
$17 = ((($1)) + 12|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 & 1;
$20 = ($19|0)==(0);
if ($20) {
$21 = ((($2)) + 12|0);
$22 = HEAP32[$21>>2]|0;
$23 = $22 & 1;
$24 = ($23|0)==(0);
if ($24) {
label = 6;
break;
}
}
$25 = (__gcry_mpi_alloc_limb_space($11,1)|0);
$$0140 = 0;$$0141 = 0;$$0142 = 2;$$0149 = $25;$$1153 = $$0152;$$2 = $$0150;
}
} while(0);
L8: do {
if ((label|0) == 6) {
$26 = HEAP32[$0>>2]|0;
$27 = ($26|0)<($11|0);
$28 = ($10|0)==($$0152|0);
if ($27) {
$29 = ($10|0)==($$0150|0);
$or$cond = $28 | $29;
if ($or$cond) {
$30 = ((($0)) + 12|0);
$31 = HEAP32[$30>>2]|0;
$32 = $31 & 1;
$33 = (__gcry_mpi_alloc_limb_space($11,$32)|0);
$$0140 = 0;$$0141 = 0;$$0142 = 1;$$0149 = $33;$$1153 = $$0152;$$2 = $$0150;
break;
} else {
__gcry_mpi_resize($0,$11);
$34 = HEAP32[$9>>2]|0;
$$0140 = 0;$$0141 = 0;$$0142 = 0;$$0149 = $34;$$1153 = $$0152;$$2 = $$0150;
break;
}
}
if ($28) {
$35 = (__gcry_mpi_alloc_limb_space($$161,$$0145$in$in)|0);
$36 = ($$0152|0)==($$0150|0);
$spec$select = $36 ? $35 : $$0150;
$37 = ($$161|0)>(0);
if (!($37)) {
$$0140 = $$161;$$0141 = $35;$$0142 = 0;$$0149 = $$0152;$$1153 = $35;$$2 = $spec$select;
break;
}
$$0139164 = 0;
while(1) {
$38 = (($$0152) + ($$0139164<<2)|0);
$39 = HEAP32[$38>>2]|0;
$40 = (($35) + ($$0139164<<2)|0);
HEAP32[$40>>2] = $39;
$41 = (($$0139164) + 1)|0;
$42 = ($41|0)<($$161|0);
if ($42) {
$$0139164 = $41;
} else {
$$0140 = $$161;$$0141 = $35;$$0142 = 0;$$0149 = $$0152;$$1153 = $35;$$2 = $spec$select;
break L8;
}
}
}
$43 = ($10|0)==($$0150|0);
if ($43) {
$44 = (__gcry_mpi_alloc_limb_space($$160,$$0144$in$in)|0);
$45 = ($$160|0)>(0);
if ($45) {
$$0138167 = 0;
while(1) {
$46 = (($$0150) + ($$0138167<<2)|0);
$47 = HEAP32[$46>>2]|0;
$48 = (($44) + ($$0138167<<2)|0);
HEAP32[$48>>2] = $47;
$49 = (($$0138167) + 1)|0;
$50 = ($49|0)<($$160|0);
if ($50) {
$$0138167 = $49;
} else {
$$0140 = $$160;$$0141 = $44;$$0142 = 0;$$0149 = $$0150;$$1153 = $$0152;$$2 = $44;
break;
}
}
} else {
$$0140 = $$160;$$0141 = $44;$$0142 = 0;$$0149 = $$0150;$$1153 = $$0152;$$2 = $44;
}
} else {
$$0140 = 0;$$0141 = 0;$$0142 = 0;$$0149 = $10;$$1153 = $$0152;$$2 = $$0150;
}
}
} while(0);
$51 = ($$160|0)==(0);
if ($51) {
$$0148 = 0;
} else {
$52 = (__gcry_mpih_mul($$0149,$$1153,$$161,$$2,$$160)|0);
$53 = ($52|0)==(0);
$54 = $53&1;
$55 = (($11) - ($54))|0;
$$0148 = $55;
}
$$0142$clear = $$0142 & 3;
switch ($$0142$clear<<24>>24) {
case 0: {
break;
}
case 2: {
$56 = (__gcry_mpi_alloc_limb_space($$0148,0)|0);
$57 = ($$0148|0)>(0);
if ($57) {
$$0163 = 0;
while(1) {
$58 = (($$0149) + ($$0163<<2)|0);
$59 = HEAP32[$58>>2]|0;
$60 = (($56) + ($$0163<<2)|0);
HEAP32[$60>>2] = $59;
$61 = (($$0163) + 1)|0;
$exitcond = ($61|0)==($$0148|0);
if ($exitcond) {
break;
} else {
$$0163 = $61;
}
}
}
__gcry_mpi_free_limb_space($$0149,0);
$$1 = $56;
label = 25;
break;
}
default: {
$$1 = $$0149;
label = 25;
}
}
if ((label|0) == 25) {
__gcry_mpi_assign_limb_space($0,$$1,$$0148);
}
$62 = ((($0)) + 4|0);
HEAP32[$62>>2] = $$0148;
$63 = ((($0)) + 8|0);
HEAP32[$63>>2] = $8;
$64 = ($$0141|0)==(0|0);
if ($64) {
return;
}
__gcry_mpi_free_limb_space($$0141,$$0140);
return;
}
function __gcry_mpi_mulm($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_mul($0,$1,$2);
__gcry_mpi_tdiv_r($0,$0,$3);
return;
}
function __gcry_mpi_powm($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$ = 0, $$02637$i$i = 0, $$02836$i$i = 0, $$035$i$i = 0, $$0534 = 0, $$0535 = 0, $$0536 = 0, $$0536666 = 0, $$0538810 = 0, $$0540 = 0, $$0540$sink = 0, $$0542 = 0, $$0542663 = 0, $$0545 = 0, $$0548 = 0, $$0550 = 0, $$0551 = 0, $$0551662 = 0, $$0554 = 0, $$0556778 = 0;
var $$0559789 = 0, $$0560801 = 0, $$0561 = 0, $$0562 = 0, $$0562$ph = 0, $$0568 = 0, $$0568$ph = 0, $$0575$ph = 0, $$0582773 = 0, $$0584 = 0, $$0584$ph = 0, $$0591795 = 0, $$0597804 = 0, $$0598807 = 0, $$0599814 = 0, $$0600818 = 0, $$0601 = 0, $$0602794 = 0, $$0603$lcssa = 0, $$0603793 = 0;
var $$0605792 = 0, $$0650 = 0, $$0651 = 0, $$0737 = 0, $$1$i$i = 0, $$1$ph = 0, $$10 = 0, $$11 = 0, $$12$lcssa = 0, $$127$i$i = 0, $$12730 = 0, $$129$i$i = 0, $$13 = 0, $$13$sink = 0, $$1537 = 0, $$1539 = 0, $$1539664 = 0, $$1543 = 0, $$1546 = 0, $$1552 = 0;
var $$1555 = 0, $$1563 = 0, $$1569 = 0, $$1576$lcssa = 0, $$1576764 = 0, $$1576764$phi = 0, $$1583748 = 0, $$1585763 = 0, $$1592 = 0, $$1592$ph = 0, $$1606$lcssa858 = 0, $$1606$lcssa859 = 0, $$1606772 = 0, $$1652 = 0, $$2$lcssa = 0, $$2544 = 0, $$2553 = 0, $$2593 = 0, $$2607$lcssa860 = 0, $$2607$lcssa861 = 0;
var $$2607747 = 0, $$2653$ph = 0, $$2653$ph$be = 0, $$2765 = 0, $$2765$phi = 0, $$3654$lcssa = 0, $$3654762 = 0, $$5567 = 0, $$5573 = 0, $$5580$lcssa = 0, $$5580755 = 0, $$5580755$phi = 0, $$5589 = 0, $$5596728 = 0, $$5596728$us = 0, $$6$lcssa = 0, $$6574742 = 0, $$6581741 = 0, $$6581741$phi = 0, $$6590754 = 0;
var $$6756 = 0, $$6756$phi = 0, $$7658$lcssa = 0, $$7658753 = 0, $$7743 = 0, $$7743$phi = 0, $$8 = 0, $$8659740 = 0, $$9 = 0, $$9660 = 0, $$neg689 = 0, $$neg692 = 0, $$neg695 = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0;
var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0;
var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0;
var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0;
var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0;
var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0;
var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0;
var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0;
var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0;
var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0;
var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0;
var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond$i$i = 0, $exitcond846 = 0, $exitcond851 = 0, $exitcond852 = 0, $exitcond853 = 0;
var $exitcond854 = 0, $exitcond855 = 0, $exitcond856 = 0, $exitcond857 = 0, $or$cond = 0, $phitmp608 = 0, $spec$select = 0, $spec$select687 = 0, $storemerge$i613 = 0, $storemerge$i617 = 0, $storemerge$i619 = 0, $storemerge$i621 = 0, $storemerge725 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0);
$4 = sp + 64|0;
$5 = sp;
$6 = sp + 208|0;
$7 = sp + 188|0;
$8 = sp + 168|0;
$9 = sp + 148|0;
$10 = sp + 128|0;
$11 = ((($2)) + 4|0);
$12 = HEAP32[$11>>2]|0;
$13 = ((($3)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14 << 1;
$16 = ((($3)) + 8|0);
$17 = HEAP32[$16>>2]|0;
$18 = ($12|0)>(16);
if ($18) {
$$0601 = 5;
} else {
$19 = ($12|0)>(8);
if ($19) {
$$0601 = 4;
} else {
$20 = ($12|0)>(4);
$21 = ($12|0)>(2);
$$ = $21 ? 2 : 1;
$spec$select687 = $20 ? 3 : $$;
$$0601 = $spec$select687;
}
}
$22 = ((($2)) + 12|0);
$23 = HEAP32[$22>>2]|0;
$24 = $23 & 1;
$25 = ($24|0)!=(0);
$26 = ((($3)) + 12|0);
$27 = HEAP32[$26>>2]|0;
$28 = $27 & 1;
$29 = ($28|0)!=(0);
$30 = ($1|0)==(0|0);
if ($30) {
$36 = 0;
} else {
$31 = ((($1)) + 12|0);
$32 = HEAP32[$31>>2]|0;
$33 = $32 & 1;
$34 = ($33|0)!=(0);
$36 = $34;
}
$35 = $36&1;
$37 = ((($0)) + 16|0);
$38 = HEAP32[$37>>2]|0;
$39 = ((($2)) + 16|0);
$40 = HEAP32[$39>>2]|0;
$41 = ($14|0)==(0);
if ($41) {
__gcry_divide_by_zero();
// unreachable;
}
$42 = ($12|0)==(0);
if ($42) {
$43 = ($14|0)==(1);
if ($43) {
$45 = ((($3)) + 16|0);
$46 = HEAP32[$45>>2]|0;
$47 = HEAP32[$46>>2]|0;
$48 = ($47|0)!=(1);
$phitmp608 = $48&1;
$49 = ((($0)) + 4|0);
HEAP32[$49>>2] = $phitmp608;
if ($48) {
label = 12;
}
} else {
$44 = ((($0)) + 4|0);
HEAP32[$44>>2] = 1;
label = 12;
}
if ((label|0) == 12) {
$50 = HEAP32[$0>>2]|0;
$51 = ($50|0)<(1);
if ($51) {
__gcry_mpi_resize($0,1);
$$pre = HEAP32[$37>>2]|0;
$52 = $$pre;
} else {
$52 = $38;
}
HEAP32[$52>>2] = 1;
}
$53 = ((($0)) + 8|0);
HEAP32[$53>>2] = 0;
STACKTOP = sp;return;
}
$54 = $29 ? $14 : 0;
$55 = (__gcry_mpi_alloc_limb_space($14,$28)|0);
$56 = ((($3)) + 16|0);
$57 = HEAP32[$56>>2]|0;
$58 = (($14) + -1)|0;
$59 = (($57) + ($58<<2)|0);
$60 = HEAP32[$59>>2]|0;
$61 = ($60>>>0)<(65536);
$62 = ($60>>>0)<(256);
$63 = $62 ? 0 : 8;
$64 = ($60>>>0)<(16777216);
$65 = $64 ? 16 : 24;
$66 = $61 ? $63 : $65;
$67 = $60 >>> $66;
$68 = (14784 + ($67)|0);
$69 = HEAP8[$68>>0]|0;
$70 = $69&255;
$$neg689 = (32 - ($70))|0;
$71 = (($$neg689) - ($66))|0;
$72 = ($71|0)!=(0);
if ($72) {
(__gcry_mpih_lshift($55,$57,$14,$71)|0);
} else {
$73 = ($14|0)>(0);
if ($73) {
$$0600818 = 0;
while(1) {
$74 = (($57) + ($$0600818<<2)|0);
$75 = HEAP32[$74>>2]|0;
$76 = (($55) + ($$0600818<<2)|0);
HEAP32[$76>>2] = $75;
$77 = (($$0600818) + 1)|0;
$exitcond857 = ($77|0)==($14|0);
if ($exitcond857) {
break;
} else {
$$0600818 = $77;
}
}
}
}
$78 = ((($1)) + 4|0);
$79 = HEAP32[$78>>2]|0;
$80 = ((($1)) + 8|0);
$81 = HEAP32[$80>>2]|0;
$82 = ($79|0)>($14|0);
L31: do {
if ($82) {
$83 = (($79) + 1)|0;
$84 = $36 ? $83 : 0;
$85 = (__gcry_mpi_alloc_limb_space($83,$35)|0);
$86 = ($79|0)>(0);
if ($86) {
$87 = ((($1)) + 16|0);
$88 = HEAP32[$87>>2]|0;
$$0599814 = 0;
while(1) {
$89 = (($88) + ($$0599814<<2)|0);
$90 = HEAP32[$89>>2]|0;
$91 = (($85) + ($$0599814<<2)|0);
HEAP32[$91>>2] = $90;
$92 = (($$0599814) + 1)|0;
$exitcond856 = ($92|0)==($79|0);
if ($exitcond856) {
break;
} else {
$$0599814 = $92;
}
}
}
$93 = (($85) + ($14<<2)|0);
(__gcry_mpih_divrem($93,0,$85,$79,$55,$14)|0);
$94 = ($14|0)>(0);
if ($94) {
$$0538810 = $14;
while(1) {
$96 = (($$0538810) + -1)|0;
$97 = (($85) + ($96<<2)|0);
$98 = HEAP32[$97>>2]|0;
$99 = ($98|0)==(0);
if (!($99)) {
$$0536666 = $85;$$0542663 = $85;$$0551662 = $84;$$1539664 = $$0538810;
label = 31;
break L31;
}
$95 = ($$0538810|0)>(1);
if ($95) {
$$0538810 = $96;
} else {
$$0536 = $85;$$0542 = $85;$$0551 = $84;$$1539 = $96;
label = 30;
break;
}
}
} else {
$$0536 = $85;$$0542 = $85;$$0551 = $84;$$1539 = $14;
label = 30;
}
} else {
$100 = ((($1)) + 16|0);
$101 = HEAP32[$100>>2]|0;
$$0536 = $101;$$0542 = 0;$$0551 = 0;$$1539 = $79;
label = 30;
}
} while(0);
if ((label|0) == 30) {
$102 = ($$1539|0)==(0);
if ($102) {
$$0540$sink = 0;$$0548 = 0;$$0561 = 0;$$13$sink = 0;$$1546 = 0;$$1555 = 0;$$2544 = $$0542;$$2553 = $$0551;
} else {
$$0536666 = $$0536;$$0542663 = $$0542;$$0551662 = $$0551;$$1539664 = $$1539;
label = 31;
}
}
do {
if ((label|0) == 31) {
$103 = ($38|0)==($$0536666|0);
if ($103) {
$104 = ($$0542663|0)==(0|0);
if (!($104)) {
__gcry_assert_failed(64005,64016,515,64026);
// unreachable;
}
$105 = $36 ? $$1539664 : 0;
$106 = (__gcry_mpi_alloc_limb_space($$1539664,$35)|0);
$107 = ($$1539664|0)>(0);
if ($107) {
$$0598807 = 0;
while(1) {
$108 = (($38) + ($$0598807<<2)|0);
$109 = HEAP32[$108>>2]|0;
$110 = (($106) + ($$0598807<<2)|0);
HEAP32[$110>>2] = $109;
$111 = (($$0598807) + 1)|0;
$exitcond855 = ($111|0)==($$1539664|0);
if ($exitcond855) {
$$1537 = $106;$$1543 = $106;$$1552 = $105;
break;
} else {
$$0598807 = $111;
}
}
} else {
$$1537 = $106;$$1543 = $106;$$1552 = $105;
}
} else {
$$1537 = $$0536666;$$1543 = $$0542663;$$1552 = $$0551662;
}
$112 = ($38|0)==($40|0);
if ($112) {
$113 = $25 ? $12 : 0;
$114 = (__gcry_mpi_alloc_limb_space($12,$24)|0);
$115 = ($12|0)>(0);
if ($115) {
$$0597804 = 0;
while(1) {
$116 = (($38) + ($$0597804<<2)|0);
$117 = HEAP32[$116>>2]|0;
$118 = (($114) + ($$0597804<<2)|0);
HEAP32[$118>>2] = $117;
$119 = (($$0597804) + 1)|0;
$exitcond854 = ($119|0)==($12|0);
if ($exitcond854) {
$$0535 = $114;$$0545 = $114;$$0554 = $113;
break;
} else {
$$0597804 = $119;
}
}
} else {
$$0535 = $114;$$0545 = $114;$$0554 = $113;
}
} else {
$$0535 = $40;$$0545 = 0;$$0554 = 0;
}
$120 = HEAP32[$0>>2]|0;
$121 = ($120|0)<($15|0);
if ($121) {
__gcry_mpi_resize($0,$15);
$122 = HEAP32[$37>>2]|0;
$$0534 = $122;
} else {
$$0534 = $38;
}
$123 = (($15) + 2)|0;
$124 = $29 ? $123 : 0;
$125 = (__gcry_mpi_alloc_limb_space($123,$28)|0);
;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;HEAP32[$6+8>>2]=0|0;HEAP32[$6+12>>2]=0|0;HEAP32[$6+16>>2]=0|0;HEAP32[$6+20>>2]=0|0;HEAP32[$6+24>>2]=0|0;
$126 = HEAP32[$$0535>>2]|0;
$127 = $126 & 1;
$128 = ($127|0)!=(0);
$129 = ($81|0)!=(0);
$130 = $129 & $128;
$131 = ($$0601>>>0)>(1);
if ($131) {
$132 = ($$1539664|0)<(16);
if ($132) {
(__gcry_mpih_mul($125,$$1537,$$1539664,$$1537,$$1539664)|0);
} else {
__gcry_mpih_mul_karatsuba_case($125,$$1537,$$1539664,$$1537,$$1539664,$6);
}
$133 = $$1539664 << 1;
$134 = ($133|0)>($14|0);
if ($134) {
$135 = (($125) + ($14<<2)|0);
(__gcry_mpih_divrem($135,0,$125,$133,$55,$14)|0);
$$0650 = $14;
} else {
$$0650 = $133;
}
} else {
$$0650 = 0;
}
$136 = (__gcry_mpi_alloc_limb_space($$1539664,$24)|0);
HEAP32[$4>>2] = $136;
HEAP32[$5>>2] = $$1539664;
$137 = ($$1539664|0)>(0);
if ($137) {
$$0560801 = 0;
while(1) {
$138 = (($$1537) + ($$0560801<<2)|0);
$139 = HEAP32[$138>>2]|0;
$140 = (($136) + ($$0560801<<2)|0);
HEAP32[$140>>2] = $139;
$141 = (($$0560801) + 1)|0;
$exitcond853 = ($141|0)==($$1539664|0);
if ($exitcond853) {
break;
} else {
$$0560801 = $141;
}
}
}
$142 = (($$0601) + -1)|0;
$143 = 1 << $142;
$144 = ($143|0)>(1);
if ($144) {
$145 = ($$0650|0)<(16);
$146 = (($$0534) + ($14<<2)|0);
$$0591795 = 1;$$0602794 = $136;$$0603793 = $$1539664;$$0605792 = $$1539664;
while(1) {
$147 = ($$0650|0)<($$0605792|0);
if ($147) {
if ($145) {
(__gcry_mpih_mul($$0534,$$0602794,$$0605792,$125,$$0650)|0);
} else {
__gcry_mpih_mul_karatsuba_case($$0534,$$0602794,$$0605792,$125,$$0650,$6);
}
$151 = (($$0605792) + ($$0650))|0;
$152 = ($151|0)>($14|0);
if ($152) {
(__gcry_mpih_divrem($146,0,$$0534,$151,$55,$14)|0);
$$0651 = $14;
} else {
$$0651 = $151;
}
} else {
$148 = ($$0605792|0)<(16);
if ($148) {
(__gcry_mpih_mul($$0534,$125,$$0650,$$0602794,$$0605792)|0);
} else {
__gcry_mpih_mul_karatsuba_case($$0534,$125,$$0650,$$0602794,$$0605792,$6);
}
$149 = (($$0605792) + ($$0650))|0;
$150 = ($149|0)>($14|0);
if ($150) {
(__gcry_mpih_divrem($146,0,$$0534,$149,$55,$14)|0);
$$0651 = $14;
} else {
$$0651 = $149;
}
}
$153 = (__gcry_mpi_alloc_limb_space($$0651,$24)|0);
$154 = (($4) + ($$0591795<<2)|0);
HEAP32[$154>>2] = $153;
$155 = (($5) + ($$0591795<<2)|0);
HEAP32[$155>>2] = $$0651;
$156 = ($$0603793|0)<($$0651|0);
$spec$select = $156 ? $$0651 : $$0603793;
$157 = ($$0651|0)>(0);
if ($157) {
$$0559789 = 0;
while(1) {
$158 = (($$0534) + ($$0559789<<2)|0);
$159 = HEAP32[$158>>2]|0;
$160 = (($153) + ($$0559789<<2)|0);
HEAP32[$160>>2] = $159;
$161 = (($$0559789) + 1)|0;
$exitcond851 = ($161|0)==($$0651|0);
if ($exitcond851) {
break;
} else {
$$0559789 = $161;
}
}
}
$162 = (($$0591795) + 1)|0;
$exitcond852 = ($162|0)==($143|0);
if ($exitcond852) {
$$0603$lcssa = $spec$select;
break;
} else {
$$0591795 = $162;$$0602794 = $153;$$0603793 = $spec$select;$$0605792 = $$0651;
}
}
} else {
$$0603$lcssa = $$1539664;
}
$163 = (__gcry_mpi_alloc_limb_space($$0603$lcssa,$24)|0);
$164 = ($$0603$lcssa|0)>(0);
if ($164) {
$165 = $$0603$lcssa << 2;
_memset(($163|0),0,($165|0))|0;
}
$166 = (($12) + -1)|0;
$167 = ($$0601|0)==(1);
if ($167) {
$$1652 = $$1539664;
} else {
$168 = ($14|0)>(0);
if ($168) {
$169 = $14 << 2;
_memset(($$0534|0),0,($169|0))|0;
$$1652 = $14;
} else {
$$1652 = $14;
}
}
if ($137) {
$$0556778 = 0;
while(1) {
$170 = (($$1537) + ($$0556778<<2)|0);
$171 = HEAP32[$170>>2]|0;
$172 = (($$0534) + ($$0556778<<2)|0);
HEAP32[$172>>2] = $171;
$173 = (($$0556778) + 1)|0;
$exitcond846 = ($173|0)==($$1539664|0);
if ($exitcond846) {
break;
} else {
$$0556778 = $173;
}
}
}
$174 = (($$0535) + ($166<<2)|0);
$175 = HEAP32[$174>>2]|0;
$176 = ($175>>>0)<(65536);
$177 = ($175>>>0)<(256);
$178 = $177 ? 0 : 8;
$179 = ($175>>>0)<(16777216);
$180 = $179 ? 16 : 24;
$181 = $176 ? $178 : $180;
$182 = $175 >>> $181;
$183 = (14784 + ($182)|0);
$184 = HEAP8[$183>>0]|0;
$185 = $184&255;
$$neg692 = (32 - ($185))|0;
$186 = (($$neg692) - ($181))|0;
$187 = $175 << $186;
$188 = $187 << 1;
$189 = (31 - ($186))|0;
$190 = (32 - ($$0601))|0;
$191 = ($142|0)==(31);
$192 = ((($7)) + 4|0);
$193 = ((($8)) + 4|0);
$194 = ((($8)) + 8|0);
$195 = ((($7)) + 8|0);
$196 = ((($8)) + 12|0);
$197 = ((($7)) + 12|0);
$198 = ((($7)) + 16|0);
$199 = ((($8)) + 16|0);
$$0562$ph = $188;$$0568$ph = $189;$$0575$ph = $125;$$0584$ph = 0;$$1$ph = $$0534;$$1592$ph = $166;$$2653$ph = $$1652;
L114: while(1) {
$$0562 = $$0562$ph;$$0568 = $$0568$ph;$$0584 = $$0584$ph;$$1592 = $$1592$ph;
while(1) {
$200 = ($$0562|0)==(0);
if (!($200)) {
break;
}
$201 = (($$0568) + ($$0584))|0;
$202 = (($$1592) + -1)|0;
$203 = ($$1592|0)<(1);
if ($203) {
$$5567 = 0;$$5573 = 0;$$5589 = $201;
break L114;
}
$204 = (($$0535) + ($202<<2)|0);
$205 = HEAP32[$204>>2]|0;
$$0562 = $205;$$0568 = 32;$$0584 = $201;$$1592 = $202;
}
$206 = ($$0562>>>0)<(65536);
$207 = ($$0562>>>0)<(256);
$208 = $207 ? 0 : 8;
$209 = ($$0562>>>0)<(16777216);
$210 = $209 ? 16 : 24;
$211 = $206 ? $208 : $210;
$212 = $$0562 >>> $211;
$213 = (14784 + ($212)|0);
$214 = HEAP8[$213>>0]|0;
$215 = $214&255;
$$neg695 = (32 - ($211))|0;
$216 = (($$neg695) - ($215))|0;
$217 = $$0562 << $216;
$218 = (($$0568) - ($216))|0;
$219 = (($216) + ($$0584))|0;
$220 = ($218|0)<($$0601|0);
if ($220) {
$224 = (($$1592) + -1)|0;
$225 = ($$1592|0)<(1);
if ($225) {
label = 103;
break;
}
$226 = $217 >>> $190;
$227 = (($$0535) + ($224<<2)|0);
$228 = HEAP32[$227>>2]|0;
$229 = (($218) + ($190))|0;
$230 = $228 >>> $229;
$231 = $230 | $226;
$232 = (($$0601) - ($218))|0;
$233 = $228 << $232;
$$0550 = $231;$$1563 = $233;$$1569 = $229;$$2593 = $224;
} else {
$221 = $217 >>> $190;
$222 = $217 << $$0601;
$223 = (($218) - ($$0601))|0;
$$0550 = $221;$$1563 = $222;$$1569 = $223;$$2593 = $$1592;
}
$234 = (0 - ($$0550))|0;
$235 = $$0550 & $234;
$236 = ($235>>>0)<(65536);
$237 = ($235>>>0)<(256);
$238 = $237 ? 0 : 8;
$239 = ($235>>>0)<(16777216);
$240 = $239 ? 16 : 24;
$241 = $236 ? $238 : $240;
$242 = $235 >>> $241;
$243 = (14784 + ($242)|0);
$244 = HEAP8[$243>>0]|0;
$245 = $244&255;
$246 = (($245) + -1)|0;
$247 = (($246) + ($241))|0;
$248 = $$0550 >>> $247;
$249 = $248 >>> 1;
$250 = (($219) + ($$0601))|0;
$251 = (($250) - ($247))|0;
$252 = ($251|0)==(0);
if ($252) {
$$1576$lcssa = $$0575$ph;$$2$lcssa = $$1$ph;$$3654$lcssa = $$2653$ph;
} else {
$$1576764 = $$0575$ph;$$1585763 = $251;$$2765 = $$1$ph;$$3654762 = $$2653$ph;
while(1) {
$253 = ($$3654762|0)<(16);
if ($253) {
(__gcry_mpih_mul($$1576764,$$2765,$$3654762,$$2765,$$3654762)|0);
} else {
__gcry_mpih_mul_karatsuba_case($$1576764,$$2765,$$3654762,$$2765,$$3654762,$6);
}
$254 = $$3654762 << 1;
$255 = ($254|0)>($14|0);
if ($255) {
$256 = (($$1576764) + ($14<<2)|0);
(__gcry_mpih_divrem($256,0,$$1576764,$254,$55,$14)|0);
$storemerge$i613 = $14;
} else {
$storemerge$i613 = $254;
}
$257 = (($$1585763) + -1)|0;
$258 = ($257|0)==(0);
if ($258) {
$$1576$lcssa = $$2765;$$2$lcssa = $$1576764;$$3654$lcssa = $storemerge$i613;
break;
} else {
$$2765$phi = $$1576764;$$1576764$phi = $$2765;$$1585763 = $257;$$3654762 = $storemerge$i613;$$2765 = $$2765$phi;$$1576764 = $$1576764$phi;
}
}
}
do {
if ($191) {
$$1606$lcssa859 = 0;
label = 98;
} else {
$$0582773 = 0;$$1606772 = 0;
while(1) {
$259 = (($5) + ($$0582773<<2)|0);
$260 = HEAP32[$259>>2]|0;
HEAP32[$192>>2] = $260;
HEAP32[$7>>2] = $260;
HEAP32[$193>>2] = $260;
HEAP32[$8>>2] = $260;
HEAP32[$194>>2] = 0;
HEAP32[$195>>2] = 0;
HEAP32[$196>>2] = 0;
HEAP32[$197>>2] = 0;
HEAP32[$198>>2] = $163;
$261 = (($4) + ($$0582773<<2)|0);
$262 = HEAP32[$261>>2]|0;
HEAP32[$199>>2] = $262;
$263 = ($$0582773|0)==($249|0);
$264 = $263&1;
(__gcry_mpi_set_cond($7,$8,$264)|0);
$265 = $263 ? $260 : 0;
$266 = $265 | $$1606772;
$267 = (($$0582773) + 1)|0;
$268 = ($267|0)<($143|0);
if ($268) {
$$0582773 = $267;$$1606772 = $266;
} else {
break;
}
}
$269 = ($266|0)<(16);
if ($269) {
$$1606$lcssa859 = $266;
label = 98;
break;
}
__gcry_mpih_mul_karatsuba_case($$1576$lcssa,$$2$lcssa,$$3654$lcssa,$163,$266,$6);
$$1606$lcssa858 = $266;
}
} while(0);
if ((label|0) == 98) {
label = 0;
(__gcry_mpih_mul($$1576$lcssa,$$2$lcssa,$$3654$lcssa,$163,$$1606$lcssa859)|0);
$$1606$lcssa858 = $$1606$lcssa859;
}
$270 = (($$1606$lcssa858) + ($$3654$lcssa))|0;
$271 = ($270|0)>($14|0);
if ($271) {
$272 = (($$1576$lcssa) + ($14<<2)|0);
(__gcry_mpih_divrem($272,0,$$1576$lcssa,$270,$55,$14)|0);
$$2653$ph$be = $14;
} else {
$$2653$ph$be = $270;
}
$$0562$ph = $$1563;$$0568$ph = $$1569;$$0575$ph = $$2$lcssa;$$0584$ph = $247;$$1$ph = $$1576$lcssa;$$1592$ph = $$2593;$$2653$ph = $$2653$ph$be;
}
if ((label|0) == 103) {
$273 = (32 - ($218))|0;
$274 = $217 >>> $273;
$275 = ($218|0)==(0);
if ($275) {
$$5567 = $274;$$5573 = 0;$$5589 = $219;
} else {
$276 = (($$0568) + ($$0584))|0;
$277 = (0 - ($274))|0;
$278 = $274 & $277;
$279 = ($278>>>0)<(65536);
$280 = ($278>>>0)<(256);
$281 = $280 ? 0 : 8;
$282 = ($278>>>0)<(16777216);
$283 = $282 ? 16 : 24;
$284 = $279 ? $281 : $283;
$285 = $278 >>> $284;
$286 = (14784 + ($285)|0);
$287 = HEAP8[$286>>0]|0;
$288 = $287&255;
$289 = (($284) + -1)|0;
$290 = (($289) + ($288))|0;
$291 = $274 >>> $290;
$292 = (($276) - ($290))|0;
$$5567 = $291;$$5573 = $290;$$5589 = $292;
}
}
$293 = ($$5589|0)==(0);
if ($293) {
$$5580$lcssa = $$0575$ph;$$6$lcssa = $$1$ph;$$7658$lcssa = $$2653$ph;
} else {
$$5580755 = $$0575$ph;$$6590754 = $$5589;$$6756 = $$1$ph;$$7658753 = $$2653$ph;
while(1) {
$294 = (($$6590754) + -1)|0;
$295 = ($$7658753|0)<(16);
if ($295) {
(__gcry_mpih_mul($$5580755,$$6756,$$7658753,$$6756,$$7658753)|0);
} else {
__gcry_mpih_mul_karatsuba_case($$5580755,$$6756,$$7658753,$$6756,$$7658753,$6);
}
$296 = $$7658753 << 1;
$297 = ($296|0)>($14|0);
if ($297) {
$298 = (($$5580755) + ($14<<2)|0);
(__gcry_mpih_divrem($298,0,$$5580755,$296,$55,$14)|0);
$storemerge$i617 = $14;
} else {
$storemerge$i617 = $296;
}
$299 = ($294|0)==(0);
if ($299) {
$$5580$lcssa = $$6756;$$6$lcssa = $$5580755;$$7658$lcssa = $storemerge$i617;
break;
} else {
$$6756$phi = $$5580755;$$5580755$phi = $$6756;$$6590754 = $294;$$7658753 = $storemerge$i617;$$6756 = $$6756$phi;$$5580755 = $$5580755$phi;
}
}
}
$300 = ($$5567|0)==(0);
do {
if ($300) {
$$8 = $$6$lcssa;$$9660 = $$7658$lcssa;
} else {
do {
if ($191) {
$$2607$lcssa861 = 0;
label = 118;
} else {
$301 = ((($9)) + 4|0);
$302 = ((($10)) + 4|0);
$303 = ((($10)) + 8|0);
$304 = ((($9)) + 8|0);
$305 = ((($10)) + 12|0);
$306 = ((($9)) + 12|0);
$307 = ((($9)) + 16|0);
$308 = ((($10)) + 16|0);
$309 = $$5567 >>> 1;
$$1583748 = 0;$$2607747 = 0;
while(1) {
$310 = (($5) + ($$1583748<<2)|0);
$311 = HEAP32[$310>>2]|0;
HEAP32[$301>>2] = $311;
HEAP32[$9>>2] = $311;
HEAP32[$302>>2] = $311;
HEAP32[$10>>2] = $311;
HEAP32[$303>>2] = 0;
HEAP32[$304>>2] = 0;
HEAP32[$305>>2] = 0;
HEAP32[$306>>2] = 0;
HEAP32[$307>>2] = $163;
$312 = (($4) + ($$1583748<<2)|0);
$313 = HEAP32[$312>>2]|0;
HEAP32[$308>>2] = $313;
$314 = ($$1583748|0)==($309|0);
$315 = $314&1;
(__gcry_mpi_set_cond($9,$10,$315)|0);
$316 = $314 ? $311 : 0;
$317 = $316 | $$2607747;
$318 = (($$1583748) + 1)|0;
$319 = ($318|0)<($143|0);
if ($319) {
$$1583748 = $318;$$2607747 = $317;
} else {
break;
}
}
$320 = ($317|0)<(16);
if ($320) {
$$2607$lcssa861 = $317;
label = 118;
break;
}
__gcry_mpih_mul_karatsuba_case($$5580$lcssa,$$6$lcssa,$$7658$lcssa,$163,$317,$6);
$$2607$lcssa860 = $317;
}
} while(0);
if ((label|0) == 118) {
(__gcry_mpih_mul($$5580$lcssa,$$6$lcssa,$$7658$lcssa,$163,$$2607$lcssa861)|0);
$$2607$lcssa860 = $$2607$lcssa861;
}
$321 = (($$2607$lcssa860) + ($$7658$lcssa))|0;
$322 = ($321|0)>($14|0);
if ($322) {
$323 = (($$5580$lcssa) + ($14<<2)|0);
(__gcry_mpih_divrem($323,0,$$5580$lcssa,$321,$55,$14)|0);
$storemerge$i619 = $14;
} else {
$storemerge$i619 = $321;
}
$324 = ($$5573|0)==(0);
if ($324) {
$$8 = $$5580$lcssa;$$9660 = $storemerge$i619;
break;
}
$$6574742 = $$5573;$$6581741 = $$6$lcssa;$$7743 = $$5580$lcssa;$$8659740 = $storemerge$i619;
while(1) {
$325 = ($$8659740|0)<(16);
if ($325) {
(__gcry_mpih_mul($$6581741,$$7743,$$8659740,$$7743,$$8659740)|0);
} else {
__gcry_mpih_mul_karatsuba_case($$6581741,$$7743,$$8659740,$$7743,$$8659740,$6);
}
$326 = $$8659740 << 1;
$327 = ($326|0)>($14|0);
if ($327) {
$328 = (($$6581741) + ($14<<2)|0);
(__gcry_mpih_divrem($328,0,$$6581741,$326,$55,$14)|0);
$storemerge$i621 = $14;
} else {
$storemerge$i621 = $326;
}
$329 = (($$6574742) + -1)|0;
$330 = ($329|0)==(0);
if ($330) {
$$8 = $$6581741;$$9660 = $storemerge$i621;
break;
} else {
$$7743$phi = $$6581741;$$6581741$phi = $$7743;$$6574742 = $329;$$8659740 = $storemerge$i621;$$7743 = $$7743$phi;$$6581741 = $$6581741$phi;
}
}
}
} while(0);
$331 = HEAP32[$37>>2]|0;
do {
if ($72) {
$332 = (__gcry_mpih_lshift($331,$$8,$$9660,$71)|0);
$333 = HEAP32[$37>>2]|0;
$334 = ($332|0)==(0);
if ($334) {
$$10 = $$9660;$$9 = $333;
break;
}
$335 = (($$9660) + 1)|0;
$336 = (($333) + ($$9660<<2)|0);
HEAP32[$336>>2] = $332;
$$10 = $335;$$9 = $333;
} else {
$337 = ($331|0)==($$8|0);
if ($337) {
$$10 = $$9660;$$9 = $$8;
break;
}
$338 = ($$9660|0)>(0);
if (!($338)) {
$$10 = $$9660;$$9 = $331;
break;
}
$$0737 = 0;
while(1) {
$339 = (($$8) + ($$0737<<2)|0);
$340 = HEAP32[$339>>2]|0;
$341 = (($331) + ($$0737<<2)|0);
HEAP32[$341>>2] = $340;
$342 = (($$0737) + 1)|0;
$exitcond = ($342|0)==($$9660|0);
if ($exitcond) {
$$10 = $$9660;$$9 = $331;
break;
} else {
$$0737 = $342;
}
}
}
} while(0);
$343 = ($$10|0)<($14|0);
if ($343) {
$$11 = $$10;
} else {
$344 = (($$9) + ($14<<2)|0);
(__gcry_mpih_divrem($344,0,$$9,$$10,$55,$14)|0);
$$11 = $14;
}
if ($72) {
(__gcry_mpih_rshift($$9,$$9,$$11,$71)|0);
}
$345 = ($$11|0)>(0);
L206: do {
if ($345) {
$$12730 = $$11;
while(1) {
$347 = (($$12730) + -1)|0;
$348 = (($$9) + ($347<<2)|0);
$349 = HEAP32[$348>>2]|0;
$350 = ($349|0)==(0);
if (!($350)) {
$$12$lcssa = $$12730;
break L206;
}
$346 = ($$12730|0)>(1);
if ($346) {
$$12730 = $347;
} else {
$$12$lcssa = $347;
break;
}
}
} else {
$$12$lcssa = $$11;
}
} while(0);
__gcry_mpih_release_karatsuba_ctx($6);
if (!($191)) {
if ($25) {
$$5596728$us = 0;
while(1) {
$351 = (($4) + ($$5596728$us<<2)|0);
$352 = HEAP32[$351>>2]|0;
$353 = (($5) + ($$5596728$us<<2)|0);
$354 = HEAP32[$353>>2]|0;
__gcry_mpi_free_limb_space($352,$354);
$355 = (($$5596728$us) + 1)|0;
$356 = ($355|0)<($143|0);
if ($356) {
$$5596728$us = $355;
} else {
break;
}
}
} else {
$$5596728 = 0;
while(1) {
$357 = (($4) + ($$5596728<<2)|0);
$358 = HEAP32[$357>>2]|0;
__gcry_mpi_free_limb_space($358,0);
$359 = (($$5596728) + 1)|0;
$360 = ($359|0)<($143|0);
if ($360) {
$$5596728 = $359;
} else {
break;
}
}
}
}
$361 = $25 ? $$0603$lcssa : 0;
__gcry_mpi_free_limb_space($163,$361);
$362 = ($$12$lcssa|0)!=(0);
$or$cond = $130 & $362;
L222: do {
if ($or$cond) {
if ($72) {
(__gcry_mpih_rshift($55,$55,$14,$71)|0);
}
$363 = (__gcry_mpih_sub_n($$9,$55,$$9,$$12$lcssa)|0);
$364 = (($14) - ($$12$lcssa))|0;
$365 = ($364|0)==(0);
L227: do {
if (!($365)) {
$366 = (($$9) + ($$12$lcssa<<2)|0);
$367 = (($55) + ($$12$lcssa<<2)|0);
$368 = ((($367)) + 4|0);
$369 = HEAP32[$367>>2]|0;
$370 = (($369) - ($363))|0;
$371 = ((($366)) + 4|0);
HEAP32[$366>>2] = $370;
$372 = ($370>>>0)>($369>>>0);
L229: do {
if ($372) {
$373 = (($364) + -1)|0;
$374 = ($373|0)==(0);
if ($374) {
break L227;
}
$$02637$i$i = $368;$$02836$i$i = $371;$376 = $373;
while(1) {
$378 = ((($$02637$i$i)) + 4|0);
$379 = HEAP32[$$02637$i$i>>2]|0;
$380 = (($379) + -1)|0;
$381 = ((($$02836$i$i)) + 4|0);
HEAP32[$$02836$i$i>>2] = $380;
$382 = ($379|0)==(0);
if (!($382)) {
$$1$i$i = $376;$$127$i$i = $378;$$129$i$i = $381;
break L229;
}
$375 = (($376) + -1)|0;
$377 = ($375|0)==(0);
if ($377) {
break L227;
} else {
$$02637$i$i = $378;$$02836$i$i = $381;$376 = $375;
}
}
} else {
$$1$i$i = $364;$$127$i$i = $368;$$129$i$i = $371;
}
} while(0);
$383 = ($$129$i$i|0)==($$127$i$i|0);
if ($383) {
break;
}
$384 = (($$1$i$i) + -1)|0;
$385 = ($$1$i$i|0)>(1);
if (!($385)) {
break;
}
$$035$i$i = 0;
while(1) {
$386 = (($$127$i$i) + ($$035$i$i<<2)|0);
$387 = HEAP32[$386>>2]|0;
$388 = (($$129$i$i) + ($$035$i$i<<2)|0);
HEAP32[$388>>2] = $387;
$389 = (($$035$i$i) + 1)|0;
$exitcond$i$i = ($389|0)==($384|0);
if ($exitcond$i$i) {
break;
} else {
$$035$i$i = $389;
}
}
}
} while(0);
$390 = ($14|0)>(0);
if (!($390)) {
$$0540 = $17;$$13 = $14;
break;
}
$storemerge725 = $14;
while(1) {
$392 = (($storemerge725) + -1)|0;
$393 = (($$9) + ($392<<2)|0);
$394 = HEAP32[$393>>2]|0;
$395 = ($394|0)==(0);
if (!($395)) {
$$0540 = $17;$$13 = $storemerge725;
break L222;
}
$391 = ($storemerge725|0)>(1);
if ($391) {
$storemerge725 = $392;
} else {
$$0540 = $17;$$13 = $392;
break;
}
}
} else {
$$0540 = 0;$$13 = $$12$lcssa;
}
} while(0);
$396 = HEAP32[$37>>2]|0;
$397 = ($396|0)==($$9|0);
if ($397) {
$$0540$sink = $$0540;$$0548 = $125;$$0561 = $124;$$13$sink = $$13;$$1546 = $$0545;$$1555 = $$0554;$$2544 = $$1543;$$2553 = $$1552;
break;
}
__gcry_assert_failed(64041,64016,786,64026);
// unreachable;
}
} while(0);
$398 = ((($0)) + 4|0);
HEAP32[$398>>2] = $$13$sink;
$399 = ((($0)) + 8|0);
HEAP32[$399>>2] = $$0540$sink;
$400 = ($55|0)==(0|0);
if (!($400)) {
__gcry_mpi_free_limb_space($55,$54);
}
$401 = ($$2544|0)==(0|0);
if (!($401)) {
__gcry_mpi_free_limb_space($$2544,$$2553);
}
$402 = ($$1546|0)==(0|0);
if (!($402)) {
__gcry_mpi_free_limb_space($$1546,$$1555);
}
$403 = ($$0548|0)==(0|0);
if ($403) {
STACKTOP = sp;return;
}
__gcry_mpi_free_limb_space($$0548,$$0561);
STACKTOP = sp;return;
}
function __gcry_mpi_trailing_zeros($0) {
$0 = $0|0;
var $$03436 = 0, $$037 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0);
if ($3) {
$$1 = 0;
return ($$1|0);
}
$4 = ((($0)) + 16|0);
$5 = HEAP32[$4>>2]|0;
$$03436 = 0;$$037 = 0;
while(1) {
$6 = (($5) + ($$037<<2)|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0);
if (!($8)) {
break;
}
$24 = (($$03436) + 32)|0;
$25 = (($$037) + 1)|0;
$26 = ($25>>>0)<($2>>>0);
if ($26) {
$$03436 = $24;$$037 = $25;
} else {
$$1 = $24;
label = 6;
break;
}
}
if ((label|0) == 6) {
return ($$1|0);
}
$9 = (0 - ($7))|0;
$10 = $7 & $9;
$11 = ($10>>>0)<(65536);
$12 = ($10>>>0)<(256);
$13 = $12 ? 0 : 8;
$14 = ($10>>>0)<(16777216);
$15 = $14 ? 16 : 24;
$16 = $11 ? $13 : $15;
$17 = $10 >>> $16;
$18 = (14784 + ($17)|0);
$19 = HEAP8[$18>>0]|0;
$20 = $19&255;
$21 = (($$03436) + -1)|0;
$22 = (($21) + ($16))|0;
$23 = (($22) + ($20))|0;
$$1 = $23;
return ($$1|0);
}
function __gcry_mpi_get_buffer($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (_do_get_buffer($0,$1,0,$2,$3,0)|0);
return ($4|0);
}
function _do_get_buffer($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$0 = 0, $$088 = 0, $$089110 = 0, $$089110$in = 0, $$090 = 0, $$091109 = 0, $$093$lcssa = 0, $$094 = 0, $$1104 = 0, $$2$lcssa = 0, $$295 = 0, $$lcssa = 0, $$pn = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$6 = ($4|0)==(0|0);
if (!($6)) {
$7 = ((($0)) + 8|0);
$8 = HEAP32[$7>>2]|0;
HEAP32[$4>>2] = $8;
}
$9 = ((($0)) + 4|0);
$10 = HEAP32[$9>>2]|0;
$11 = $10 << 2;
HEAP32[$3>>2] = $11;
$12 = ($10|0)==(0);
$spec$select = $12 ? 1 : $11;
$13 = ($spec$select>>>0)<($1>>>0);
$$088 = $13 ? $1 : $spec$select;
$14 = ($2|0)<(0);
$15 = (0 - ($2))|0;
$$pn = $14 ? $15 : $2;
$$0 = (($$088) + ($$pn))|0;
$16 = ($5|0)==(0);
if ($16) {
$17 = ((($0)) + 12|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 & 1;
$20 = ($19|0)==(0);
if ($20) {
$22 = (__gcry_malloc($$0)|0);
$24 = $22;
} else {
label = 5;
}
} else {
label = 5;
}
if ((label|0) == 5) {
$21 = (__gcry_malloc_secure($$0)|0);
$24 = $21;
}
$23 = ($24|0)==(0|0);
if ($23) {
$$090 = 0;
return ($$090|0);
}
$25 = (($24) + ($15)|0);
$$094 = $14 ? $25 : $24;
$26 = HEAP32[$9>>2]|0;
$27 = ($26|0)>(0);
if ($27) {
$28 = ((($0)) + 16|0);
$$089110$in = $26;$$091109 = $$094;
while(1) {
$$089110 = (($$089110$in) + -1)|0;
$29 = HEAP32[$28>>2]|0;
$30 = (($29) + ($$089110<<2)|0);
$31 = HEAP32[$30>>2]|0;
$32 = $31 >>> 24;
$33 = $32&255;
$34 = ((($$091109)) + 1|0);
HEAP8[$$091109>>0] = $33;
$35 = $31 >>> 16;
$36 = $35&255;
$37 = ((($$091109)) + 2|0);
HEAP8[$34>>0] = $36;
$38 = $31 >>> 8;
$39 = $38&255;
$40 = ((($$091109)) + 3|0);
HEAP8[$37>>0] = $39;
$41 = $31&255;
$42 = ((($$091109)) + 4|0);
HEAP8[$40>>0] = $41;
$43 = ($$089110$in|0)>(1);
if ($43) {
$$089110$in = $$089110;$$091109 = $42;
} else {
break;
}
}
}
$44 = ($1|0)==(0);
$$pr = HEAP32[$3>>2]|0;
if (!($44)) {
$45 = $$pr >>> 1;
$46 = ($45|0)==(0);
if (!($46)) {
$47 = (($$pr) + -1)|0;
$$1104 = 0;
while(1) {
$48 = (($$094) + ($$1104)|0);
$49 = HEAP8[$48>>0]|0;
$50 = (($47) - ($$1104))|0;
$51 = (($$094) + ($50)|0);
$52 = HEAP8[$51>>0]|0;
HEAP8[$48>>0] = $52;
HEAP8[$51>>0] = $49;
$53 = (($$1104) + 1)|0;
$exitcond = ($53|0)==($45|0);
if ($exitcond) {
break;
} else {
$$1104 = $53;
}
}
}
$54 = ($$pr>>>0)<($1>>>0);
if ($54) {
$55 = (($$094) + ($$pr)|0);
$56 = (($1) - ($$pr))|0;
_memset(($55|0),0,($56|0))|0;
$$093$lcssa = $1;
} else {
$$093$lcssa = $$pr;
}
HEAP32[$3>>2] = $$093$lcssa;
$$090 = $24;
return ($$090|0);
}
$57 = ($$pr|0)==(0);
if ($57) {
$$090 = $24;
return ($$090|0);
}
$$295 = $$094;$62 = $$pr;
while(1) {
$58 = HEAP8[$$295>>0]|0;
$59 = ($58<<24>>24)==(0);
if (!($59)) {
$$2$lcssa = $$295;$$lcssa = $62;
break;
}
$60 = ((($$295)) + 1|0);
$61 = (($62) + -1)|0;
HEAP32[$3>>2] = $61;
$63 = ($61|0)==(0);
if ($63) {
$$2$lcssa = $60;$$lcssa = 0;
break;
} else {
$$295 = $60;$62 = $61;
}
}
$64 = ($$2$lcssa|0)==($$094|0);
if ($64) {
$$090 = $24;
return ($$090|0);
}
_memmove(($$094|0),($$2$lcssa|0),($$lcssa|0))|0;
$$090 = $24;
return ($$090|0);
}
function __gcry_mpi_get_buffer_extra($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = (_do_get_buffer($0,$1,$2,$3,$4,0)|0);
return ($5|0);
}
function __gcry_mpi_set_buffer($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$lcssa = 0, $$053$add = 0, $$053$ptr = 0, $$053$ptr$lcssa = 0, $$053$ptr63 = 0, $$053$ptr66 = 0, $$055 = 0, $$065 = 0, $$1 = 0, $$154 = 0, $$156 = 0, $$2 = 0, $$257 = 0, $$add = 0, $$add58 = 0, $$pn$add = 0, $$pn$add62 = 0, $$pn$idx$lcssa = 0, $$pn$idx64 = 0, $$pre = 0;
var $$ptr = 0, $$ptr59 = 0, $$ptr60 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $scevgep = 0, $smax = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0|0);
if (!($4)) {
$5 = ((($0)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 & 16;
$8 = ($7|0)==(0);
if (!($8)) {
__gcry_mpi_immutable_failed();
return;
}
}
$9 = (($2) + 3)|0;
$10 = $9 >>> 2;
$11 = HEAP32[$0>>2]|0;
$12 = ($11|0)<($10|0);
if ($12) {
__gcry_mpi_resize($0,$10);
}
$13 = ((($0)) + 8|0);
HEAP32[$13>>2] = $3;
$$pn$add62 = (($2) + -1)|0;
$$053$ptr63 = (($1) + ($$pn$add62)|0);
$14 = ($2|0)>(4);
if ($14) {
$15 = ((($0)) + 16|0);
$16 = $2 ^ -1;
$17 = ($16|0)>(-9);
$smax = $17 ? $16 : -9;
$18 = (($smax) + ($2))|0;
$19 = (($18) + 4)|0;
$20 = $19 >>> 2;
$21 = $19 & -4;
$22 = (($20) + 1)|0;
$23 = (($2) + -5)|0;
$24 = (($23) - ($21))|0;
$$pre = HEAP32[$15>>2]|0;
$$053$ptr66 = $$053$ptr63;$$065 = 0;$$pn$idx64 = $2;
while(1) {
$$053$add = (($$pn$idx64) + -2)|0;
$$ptr = (($1) + ($$053$add)|0);
$25 = HEAP8[$$053$ptr66>>0]|0;
$26 = $25&255;
$$add = (($$pn$idx64) + -3)|0;
$$ptr59 = (($1) + ($$add)|0);
$27 = HEAP8[$$ptr>>0]|0;
$28 = $27&255;
$29 = $28 << 8;
$30 = $29 | $26;
$$add58 = (($$pn$idx64) + -4)|0;
$$ptr60 = (($1) + ($$add58)|0);
$31 = HEAP8[$$ptr59>>0]|0;
$32 = $31&255;
$33 = $32 << 16;
$34 = $30 | $33;
$35 = HEAP8[$$ptr60>>0]|0;
$36 = $35&255;
$37 = $36 << 24;
$38 = $34 | $37;
$39 = (($$065) + 1)|0;
$40 = (($$pre) + ($$065<<2)|0);
HEAP32[$40>>2] = $38;
$$pn$add = (($$pn$idx64) + -5)|0;
$$053$ptr = (($1) + ($$pn$add)|0);
$exitcond = ($39|0)==($22|0);
if ($exitcond) {
break;
} else {
$$053$ptr66 = $$053$ptr;$$065 = $39;$$pn$idx64 = $$add58;
}
}
$41 = (($2) + -4)|0;
$42 = (($41) - ($21))|0;
$scevgep = (($1) + ($24)|0);
$$0$lcssa = $22;$$053$ptr$lcssa = $scevgep;$$pn$idx$lcssa = $42;
} else {
$$0$lcssa = 0;$$053$ptr$lcssa = $$053$ptr63;$$pn$idx$lcssa = $2;
}
$43 = ($$pn$idx$lcssa|0)>(0);
if ($43) {
$44 = ((($$053$ptr$lcssa)) + -1|0);
$45 = HEAP8[$$053$ptr$lcssa>>0]|0;
$46 = $45&255;
$47 = ($44>>>0)<($1>>>0);
if ($47) {
$$055 = $46;$$154 = $44;
} else {
$48 = ((($$053$ptr$lcssa)) + -2|0);
$49 = HEAP8[$44>>0]|0;
$50 = $49&255;
$51 = $50 << 8;
$52 = $51 | $46;
$$055 = $52;$$154 = $48;
}
$53 = ($$154>>>0)<($1>>>0);
if ($53) {
$$156 = $$055;$$2 = $$154;
} else {
$54 = ((($$154)) + -1|0);
$55 = HEAP8[$$154>>0]|0;
$56 = $55&255;
$57 = $56 << 16;
$58 = $57 | $$055;
$$156 = $58;$$2 = $54;
}
$59 = ($$2>>>0)<($1>>>0);
if ($59) {
$$257 = $$156;
} else {
$60 = HEAP8[$$2>>0]|0;
$61 = $60&255;
$62 = $61 << 24;
$63 = $62 | $$156;
$$257 = $63;
}
$64 = ((($0)) + 16|0);
$65 = HEAP32[$64>>2]|0;
$66 = (($$0$lcssa) + 1)|0;
$67 = (($65) + ($$0$lcssa<<2)|0);
HEAP32[$67>>2] = $$257;
$$1 = $66;
} else {
$$1 = $$0$lcssa;
}
$68 = ((($0)) + 4|0);
HEAP32[$68>>2] = $$1;
$69 = ($$1|0)==($10|0);
if ($69) {
return;
} else {
__gcry_assert_failed(64054,64066,377,64077);
// unreachable;
}
}
function __gcry_mpi_scan($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$ = 0, $$0$i = 0, $$0100 = 0, $$0126$i = 0, $$020$i = 0, $$020$i106 = 0, $$04458$i = 0, $$04562$i = 0, $$04661$i = 0, $$04860$i = 0, $$05059$i = 0, $$095$off$i = 0, $$095$off101$i = 0, $$095$off102$i = 0, $$095108$i = 0, $$096$i = 0, $$098128$i = 0, $$099127$i = 0, $$1 = 0, $$1$i = 0;
var $$1100123$i = 0, $$14756$i = 0, $$14955$i = 0, $$157$i = 0, $$192129$i = 0, $$197$i = 0, $$2$i = 0, $$2130$i = 0, $$293124$i = 0, $$3125$i = 0, $$4110$i = 0, $$lobit = 0, $$lobit101 = 0, $$off = 0, $$off$i = 0, $$off103$i = 0, $$off104$i = 0, $$sink = 0, $10 = 0, $100 = 0;
var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0;
var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0;
var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0;
var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0;
var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0;
var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i = 0, $exitcond$i107 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond103 = 0, $spec$select$i = 0, $spec$select105$i = 0, $spec$select106$i = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$5 = ($2|0)==(0|0);
if ($5) {
$197 = 0;
} else {
$6 = (__gcry_is_secure($2)|0);
$7 = ($6|0)!=(0);
$197 = $7;
}
$8 = ($1|0)==(3);
$$ = $8 ? 0 : $3;
switch ($1|0) {
case 1: {
$9 = (($$) + 3)|0;
$10 = $9 >>> 2;
if ($197) {
$11 = (__gcry_mpi_alloc_secure($10)|0);
$14 = $11;
} else {
$12 = (__gcry_mpi_alloc($10)|0);
$14 = $12;
}
$13 = ($$|0)==(0);
if (!($13)) {
__gcry_mpi_set_buffer($14,$2,$$,0);
$15 = HEAP8[$2>>0]|0;
$16 = ($15<<24>>24)<(0);
$$lobit101 = ($15&255) >>> 7;
$17 = $$lobit101&255;
$18 = ((($14)) + 8|0);
HEAP32[$18>>2] = $17;
if ($16) {
$19 = (__gcry_mpi_get_nbits($14)|0);
$20 = ((($14)) + 12|0);
$21 = HEAP32[$20>>2]|0;
$22 = $21 & 16;
$23 = ($22|0)==(0);
if ($23) {
__gcry_mpi_normalize($14);
$24 = ((($14)) + 16|0);
$25 = HEAP32[$24>>2]|0;
$26 = ((($14)) + 4|0);
$27 = HEAP32[$26>>2]|0;
$28 = ($27|0)==(0);
if (!($28)) {
$$020$i = 0;
while(1) {
$29 = (($25) + ($$020$i<<2)|0);
$30 = HEAP32[$29>>2]|0;
$31 = $30 ^ -1;
HEAP32[$29>>2] = $31;
$32 = (($$020$i) + 1)|0;
$exitcond$i = ($32|0)==($27|0);
if ($exitcond$i) {
break;
} else {
$$020$i = $32;
}
}
}
HEAP32[$18>>2] = 0;
$33 = (($19) + -1)|0;
__gcry_mpi_clear_highbit($14,$33);
} else {
__gcry_mpi_immutable_failed();
}
__gcry_mpi_add_ui($14,$14,1);
HEAP32[$18>>2] = 1;
}
}
$34 = ($0|0)==(0|0);
if ($34) {
__gcry_mpi_free($14);
} else {
__gcry_mpi_normalize($14);
HEAP32[$0>>2] = $14;
}
$35 = ($4|0)==(0|0);
if ($35) {
$$1 = 0;
return ($$1|0);
}
HEAP32[$4>>2] = $$;
$$1 = 0;
return ($$1|0);
break;
}
case 5: {
$36 = (($$) + 3)|0;
$37 = $36 >>> 2;
if ($197) {
$38 = (__gcry_mpi_alloc_secure($37)|0);
$41 = $38;
} else {
$39 = (__gcry_mpi_alloc($37)|0);
$41 = $39;
}
$40 = ($$|0)==(0);
if (!($40)) {
__gcry_mpi_set_buffer($41,$2,$$,0);
}
$42 = ($0|0)==(0|0);
if ($42) {
__gcry_mpi_free($41);
} else {
__gcry_mpi_normalize($41);
HEAP32[$0>>2] = $41;
}
$43 = ($4|0)==(0|0);
if ($43) {
$$1 = 0;
return ($$1|0);
}
HEAP32[$4>>2] = $$;
$$1 = 0;
return ($$1|0);
break;
}
case 2: {
$44 = ($$>>>0)<(2);
L135: do {
if ($44) {
$$0$i = 0;$$2$i = 0;
} else {
$45 = HEAP8[$2>>0]|0;
$46 = $45&255;
$47 = $46 << 8;
$48 = ((($2)) + 1|0);
$49 = HEAP8[$48>>0]|0;
$50 = $49&255;
$51 = $47 | $50;
$52 = ($51>>>0)>(16384);
if ($52) {
$$0$i = 0;$$2$i = 0;
} else {
$53 = ((($2)) + 2|0);
$54 = (($51) + 7)|0;
$55 = $54 >>> 3;
$56 = (($55) + 3)|0;
$57 = $56 >>> 2;
if ($197) {
$58 = (__gcry_mpi_alloc_secure($57)|0);
$61 = $58;
} else {
$59 = (__gcry_mpi_alloc($57)|0);
$61 = $59;
}
$60 = ((($61)) + 4|0);
HEAP32[$60>>2] = $57;
$62 = ((($61)) + 8|0);
HEAP32[$62>>2] = 0;
$63 = ($57|0)==(0);
if ($63) {
$$0$i = $61;$$2$i = 2;
} else {
$64 = (0 - ($55))|0;
$65 = $64 & 3;
$66 = ((($61)) + 16|0);
$$04562$i = 2;$$04661$i = $53;$$04860$i = $65;$$05059$i = $57;
L143: while(1) {
$$04458$i = 0;$$14756$i = $$04661$i;$$14955$i = $$04860$i;$$157$i = $$04562$i;
while(1) {
$67 = (($$157$i) + 1)|0;
$68 = ($67>>>0)>($$>>>0);
if ($68) {
break L143;
}
$69 = $$04458$i << 8;
$70 = ((($$14756$i)) + 1|0);
$71 = HEAP8[$$14756$i>>0]|0;
$72 = $71&255;
$73 = $69 | $72;
$74 = (($$14955$i) + 1)|0;
$75 = ($74>>>0)<(4);
if ($75) {
$$04458$i = $73;$$14756$i = $70;$$14955$i = $74;$$157$i = $67;
} else {
break;
}
}
$76 = HEAP32[$66>>2]|0;
$77 = (($$05059$i) + -1)|0;
$78 = (($76) + ($77<<2)|0);
HEAP32[$78>>2] = $73;
$79 = ($$05059$i|0)>(1);
if ($79) {
$$04562$i = $67;$$04661$i = $70;$$04860$i = 0;$$05059$i = $77;
} else {
$$0$i = $61;$$2$i = $67;
break L135;
}
}
__gcry_mpi_free($61);
$$0$i = 0;$$2$i = $67;
}
}
}
} while(0);
$80 = ($4|0)==(0|0);
if (!($80)) {
HEAP32[$4>>2] = $$2$i;
}
$81 = ($0|0)!=(0|0);
$82 = ($$0$i|0)!=(0|0);
$or$cond = $81 & $82;
if ($or$cond) {
__gcry_mpi_normalize($$0$i);
HEAP32[$0>>2] = $$0$i;
$$0100 = $$0$i;
} else {
if ($82) {
__gcry_mpi_free($$0$i);
$$0100 = 0;
} else {
$$0100 = 0;
}
}
$83 = ($$0100|0)==(0|0);
$84 = $83 ? 65 : 0;
$$1 = $84;
return ($$1|0);
break;
}
default: {
if ($8) {
$$off = (($$) + -1)|0;
$85 = ($$off>>>0)<(3);
if ($85) {
$$1 = 66;
return ($$1|0);
}
$86 = ($$|0)==(0);
$87 = HEAP8[$2>>0]|0;
$88 = $87&255;
$89 = $88 << 24;
$90 = ((($2)) + 1|0);
$91 = HEAP8[$90>>0]|0;
$92 = $91&255;
$93 = $92 << 16;
$94 = $93 | $89;
$95 = ((($2)) + 2|0);
$96 = HEAP8[$95>>0]|0;
$97 = $96&255;
$98 = $97 << 8;
$99 = $94 | $98;
$100 = ((($2)) + 3|0);
$101 = HEAP8[$100>>0]|0;
$102 = $101&255;
$103 = $99 | $102;
$104 = ((($2)) + 4|0);
$105 = (($$) + -4)|0;
if (!($86)) {
$106 = ($105|0)!=(0);
$107 = ($103>>>0)>($105>>>0);
$or$cond102 = $106 & $107;
if ($or$cond102) {
$$1 = 67;
return ($$1|0);
}
}
$108 = (($103) + 4)|0;
$109 = (($103) + 3)|0;
$110 = $109 >>> 2;
if ($197) {
$111 = (__gcry_mpi_alloc_secure($110)|0);
$114 = $111;
} else {
$112 = (__gcry_mpi_alloc($110)|0);
$114 = $112;
}
$113 = ($103|0)==(0);
if (!($113)) {
__gcry_mpi_set_buffer($114,$104,$103,0);
$115 = HEAP8[$104>>0]|0;
$116 = ($115<<24>>24)<(0);
$$lobit = ($115&255) >>> 7;
$117 = $$lobit&255;
$118 = ((($114)) + 8|0);
HEAP32[$118>>2] = $117;
if ($116) {
$119 = (__gcry_mpi_get_nbits($114)|0);
$120 = ((($114)) + 12|0);
$121 = HEAP32[$120>>2]|0;
$122 = $121 & 16;
$123 = ($122|0)==(0);
if ($123) {
__gcry_mpi_normalize($114);
$124 = ((($114)) + 16|0);
$125 = HEAP32[$124>>2]|0;
$126 = ((($114)) + 4|0);
$127 = HEAP32[$126>>2]|0;
$128 = ($127|0)==(0);
if (!($128)) {
$$020$i106 = 0;
while(1) {
$129 = (($125) + ($$020$i106<<2)|0);
$130 = HEAP32[$129>>2]|0;
$131 = $130 ^ -1;
HEAP32[$129>>2] = $131;
$132 = (($$020$i106) + 1)|0;
$exitcond$i107 = ($132|0)==($127|0);
if ($exitcond$i107) {
break;
} else {
$$020$i106 = $132;
}
}
}
HEAP32[$118>>2] = 0;
$133 = (($119) + -1)|0;
__gcry_mpi_clear_highbit($114,$133);
} else {
__gcry_mpi_immutable_failed();
}
__gcry_mpi_add_ui($114,$114,1);
HEAP32[$118>>2] = 1;
}
}
$134 = ($4|0)==(0|0);
if (!($134)) {
HEAP32[$4>>2] = $108;
}
$135 = ($0|0)==(0|0);
if ($135) {
__gcry_mpi_free($114);
$$1 = 0;
return ($$1|0);
} else {
__gcry_mpi_normalize($114);
HEAP32[$0>>2] = $114;
$$1 = 0;
return ($$1|0);
}
}
$136 = ($1|0)==(4);
$137 = ($3|0)==(0);
$or$cond103 = $136 & $137;
if (!($or$cond103)) {
$$1 = 45;
return ($$1|0);
}
if ($197) {
$138 = (__gcry_mpi_alloc_secure(0)|0);
$157 = $138;
} else {
$139 = (__gcry_mpi_alloc(0)|0);
$157 = $139;
}
$140 = HEAP8[$2>>0]|0;
$141 = ($140<<24>>24)==(45);
$142 = ((($2)) + 1|0);
$spec$select$i = $141&1;
$spec$select105$i = $141 ? $142 : $2;
$143 = HEAP8[$spec$select105$i>>0]|0;
$144 = ($143<<24>>24)==(48);
if ($144) {
$145 = ((($spec$select105$i)) + 1|0);
$146 = HEAP8[$145>>0]|0;
$147 = ($146<<24>>24)==(120);
$148 = ((($spec$select105$i)) + 2|0);
$spec$select106$i = $147 ? $148 : $spec$select105$i;
$$1$i = $spec$select106$i;
} else {
$$1$i = $spec$select105$i;
}
$149 = (_strlen($$1$i)|0);
$150 = $149 << 2;
$151 = $149 & 1;
$152 = (($150) + 7)|0;
$153 = $152 >>> 3;
$154 = (($153) + 3)|0;
$155 = $154 >>> 2;
$156 = HEAP32[$157>>2]|0;
$158 = ($156>>>0)<($155>>>0);
if ($158) {
__gcry_mpi_resize($157,$155);
$159 = ((($157)) + 4|0);
HEAP32[$159>>2] = $155;
$160 = ((($157)) + 8|0);
HEAP32[$160>>2] = $spec$select$i;
label = 80;
} else {
$161 = ((($157)) + 4|0);
HEAP32[$161>>2] = $155;
$162 = ((($157)) + 8|0);
HEAP32[$162>>2] = $spec$select$i;
$163 = ($155|0)==(0);
if (!($163)) {
label = 80;
}
}
L54: do {
if ((label|0) == 80) {
$164 = (0 - ($153))|0;
$165 = $164 & 3;
$166 = ((($157)) + 16|0);
$$098128$i = $155;$$099127$i = $165;$$192129$i = $151;$$2130$i = $$1$i;
L56: while(1) {
$$0126$i = 0;$$1100123$i = $$099127$i;$$293124$i = $$192129$i;$$3125$i = $$2130$i;
while(1) {
$167 = ($$293124$i|0)==(0);
if ($167) {
$168 = ((($$3125$i)) + 1|0);
$169 = HEAP8[$$3125$i>>0]|0;
$170 = $169 << 24 >> 24;
$171 = ($169<<24>>24)==(0);
if ($171) {
label = 84;
break L56;
} else {
$$095108$i = $170;$$4110$i = $168;
}
} else {
$$095108$i = 48;$$4110$i = $$3125$i;
}
$172 = ((($$4110$i)) + 1|0);
$173 = HEAP8[$$4110$i>>0]|0;
$174 = $173 << 24 >> 24;
$175 = ($173<<24>>24)==(0);
if ($175) {
label = 86;
break L56;
}
$$095$off$i = (($$095108$i) + -48)|0;
$176 = ($$095$off$i>>>0)<(10);
do {
if ($176) {
$$096$i = $$095$off$i;
} else {
$$095$off101$i = (($$095108$i) + -97)|0;
$177 = ($$095$off101$i>>>0)<(6);
if ($177) {
$178 = (($$095108$i) + -87)|0;
$$096$i = $178;
break;
}
$$095$off102$i = (($$095108$i) + -65)|0;
$179 = ($$095$off102$i>>>0)<(6);
if (!($179)) {
label = 92;
break L56;
}
$180 = (($$095108$i) + -55)|0;
$$096$i = $180;
}
} while(0);
$181 = $$096$i << 4;
$$off$i = (($173) + -48)<<24>>24;
$182 = ($$off$i&255)<(10);
if ($182) {
$$sink = -48;
} else {
$$off103$i = (($173) + -97)<<24>>24;
$183 = ($$off103$i&255)<(6);
if ($183) {
$$sink = -87;
} else {
$$off104$i = (($173) + -65)<<24>>24;
$184 = ($$off104$i&255)<(6);
if ($184) {
$$sink = -55;
} else {
label = 96;
break L56;
}
}
}
$185 = (($$sink) + ($174))|0;
$186 = $$0126$i << 8;
$$197$i = $181 | $186;
$187 = $$197$i | $185;
$188 = (($$1100123$i) + 1)|0;
$189 = ($188>>>0)<(4);
if ($189) {
$$0126$i = $187;$$1100123$i = $188;$$293124$i = 0;$$3125$i = $172;
} else {
break;
}
}
$190 = HEAP32[$166>>2]|0;
$191 = (($$098128$i) + -1)|0;
$192 = (($190) + ($191<<2)|0);
HEAP32[$192>>2] = $187;
$193 = ($$098128$i|0)>(1);
if ($193) {
$$098128$i = $191;$$099127$i = 0;$$192129$i = 0;$$2130$i = $172;
} else {
break L54;
}
}
if ((label|0) == 84) {
__gcry_mpi_clear($157);
}
else if ((label|0) == 86) {
__gcry_mpi_clear($157);
}
else if ((label|0) == 92) {
__gcry_mpi_clear($157);
}
else if ((label|0) == 96) {
__gcry_mpi_clear($157);
}
__gcry_mpi_free($157);
$$1 = 65;
return ($$1|0);
}
} while(0);
$194 = ($0|0)==(0|0);
if ($194) {
__gcry_mpi_free($157);
} else {
__gcry_mpi_normalize($157);
HEAP32[$0>>2] = $157;
}
$195 = ($4|0)==(0|0);
if ($195) {
$$1 = 0;
return ($$1|0);
}
$196 = (_strlen($2)|0);
HEAP32[$4>>2] = $196;
$$1 = 0;
return ($$1|0);
}
}
return (0)|0;
}
function __gcry_mpi_print($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0151 = 0, $$0154 = 0, $$0155301 = 0, $$0157 = 0, $$0158$shrunk = 0, $$0159 = 0, $$0160$shrunk = 0, $$0160$shrunk309310314 = 0, $$0163 = 0, $$0262 = 0, $$0265 = 0, $$0269 = 0, $$0273 = 0, $$0277 = 0, $$089110$i = 0, $$089110$i174 = 0, $$089110$i188 = 0, $$089110$i202 = 0, $$089110$i216 = 0, $$089110$in$i = 0;
var $$089110$in$i172 = 0, $$089110$in$i186 = 0, $$089110$in$i200 = 0, $$089110$in$i214 = 0, $$091109$i = 0, $$091109$i173 = 0, $$091109$i187 = 0, $$091109$i201 = 0, $$091109$i215 = 0, $$1152 = 0, $$1263 = 0, $$1266 = 0, $$1270 = 0, $$1274 = 0, $$1278 = 0, $$2$lcssa$i = 0, $$2$lcssa$i180 = 0, $$2$lcssa$i194 = 0, $$2$lcssa$i208 = 0, $$2$lcssa$i222 = 0;
var $$2153$lcssa = 0, $$2153302 = 0, $$2264316 = 0, $$2264317 = 0, $$2267 = 0, $$2271 = 0, $$2275 = 0, $$2279 = 0, $$295$i = 0, $$295$i178 = 0, $$295$i192 = 0, $$295$i206 = 0, $$295$i220 = 0, $$3268 = 0, $$3276 = 0, $$3280 = 0, $$3280307311313 = 0, $$3280308 = 0, $$7 = 0, $$lobit = 0;
var $$lobit296 = 0, $$lobit298 = 0, $$lobit299 = 0, $$not = 0, $$not300 = 0, $$not300$pn = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre303 = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0;
var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0;
var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0;
var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0;
var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0;
var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0;
var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0;
var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0;
var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0;
var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0;
var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0;
var $or$cond = 0, $or$cond166 = 0, $or$cond168 = 0, $scevgep = 0, $spec$select = 0, $spec$select$i = 0, $spec$select$i170 = 0, $spec$select$i184 = 0, $spec$select$i198 = 0, $spec$select$i212 = 0, $spec$select290 = 0, $spec$select292 = 0, $storemerge = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
$6 = (__gcry_mpi_get_nbits($4)|0);
$7 = ($3|0)==(0|0);
$spec$select = $7 ? $5 : $3;
$8 = ((($4)) + 8|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0);
if ($10) {
label = 3;
} else {
$11 = (__gcry_mpi_cmp_ui($4,0)|0);
$12 = ($11|0)==(0);
if ($12) {
label = 3;
} else {
$$0159 = 1;
}
}
if ((label|0) == 3) {
$$0159 = 0;
}
HEAP32[$spec$select>>2] = 0;
switch ($0|0) {
case 1: {
$13 = ((($4)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14 << 2;
$16 = ($14|0)==(0);
$spec$select$i = $16 ? 1 : $15;
$17 = ((($4)) + 12|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 & 1;
$20 = ($19|0)==(0);
if ($20) {
$22 = (__gcry_malloc($spec$select$i)|0);
$24 = $22;
} else {
$21 = (__gcry_malloc_secure($spec$select$i)|0);
$24 = $21;
}
$23 = ($24|0)==(0|0);
if ($23) {
$49 = (_gpg_err_code_from_syserror()|0);
$$7 = $49;
STACKTOP = sp;return ($$7|0);
}
$25 = HEAP32[$13>>2]|0;
$26 = ($25|0)>(0);
if ($26) {
$27 = ((($4)) + 16|0);
$$089110$in$i = $25;$$091109$i = $24;
while(1) {
$$089110$i = (($$089110$in$i) + -1)|0;
$28 = HEAP32[$27>>2]|0;
$29 = (($28) + ($$089110$i<<2)|0);
$30 = HEAP32[$29>>2]|0;
$31 = $30 >>> 24;
$32 = $31&255;
$33 = ((($$091109$i)) + 1|0);
HEAP8[$$091109$i>>0] = $32;
$34 = $30 >>> 16;
$35 = $34&255;
$36 = ((($$091109$i)) + 2|0);
HEAP8[$33>>0] = $35;
$37 = $30 >>> 8;
$38 = $37&255;
$39 = ((($$091109$i)) + 3|0);
HEAP8[$36>>0] = $38;
$40 = $30&255;
$41 = ((($$091109$i)) + 4|0);
HEAP8[$39>>0] = $40;
$42 = ($$089110$in$i|0)>(1);
if ($42) {
$$089110$in$i = $$089110$i;$$091109$i = $41;
} else {
break;
}
}
}
if ($16) {
$$2279 = 0;
} else {
$$0277 = $15;$$295$i = $24;
while(1) {
$43 = HEAP8[$$295$i>>0]|0;
$44 = ($43<<24>>24)==(0);
if (!($44)) {
$$1278 = $$0277;$$2$lcssa$i = $$295$i;
break;
}
$45 = ((($$295$i)) + 1|0);
$46 = (($$0277) + -1)|0;
$47 = ($46|0)==(0);
if ($47) {
$$1278 = 0;$$2$lcssa$i = $45;
break;
} else {
$$0277 = $46;$$295$i = $45;
}
}
$48 = ($$2$lcssa$i|0)==($24|0);
if ($48) {
$$2279 = $$1278;
} else {
_memmove(($24|0),($$2$lcssa$i|0),($$1278|0))|0;
$$2279 = $$1278;
}
}
$50 = ($$0159|0)==(0);
do {
if ($50) {
$56 = ($$2279|0)==(0);
if ($56) {
$57 = ($1|0)==(0|0);
if ($57) {
$$3280308 = 0;
break;
} else {
$$0160$shrunk309310314 = 0;$$0163 = $1;$$3280307311313 = 0;
label = 30;
break;
}
} else {
$58 = HEAP8[$24>>0]|0;
$$lobit296 = ($58&255) >>> 7;
$59 = $$lobit296&255;
$$0160$shrunk = $$lobit296;$$not300$pn = $59;
label = 24;
break;
}
} else {
_twocompl($24,$$2279);
$51 = HEAP8[$24>>0]|0;
$$lobit299 = ($51&255) >>> 7;
$52 = $$lobit299 ^ 1;
$$not300 = $52&255;
$53 = ($51&255) >>> 6;
$54 = $53 & 2;
$55 = $54 ^ 2;
$$0160$shrunk = $55;$$not300$pn = $$not300;
label = 24;
}
} while(0);
L35: do {
if ((label|0) == 24) {
$$3280 = (($$2279) + ($$not300$pn))|0;
$60 = ($1|0)!=(0|0);
$61 = ($$3280>>>0)>($2>>>0);
$or$cond = $60 & $61;
if ($or$cond) {
__gcry_free($24);
$$7 = 66;
STACKTOP = sp;return ($$7|0);
}
if ($60) {
switch ($$0160$shrunk<<24>>24) {
case 0: {
$$0160$shrunk309310314 = $$0160$shrunk;$$0163 = $1;$$3280307311313 = $$3280;
label = 30;
break L35;
break;
}
case 1: {
$62 = ((($1)) + 1|0);
HEAP8[$1>>0] = 0;
$$0160$shrunk309310314 = 1;$$0163 = $62;$$3280307311313 = $$3280;
label = 30;
break L35;
break;
}
default: {
$63 = ((($1)) + 1|0);
HEAP8[$1>>0] = -1;
$$0160$shrunk309310314 = $$0160$shrunk;$$0163 = $63;$$3280307311313 = $$3280;
label = 30;
break L35;
}
}
} else {
$$3280308 = $$3280;
}
}
} while(0);
if ((label|0) == 30) {
$64 = ($$0160$shrunk309310314<<24>>24)!=(0);
$65 = $64&1;
$66 = (($$3280307311313) - ($65))|0;
_memcpy(($$0163|0),($24|0),($66|0))|0;
$$3280308 = $$3280307311313;
}
__gcry_free($24);
HEAP32[$spec$select>>2] = $$3280308;
$$7 = 0;
STACKTOP = sp;return ($$7|0);
break;
}
case 5: {
$67 = (($6) + 7)|0;
$68 = $67 >>> 3;
$69 = ($1|0)!=(0|0);
$70 = ($68>>>0)>($2>>>0);
$or$cond166 = $69 & $70;
if ($or$cond166) {
$$7 = 66;
STACKTOP = sp;return ($$7|0);
}
if ($69) {
$71 = ((($4)) + 4|0);
$72 = HEAP32[$71>>2]|0;
$73 = $72 << 2;
$74 = ($72|0)==(0);
$spec$select$i170 = $74 ? 1 : $73;
$75 = ((($4)) + 12|0);
$76 = HEAP32[$75>>2]|0;
$77 = $76 & 1;
$78 = ($77|0)==(0);
if ($78) {
$80 = (__gcry_malloc($spec$select$i170)|0);
$82 = $80;
} else {
$79 = (__gcry_malloc_secure($spec$select$i170)|0);
$82 = $79;
}
$81 = ($82|0)==(0|0);
if ($81) {
$107 = (_gpg_err_code_from_syserror()|0);
$$7 = $107;
STACKTOP = sp;return ($$7|0);
}
$83 = HEAP32[$71>>2]|0;
$84 = ($83|0)>(0);
if ($84) {
$85 = ((($4)) + 16|0);
$$089110$in$i172 = $83;$$091109$i173 = $82;
while(1) {
$$089110$i174 = (($$089110$in$i172) + -1)|0;
$86 = HEAP32[$85>>2]|0;
$87 = (($86) + ($$089110$i174<<2)|0);
$88 = HEAP32[$87>>2]|0;
$89 = $88 >>> 24;
$90 = $89&255;
$91 = ((($$091109$i173)) + 1|0);
HEAP8[$$091109$i173>>0] = $90;
$92 = $88 >>> 16;
$93 = $92&255;
$94 = ((($$091109$i173)) + 2|0);
HEAP8[$91>>0] = $93;
$95 = $88 >>> 8;
$96 = $95&255;
$97 = ((($$091109$i173)) + 3|0);
HEAP8[$94>>0] = $96;
$98 = $88&255;
$99 = ((($$091109$i173)) + 4|0);
HEAP8[$97>>0] = $98;
$100 = ($$089110$in$i172|0)>(1);
if ($100) {
$$089110$in$i172 = $$089110$i174;$$091109$i173 = $99;
} else {
break;
}
}
}
if ($74) {
$$2275 = 0;
} else {
$$0273 = $73;$$295$i178 = $82;
while(1) {
$101 = HEAP8[$$295$i178>>0]|0;
$102 = ($101<<24>>24)==(0);
if (!($102)) {
$$1274 = $$0273;$$2$lcssa$i180 = $$295$i178;
break;
}
$103 = ((($$295$i178)) + 1|0);
$104 = (($$0273) + -1)|0;
$105 = ($104|0)==(0);
if ($105) {
$$1274 = 0;$$2$lcssa$i180 = $103;
break;
} else {
$$0273 = $104;$$295$i178 = $103;
}
}
$106 = ($$2$lcssa$i180|0)==($82|0);
if ($106) {
$$2275 = $$1274;
} else {
_memmove(($82|0),($$2$lcssa$i180|0),($$1274|0))|0;
$$2275 = $$1274;
}
}
_memcpy(($1|0),($82|0),($$2275|0))|0;
__gcry_free($82);
$$3276 = $$2275;
} else {
$$3276 = $68;
}
HEAP32[$spec$select>>2] = $$3276;
$$7 = 0;
STACKTOP = sp;return ($$7|0);
break;
}
case 2: {
$108 = ($$0159|0)==(0);
if (!($108)) {
$$7 = 45;
STACKTOP = sp;return ($$7|0);
}
$109 = (($6) + 7)|0;
$110 = $109 >>> 3;
$111 = ($1|0)!=(0|0);
$112 = (($110) + 2)|0;
$113 = ($112>>>0)>($2>>>0);
$or$cond168 = $111 & $113;
if ($or$cond168) {
$$7 = 66;
STACKTOP = sp;return ($$7|0);
}
if ($111) {
$114 = $6 >>> 8;
$115 = $114&255;
HEAP8[$1>>0] = $115;
$116 = $6&255;
$117 = ((($1)) + 1|0);
HEAP8[$117>>0] = $116;
$118 = ((($4)) + 4|0);
$119 = HEAP32[$118>>2]|0;
$120 = $119 << 2;
$121 = ($119|0)==(0);
$spec$select$i184 = $121 ? 1 : $120;
$122 = ((($4)) + 12|0);
$123 = HEAP32[$122>>2]|0;
$124 = $123 & 1;
$125 = ($124|0)==(0);
if ($125) {
$127 = (__gcry_malloc($spec$select$i184)|0);
$129 = $127;
} else {
$126 = (__gcry_malloc_secure($spec$select$i184)|0);
$129 = $126;
}
$128 = ($129|0)==(0|0);
if ($128) {
$155 = (_gpg_err_code_from_syserror()|0);
$$7 = $155;
STACKTOP = sp;return ($$7|0);
}
$130 = HEAP32[$118>>2]|0;
$131 = ($130|0)>(0);
if ($131) {
$132 = ((($4)) + 16|0);
$$089110$in$i186 = $130;$$091109$i187 = $129;
while(1) {
$$089110$i188 = (($$089110$in$i186) + -1)|0;
$133 = HEAP32[$132>>2]|0;
$134 = (($133) + ($$089110$i188<<2)|0);
$135 = HEAP32[$134>>2]|0;
$136 = $135 >>> 24;
$137 = $136&255;
$138 = ((($$091109$i187)) + 1|0);
HEAP8[$$091109$i187>>0] = $137;
$139 = $135 >>> 16;
$140 = $139&255;
$141 = ((($$091109$i187)) + 2|0);
HEAP8[$138>>0] = $140;
$142 = $135 >>> 8;
$143 = $142&255;
$144 = ((($$091109$i187)) + 3|0);
HEAP8[$141>>0] = $143;
$145 = $135&255;
$146 = ((($$091109$i187)) + 4|0);
HEAP8[$144>>0] = $145;
$147 = ($$089110$in$i186|0)>(1);
if ($147) {
$$089110$in$i186 = $$089110$i188;$$091109$i187 = $146;
} else {
break;
}
}
}
if ($121) {
$$2271 = 0;
} else {
$$0269 = $120;$$295$i192 = $129;
while(1) {
$148 = HEAP8[$$295$i192>>0]|0;
$149 = ($148<<24>>24)==(0);
if (!($149)) {
$$1270 = $$0269;$$2$lcssa$i194 = $$295$i192;
break;
}
$150 = ((($$295$i192)) + 1|0);
$151 = (($$0269) + -1)|0;
$152 = ($151|0)==(0);
if ($152) {
$$1270 = 0;$$2$lcssa$i194 = $150;
break;
} else {
$$0269 = $151;$$295$i192 = $150;
}
}
$153 = ($$2$lcssa$i194|0)==($129|0);
if ($153) {
$$2271 = $$1270;
} else {
_memmove(($129|0),($$2$lcssa$i194|0),($$1270|0))|0;
$$2271 = $$1270;
}
}
$154 = ((($1)) + 2|0);
_memcpy(($154|0),($129|0),($$2271|0))|0;
__gcry_free($129);
$$pre = (($$2271) + 2)|0;
$$pre$phiZ2D = $$pre;
} else {
$$pre$phiZ2D = $112;
}
HEAP32[$spec$select>>2] = $$pre$phiZ2D;
$$7 = 0;
STACKTOP = sp;return ($$7|0);
break;
}
case 3: {
$156 = ((($4)) + 4|0);
$157 = HEAP32[$156>>2]|0;
$158 = $157 << 2;
$159 = ($157|0)==(0);
$spec$select$i198 = $159 ? 1 : $158;
$160 = ((($4)) + 12|0);
$161 = HEAP32[$160>>2]|0;
$162 = $161 & 1;
$163 = ($162|0)==(0);
if ($163) {
$165 = (__gcry_malloc($spec$select$i198)|0);
$167 = $165;
} else {
$164 = (__gcry_malloc_secure($spec$select$i198)|0);
$167 = $164;
}
$166 = ($167|0)==(0|0);
if ($166) {
$192 = (_gpg_err_code_from_syserror()|0);
$$7 = $192;
STACKTOP = sp;return ($$7|0);
}
$168 = HEAP32[$156>>2]|0;
$169 = ($168|0)>(0);
if ($169) {
$170 = ((($4)) + 16|0);
$$089110$in$i200 = $168;$$091109$i201 = $167;
while(1) {
$$089110$i202 = (($$089110$in$i200) + -1)|0;
$171 = HEAP32[$170>>2]|0;
$172 = (($171) + ($$089110$i202<<2)|0);
$173 = HEAP32[$172>>2]|0;
$174 = $173 >>> 24;
$175 = $174&255;
$176 = ((($$091109$i201)) + 1|0);
HEAP8[$$091109$i201>>0] = $175;
$177 = $173 >>> 16;
$178 = $177&255;
$179 = ((($$091109$i201)) + 2|0);
HEAP8[$176>>0] = $178;
$180 = $173 >>> 8;
$181 = $180&255;
$182 = ((($$091109$i201)) + 3|0);
HEAP8[$179>>0] = $181;
$183 = $173&255;
$184 = ((($$091109$i201)) + 4|0);
HEAP8[$182>>0] = $183;
$185 = ($$089110$in$i200|0)>(1);
if ($185) {
$$089110$in$i200 = $$089110$i202;$$091109$i201 = $184;
} else {
break;
}
}
}
if ($159) {
$$2267 = 0;
} else {
$$0265 = $158;$$295$i206 = $167;
while(1) {
$186 = HEAP8[$$295$i206>>0]|0;
$187 = ($186<<24>>24)==(0);
if (!($187)) {
$$1266 = $$0265;$$2$lcssa$i208 = $$295$i206;
break;
}
$188 = ((($$295$i206)) + 1|0);
$189 = (($$0265) + -1)|0;
$190 = ($189|0)==(0);
if ($190) {
$$1266 = 0;$$2$lcssa$i208 = $188;
break;
} else {
$$0265 = $189;$$295$i206 = $188;
}
}
$191 = ($$2$lcssa$i208|0)==($167|0);
if ($191) {
$$2267 = $$1266;
} else {
_memmove(($167|0),($$2$lcssa$i208|0),($$1266|0))|0;
$$2267 = $$1266;
}
}
$193 = ($$0159|0)==(0);
if ($193) {
$199 = ($$2267|0)==(0);
if ($199) {
$$0158$shrunk = 0;$$3268 = 0;
} else {
$200 = HEAP8[$167>>0]|0;
$$lobit = ($200&255) >>> 7;
$201 = $$lobit&255;
$spec$select292 = (($$2267) + ($201))|0;
$$0158$shrunk = $$lobit;$$3268 = $spec$select292;
}
} else {
_twocompl($167,$$2267);
$194 = HEAP8[$167>>0]|0;
$$lobit298 = ($194&255) >>> 7;
$195 = $$lobit298 ^ 1;
$$not = $195&255;
$spec$select290 = (($$2267) + ($$not))|0;
$196 = ($194&255) >>> 6;
$197 = $196 & 2;
$198 = $197 ^ 2;
$$0158$shrunk = $198;$$3268 = $spec$select290;
}
$202 = ($1|0)==(0|0);
$$pre303 = (($$3268) + 4)|0;
if (!($202)) {
$203 = ($$pre303>>>0)>($2>>>0);
if ($203) {
__gcry_free($167);
$$7 = 66;
STACKTOP = sp;return ($$7|0);
}
$204 = $$3268 >>> 24;
$205 = $204&255;
$206 = ((($1)) + 1|0);
HEAP8[$1>>0] = $205;
$207 = $$3268 >>> 16;
$208 = $207&255;
$209 = ((($1)) + 2|0);
HEAP8[$206>>0] = $208;
$210 = $$3268 >>> 8;
$211 = $210&255;
$212 = ((($1)) + 3|0);
HEAP8[$209>>0] = $211;
$213 = $$3268&255;
$214 = ((($1)) + 4|0);
HEAP8[$212>>0] = $213;
switch ($$0158$shrunk<<24>>24) {
case 1: {
$$sink = 0;
label = 92;
break;
}
case 0: {
$$0157 = $214;
break;
}
default: {
$$sink = -1;
label = 92;
}
}
if ((label|0) == 92) {
$215 = ((($1)) + 5|0);
HEAP8[$214>>0] = $$sink;
$$0157 = $215;
}
$216 = ($$0158$shrunk<<24>>24)!=(0);
$217 = $216&1;
$218 = (($$3268) - ($217))|0;
_memcpy(($$0157|0),($167|0),($218|0))|0;
}
__gcry_free($167);
HEAP32[$spec$select>>2] = $$pre303;
$$7 = 0;
STACKTOP = sp;return ($$7|0);
break;
}
case 4: {
$219 = ((($4)) + 4|0);
$220 = HEAP32[$219>>2]|0;
$221 = $220 << 2;
$222 = ($220|0)==(0);
$spec$select$i212 = $222 ? 1 : $221;
$223 = ((($4)) + 12|0);
$224 = HEAP32[$223>>2]|0;
$225 = $224 & 1;
$226 = ($225|0)==(0);
if ($226) {
$228 = (__gcry_malloc($spec$select$i212)|0);
$230 = $228;
} else {
$227 = (__gcry_malloc_secure($spec$select$i212)|0);
$230 = $227;
}
$229 = ($230|0)==(0|0);
if ($229) {
$255 = (_gpg_err_code_from_syserror()|0);
$$7 = $255;
STACKTOP = sp;return ($$7|0);
}
$231 = HEAP32[$219>>2]|0;
$232 = ($231|0)>(0);
if ($232) {
$233 = ((($4)) + 16|0);
$$089110$in$i214 = $231;$$091109$i215 = $230;
while(1) {
$$089110$i216 = (($$089110$in$i214) + -1)|0;
$234 = HEAP32[$233>>2]|0;
$235 = (($234) + ($$089110$i216<<2)|0);
$236 = HEAP32[$235>>2]|0;
$237 = $236 >>> 24;
$238 = $237&255;
$239 = ((($$091109$i215)) + 1|0);
HEAP8[$$091109$i215>>0] = $238;
$240 = $236 >>> 16;
$241 = $240&255;
$242 = ((($$091109$i215)) + 2|0);
HEAP8[$239>>0] = $241;
$243 = $236 >>> 8;
$244 = $243&255;
$245 = ((($$091109$i215)) + 3|0);
HEAP8[$242>>0] = $244;
$246 = $236&255;
$247 = ((($$091109$i215)) + 4|0);
HEAP8[$245>>0] = $246;
$248 = ($$089110$in$i214|0)>(1);
if ($248) {
$$089110$in$i214 = $$089110$i216;$$091109$i215 = $247;
} else {
break;
}
}
}
if ($222) {
$$2264317 = 0;$292 = 1;
label = 111;
} else {
$$0262 = $221;$$295$i220 = $230;
while(1) {
$249 = HEAP8[$$295$i220>>0]|0;
$250 = ($249<<24>>24)==(0);
if (!($250)) {
$$1263 = $$0262;$$2$lcssa$i222 = $$295$i220;
break;
}
$251 = ((($$295$i220)) + 1|0);
$252 = (($$0262) + -1)|0;
$253 = ($252|0)==(0);
if ($253) {
$$1263 = 0;$$2$lcssa$i222 = $251;
break;
} else {
$$0262 = $252;$$295$i220 = $251;
}
}
$254 = ($$2$lcssa$i222|0)==($230|0);
if (!($254)) {
_memmove(($230|0),($$2$lcssa$i222|0),($$1263|0))|0;
}
$256 = ($$1263|0)==(0);
if ($256) {
$$2264317 = 0;$292 = 1;
label = 111;
} else {
$257 = HEAP8[$230>>0]|0;
$258 = ($257<<24>>24)<(0);
if ($258) {
$$2264317 = $$1263;$292 = 0;
label = 111;
} else {
$$0154 = 0;$$2264316 = $$1263;$293 = 0;
}
}
}
if ((label|0) == 111) {
$$0154 = 2;$$2264316 = $$2264317;$293 = $292;
}
$259 = ($1|0)==(0|0);
$260 = $$2264316 << 1;
$261 = (($$0154) + ($260))|0;
$262 = $261 | $$0159;
$263 = (($262) + 1)|0;
if ($259) {
$storemerge = $263;
} else {
$264 = ($263>>>0)>($2>>>0);
if ($264) {
__gcry_free($230);
$$7 = 66;
STACKTOP = sp;return ($$7|0);
}
$265 = ($$0159|0)==(0);
if ($265) {
$$0151 = $1;
} else {
$266 = ((($1)) + 1|0);
HEAP8[$1>>0] = 45;
$$0151 = $266;
}
$267 = ($$0154|0)==(0);
if ($267) {
$$1152 = $$0151;
} else {
$268 = ((($$0151)) + 1|0);
HEAP8[$$0151>>0] = 48;
$269 = ((($$0151)) + 2|0);
HEAP8[$268>>0] = 48;
$$1152 = $269;
}
if ($293) {
$$2153$lcssa = $$1152;
} else {
$$0155301 = 0;$$2153302 = $$1152;
while(1) {
$270 = (($230) + ($$0155301)|0);
$271 = HEAP8[$270>>0]|0;
$272 = $271&255;
$273 = $272 >>> 4;
$274 = ($271&255)<(160);
$275 = $273 | 48;
$276 = (($273) + 55)|0;
$277 = $274 ? $275 : $276;
$278 = $277&255;
$279 = ((($$2153302)) + 1|0);
HEAP8[$$2153302>>0] = $278;
$280 = $272 & 15;
$281 = ($280>>>0)<(10);
$282 = $280 | 48;
$283 = (($280) + 55)|0;
$284 = $281 ? $282 : $283;
$285 = $284&255;
$286 = ((($$2153302)) + 2|0);
HEAP8[$279>>0] = $285;
$287 = (($$0155301) + 1)|0;
$exitcond = ($287|0)==($$2264316|0);
if ($exitcond) {
break;
} else {
$$0155301 = $287;$$2153302 = $286;
}
}
$scevgep = (($$1152) + ($260)|0);
$$2153$lcssa = $scevgep;
}
$288 = ((($$2153$lcssa)) + 1|0);
HEAP8[$$2153$lcssa>>0] = 0;
$289 = $288;
$290 = $1;
$291 = (($289) - ($290))|0;
$storemerge = $291;
}
HEAP32[$spec$select>>2] = $storemerge;
__gcry_free($230);
$$7 = 0;
STACKTOP = sp;return ($$7|0);
break;
}
default: {
$$7 = 45;
STACKTOP = sp;return ($$7|0);
}
}
return (0)|0;
}
function _twocompl($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$0$in47 = 0, $$0$in47$phi = 0, $$046 = 0, $$048 = 0, $$145 = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$$046 = (($1) + -1)|0;
$2 = ($$046|0)>(-1);
if (!($2)) {
return;
}
$$0$in47 = $1;$$048 = $$046;
while(1) {
$4 = (($0) + ($$048)|0);
$5 = HEAP8[$4>>0]|0;
$6 = ($5<<24>>24)==(0);
if (!($6)) {
break;
}
$$0 = (($$048) + -1)|0;
$3 = ($$0|0)>(-1);
if ($3) {
$$0$in47$phi = $$048;$$048 = $$0;$$0$in47 = $$0$in47$phi;
} else {
label = 22;
break;
}
}
if ((label|0) == 22) {
return;
}
$7 = (($0) + ($$048)|0);
$8 = $5&255;
$9 = $8 & 1;
$10 = ($9|0)==(0);
do {
if ($10) {
$14 = $8 & 2;
$15 = ($14|0)==(0);
if (!($15)) {
$16 = $8 & 252;
$17 = $16 ^ 254;
$18 = $17&255;
$$sink = $18;
break;
}
$19 = $8 & 4;
$20 = ($19|0)==(0);
if (!($20)) {
$21 = $8 & 248;
$22 = $21 ^ 252;
$23 = $22&255;
$$sink = $23;
break;
}
$24 = $8 & 8;
$25 = ($24|0)==(0);
if (!($25)) {
$26 = $8 & 240;
$27 = $26 ^ 248;
$28 = $27&255;
$$sink = $28;
break;
}
$29 = $8 & 16;
$30 = ($29|0)==(0);
if (!($30)) {
$31 = $8 & 224;
$32 = $31 ^ 240;
$33 = $32&255;
$$sink = $33;
break;
}
$34 = $8 & 32;
$35 = ($34|0)==(0);
if (!($35)) {
$36 = $8 & 192;
$37 = $36 ^ 224;
$38 = $37&255;
$$sink = $38;
break;
}
$39 = $8 & 64;
$40 = ($39|0)==(0);
if ($40) {
$$sink = -128;
} else {
$41 = $8 & 128;
$42 = $41 ^ 192;
$43 = $42&255;
$$sink = $43;
}
} else {
$11 = $8 | 1;
$12 = $11 ^ 254;
$13 = $12&255;
$$sink = $13;
}
} while(0);
HEAP8[$7>>0] = $$sink;
$44 = (($$0$in47) + -2)|0;
$45 = ($44|0)>(-1);
if (!($45)) {
return;
}
$$145 = $44;
while(1) {
$46 = (($0) + ($$145)|0);
$47 = HEAP8[$46>>0]|0;
$48 = $47 ^ -1;
HEAP8[$46>>0] = $48;
$49 = (($$145) + -1)|0;
$50 = ($$145|0)>(0);
if ($50) {
$$145 = $49;
} else {
break;
}
}
return;
}
function __gcry_mpi_to_octet_string($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$040 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)!=(0|0);
$5 = $4 ^ 1;
$6 = ($1|0)!=(0|0);
$7 = $6 ^ $5;
if ($7) {
$$040 = 45;
return ($$040|0);
}
if ($4) {
HEAP32[$0>>2] = 0;
}
$8 = (__gcry_mpi_get_nbits($2)|0);
$9 = ((($2)) + 8|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0);
if (!($11)) {
(__gcry_mpi_cmp_ui($2,0)|0);
}
$12 = (($8) + 7)|0;
$13 = $12 >>> 3;
$14 = ($13>>>0)>($3>>>0);
if ($14) {
$$040 = 67;
return ($$040|0);
}
$15 = ($13>>>0)<($3>>>0);
$16 = (($3) - ($13))|0;
$spec$select = $15 ? $16 : 0;
$17 = (($spec$select) + ($13))|0;
if ($6) {
$$0 = $1;
} else {
$18 = ((($2)) + 12|0);
$19 = HEAP32[$18>>2]|0;
$20 = $19 & 1;
$21 = ($20|0)==(0);
if ($21) {
$23 = (__gcry_malloc($17)|0);
$25 = $23;
} else {
$22 = (__gcry_malloc_secure($17)|0);
$25 = $22;
}
$24 = ($25|0)==(0|0);
if ($24) {
$26 = (_gpg_err_code_from_syserror()|0);
$$040 = $26;
return ($$040|0);
} else {
$$0 = $25;
}
}
$27 = ($spec$select|0)==(0);
if (!($27)) {
_memset(($$0|0),0,($spec$select|0))|0;
}
$28 = (($$0) + ($spec$select)|0);
$29 = (__gcry_mpi_print(5,$28,$13,0,$2)|0);
$30 = ($29|0)==(0);
if (!($30)) {
__gcry_free($$0);
$$040 = $29;
return ($$040|0);
}
if (!($4)) {
$$040 = 0;
return ($$040|0);
}
HEAP32[$0>>2] = $$0;
$$040 = 0;
return ($$040|0);
}
function __gcry_mpih_add_n($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$031 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$4 = (0 - ($3))|0;
$5 = (($1) + ($3<<2)|0);
$6 = (($2) + ($3<<2)|0);
$7 = (($0) + ($3<<2)|0);
$$0 = $4;$$031 = 0;
while(1) {
$8 = (($6) + ($$0<<2)|0);
$9 = HEAP32[$8>>2]|0;
$10 = (($5) + ($$0<<2)|0);
$11 = HEAP32[$10>>2]|0;
$12 = (($9) + ($$031))|0;
$13 = ($12>>>0)<($$031>>>0);
$14 = $13&1;
$15 = (($12) + ($11))|0;
$16 = ($15>>>0)<($11>>>0);
$17 = $16&1;
$18 = (($17) + ($14))|0;
$19 = (($7) + ($$0<<2)|0);
HEAP32[$19>>2] = $15;
$20 = (($$0) + 1)|0;
$21 = ($20|0)==(0);
if ($21) {
break;
} else {
$$0 = $20;$$031 = $18;
}
}
return ($18|0);
}
function __gcry_mpih_mod_1($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0251 = 0, $$0255284 = 0, $$0257$lcssa = 0, $$0257283 = 0, $$0258 = 0, $$0262$lcssa = 0, $$0262282 = 0, $$1 = 0, $$1256 = 0, $$1263 = 0, $$2264280 = 0, $$2281 = 0, $$pre = 0, $$pre$phi291Z2D = 0, $$pre$phiZ2D = 0, $$pre290 = 0, $10 = 0, $100 = 0, $101 = 0;
var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0;
var $or$cond266 = 0, $or$cond267 = 0, $or$cond268 = 0, $or$cond269 = 0, $or$cond270 = 0, $spec$select = 0, $spec$select271 = 0, $spec$select272 = 0, $spec$select273 = 0, $spec$select274 = 0, $spec$select275 = 0, $spec$select277 = 0, $spec$select278 = 0, $spec$select279 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($1|0)==(0);
if ($3) {
$$1 = 0;
return ($$1|0);
}
$4 = ($2>>>0)<(65536);
$5 = ($2>>>0)<(256);
$6 = $5 ? 0 : 8;
$7 = ($2>>>0)<(16777216);
$8 = $7 ? 16 : 24;
$9 = $4 ? $6 : $8;
$10 = $2 >>> $9;
$11 = (14784 + ($10)|0);
$12 = HEAP8[$11>>0]|0;
$13 = $12&255;
$14 = (($9) + ($13))|0;
$15 = (32 - ($14))|0;
$16 = ($15|0)==(0);
if ($16) {
$87 = (($1) + -1)|0;
$88 = (($0) + ($87<<2)|0);
$89 = HEAP32[$88>>2]|0;
$90 = ($89>>>0)<($2>>>0);
$91 = (($1) + -2)|0;
$$1263 = $90 ? $89 : 0;
$$1256 = $90 ? $91 : $87;
$92 = ($$1256|0)>(-1);
if (!($92)) {
$$1 = $$1263;
return ($$1|0);
}
$93 = $2 >>> 16;
$94 = $2 & 65535;
$$2264280 = $$1263;$$2281 = $$1256;
while(1) {
$95 = (($0) + ($$2281<<2)|0);
$96 = HEAP32[$95>>2]|0;
$97 = (($$2264280>>>0) / ($93>>>0))&-1;
$98 = Math_imul($97, $93)|0;
$99 = (($$2264280) - ($98))|0;
$100 = Math_imul($97, $94)|0;
$101 = $99 << 16;
$102 = $96 >>> 16;
$103 = $101 | $102;
$104 = ($103>>>0)<($100>>>0);
$105 = (($103) + ($2))|0;
$106 = ($105>>>0)>=($2>>>0);
$107 = ($105>>>0)<($100>>>0);
$or$cond269 = $106 & $107;
$108 = $or$cond269 ? $2 : 0;
$spec$select274 = (($108) + ($105))|0;
$spec$select279 = $104 ? $spec$select274 : $103;
$109 = (($spec$select279) - ($100))|0;
$110 = (($109>>>0) / ($93>>>0))&-1;
$111 = Math_imul($110, $93)|0;
$112 = (($109) - ($111))|0;
$113 = Math_imul($110, $94)|0;
$114 = $112 << 16;
$115 = $96 & 65535;
$116 = $114 | $115;
$117 = ($116>>>0)<($113>>>0);
$118 = (($116) + ($2))|0;
$119 = ($118>>>0)>=($2>>>0);
$120 = ($118>>>0)<($113>>>0);
$or$cond270 = $119 & $120;
$121 = $or$cond270 ? $2 : 0;
$spec$select275 = (($121) + ($118))|0;
$$0 = $117 ? $spec$select275 : $116;
$122 = (($$0) - ($113))|0;
$123 = (($$2281) + -1)|0;
$124 = ($$2281|0)>(0);
if ($124) {
$$2264280 = $122;$$2281 = $123;
} else {
$$1 = $122;
break;
}
}
return ($$1|0);
}
$17 = $2 << $15;
$18 = (($1) + -1)|0;
$19 = (($0) + ($18<<2)|0);
$20 = HEAP32[$19>>2]|0;
$21 = $20 >>> $14;
$22 = ($1|0)>(1);
if ($22) {
$23 = (($1) + -2)|0;
$24 = $17 >>> 16;
$25 = $17 & 65535;
$$0255284 = $23;$$0257283 = $20;$$0262282 = $21;
while(1) {
$26 = (($0) + ($$0255284<<2)|0);
$27 = HEAP32[$26>>2]|0;
$28 = (($$0262282>>>0) / ($24>>>0))&-1;
$29 = Math_imul($28, $24)|0;
$30 = (($$0262282) - ($29))|0;
$31 = Math_imul($28, $25)|0;
$32 = $30 << 16;
$33 = $$0257283 << $15;
$34 = $27 >>> $14;
$35 = $34 | $33;
$36 = $35 >>> 16;
$37 = $36 | $32;
$38 = ($37>>>0)<($31>>>0);
$39 = (($37) + ($17))|0;
$40 = ($39>>>0)>=($17>>>0);
$41 = ($39>>>0)<($31>>>0);
$or$cond = $40 & $41;
$42 = $or$cond ? $17 : 0;
$spec$select = (($42) + ($39))|0;
$spec$select277 = $38 ? $spec$select : $37;
$43 = (($spec$select277) - ($31))|0;
$44 = (($43>>>0) / ($24>>>0))&-1;
$45 = Math_imul($44, $24)|0;
$46 = (($43) - ($45))|0;
$47 = Math_imul($44, $25)|0;
$48 = $46 << 16;
$49 = $35 & 65535;
$50 = $48 | $49;
$51 = ($50>>>0)<($47>>>0);
$52 = (($50) + ($17))|0;
$53 = ($52>>>0)>=($17>>>0);
$54 = ($52>>>0)<($47>>>0);
$or$cond266 = $53 & $54;
$55 = $or$cond266 ? $17 : 0;
$spec$select271 = (($55) + ($52))|0;
$$0258 = $51 ? $spec$select271 : $50;
$56 = (($$0258) - ($47))|0;
$57 = (($$0255284) + -1)|0;
$58 = ($$0255284|0)>(0);
if ($58) {
$$0255284 = $57;$$0257283 = $27;$$0262282 = $56;
} else {
$$0257$lcssa = $27;$$0262$lcssa = $56;$$pre$phi291Z2D = $25;$$pre$phiZ2D = $24;
break;
}
}
} else {
$$pre = $17 >>> 16;
$$pre290 = $17 & 65535;
$$0257$lcssa = $20;$$0262$lcssa = $21;$$pre$phi291Z2D = $$pre290;$$pre$phiZ2D = $$pre;
}
$59 = (($$0262$lcssa>>>0) / ($$pre$phiZ2D>>>0))&-1;
$60 = Math_imul($59, $$pre$phiZ2D)|0;
$61 = (($$0262$lcssa) - ($60))|0;
$62 = Math_imul($59, $$pre$phi291Z2D)|0;
$63 = $61 << 16;
$64 = $$0257$lcssa << $15;
$65 = $64 >>> 16;
$66 = $63 | $65;
$67 = ($66>>>0)<($62>>>0);
$68 = (($66) + ($17))|0;
$69 = ($68>>>0)>=($17>>>0);
$70 = ($68>>>0)<($62>>>0);
$or$cond267 = $69 & $70;
$71 = $or$cond267 ? $17 : 0;
$spec$select272 = (($71) + ($68))|0;
$spec$select278 = $67 ? $spec$select272 : $66;
$72 = (($spec$select278) - ($62))|0;
$73 = (($72>>>0) / ($$pre$phiZ2D>>>0))&-1;
$74 = Math_imul($73, $$pre$phiZ2D)|0;
$75 = (($72) - ($74))|0;
$76 = Math_imul($73, $$pre$phi291Z2D)|0;
$77 = $75 << 16;
$78 = $64 & 65535;
$79 = $77 | $78;
$80 = ($79>>>0)<($76>>>0);
$81 = (($79) + ($17))|0;
$82 = ($81>>>0)>=($17>>>0);
$83 = ($81>>>0)<($76>>>0);
$or$cond268 = $82 & $83;
$84 = $or$cond268 ? $17 : 0;
$spec$select273 = (($84) + ($81))|0;
$$0251 = $80 ? $spec$select273 : $79;
$85 = (($$0251) - ($76))|0;
$86 = $85 >>> $15;
$$1 = $86;
return ($$1|0);
}
function __gcry_mpih_divrem($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$0$lcssa = 0, $$01619$i = 0, $$01619$i715 = 0, $$01619$i717 = 0, $$01619$in$i716 = 0, $$01619$in$i716$phi = 0, $$0578683 = 0, $$0583 = 0, $$0585 = 0, $$0586 = 0, $$0587 = 0, $$0588 = 0, $$0589 = 0, $$0590 = 0, $$0591 = 0, $$0592 = 0, $$0593669 = 0, $$0594 = 0, $$0595 = 0, $$0596 = 0;
var $$0597 = 0, $$0601 = 0, $$0604 = 0, $$0605 = 0, $$0606674 = 0, $$0606674$in = 0, $$0607 = 0, $$0608690 = 0, $$0609 = 0, $$0613 = 0, $$0619 = 0, $$0622 = 0, $$0627 = 0, $$0628 = 0, $$0629 = 0, $$0630 = 0, $$0692 = 0, $$1 = 0, $$1575 = 0, $$1579678 = 0;
var $$1579678$in = 0, $$1581$lcssa = 0, $$1581682 = 0, $$1610$lcssa = 0, $$1610689 = 0, $$1614$lcssa = 0, $$1614688 = 0, $$1620 = 0, $$1623 = 0, $$2576 = 0, $$2582$lcssa = 0, $$2582677 = 0, $$2599 = 0, $$2603 = 0, $$2611 = 0, $$2615 = 0, $$2621 = 0, $$2624 = 0, $$2673 = 0, $$3 = 0;
var $$3577 = 0, $$3600 = 0, $$3612 = 0, $$3616 = 0, $$4 = 0, $$4617 = 0, $$5 = 0, $$5618 = 0, $$lcssa = 0, $$lcssa711 = 0, $$neg663 = 0, $$neg664 = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0;
var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0;
var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0;
var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0;
var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0;
var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $not$or$cond635 = 0;
var $not$or$cond635$demorgan = 0, $or$cond = 0, $or$cond632 = 0, $or$cond633 = 0, $or$cond634 = 0, $or$cond635 = 0, $or$cond636 = 0, $or$cond637 = 0, $or$cond639 = 0, $or$cond640 = 0, $or$cond641 = 0, $or$cond658 = 0, $spec$select = 0, $spec$select631 = 0, $spec$select638 = 0, $spec$select642 = 0, $spec$select643 = 0, $spec$select644 = 0, $spec$select644$v = 0, $spec$select645 = 0;
var $spec$select646 = 0, $spec$select646$v = 0, $spec$select647 = 0, $spec$select648 = 0, $spec$select648$v = 0, $spec$select649 = 0, $spec$select650 = 0, $spec$select650$v = 0, $spec$select651 = 0, $spec$select652 = 0, $spec$select653 = 0, $spec$select654 = 0, $spec$select655 = 0, $spec$select655$v = 0, $spec$select656 = 0, $spec$select657 = 0, $spec$select657$v = 0, $spec$select659 = 0, $spec$select659$v = 0, $spec$select660 = 0;
var $spec$select661 = 0, $spec$select661$v = 0, $spec$select662 = 0, label = 0, sp = 0;
sp = STACKTOP;
switch ($5|0) {
case 0: {
__gcry_divide_by_zero();
// unreachable;
break;
}
case 1: {
$6 = HEAP32[$4>>2]|0;
$7 = (($3) + -1)|0;
$8 = (($2) + ($7<<2)|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9>>>0)<($6>>>0);
$11 = $10 ? 0 : $6;
$spec$select = (($9) - ($11))|0;
$not$ = $10 ^ 1;
$spec$select631 = $not$&1;
$12 = (($0) + ($1<<2)|0);
$13 = ($3|0)>(1);
if ($13) {
$14 = (($3) + -2)|0;
$15 = $6 >>> 16;
$16 = $6 & 65535;
$$0578683 = $14;$$1581682 = $spec$select;
while(1) {
$17 = (($$1581682>>>0) / ($15>>>0))&-1;
$18 = Math_imul($17, $15)|0;
$19 = (($$1581682) - ($18))|0;
$20 = Math_imul($17, $16)|0;
$21 = $19 << 16;
$22 = (($2) + ($$0578683<<2)|0);
$23 = HEAP32[$22>>2]|0;
$24 = $23 >>> 16;
$25 = $24 | $21;
$26 = ($25>>>0)<($20>>>0);
if ($26) {
$27 = (($25) + ($6))|0;
$28 = ($27>>>0)>=($6>>>0);
$29 = ($27>>>0)<($20>>>0);
$or$cond = $28 & $29;
$30 = $or$cond ? $6 : 0;
$spec$select643 = (($30) + ($27))|0;
$spec$select644$v = $or$cond ? -2 : -1;
$spec$select644 = (($spec$select644$v) + ($17))|0;
$$0583 = $spec$select644;$$0586 = $spec$select643;
} else {
$$0583 = $17;$$0586 = $25;
}
$31 = (($$0586) - ($20))|0;
$32 = (($31>>>0) / ($15>>>0))&-1;
$33 = Math_imul($32, $15)|0;
$34 = (($31) - ($33))|0;
$35 = Math_imul($32, $16)|0;
$36 = $34 << 16;
$37 = $23 & 65535;
$38 = $36 | $37;
$39 = ($38>>>0)<($35>>>0);
if ($39) {
$40 = (($38) + ($6))|0;
$41 = ($40>>>0)>=($6>>>0);
$42 = ($40>>>0)<($35>>>0);
$or$cond632 = $41 & $42;
$43 = $or$cond632 ? $6 : 0;
$spec$select645 = (($43) + ($40))|0;
$spec$select646$v = $or$cond632 ? -2 : -1;
$spec$select646 = (($spec$select646$v) + ($32))|0;
$$0585 = $spec$select646;$$0591 = $spec$select645;
} else {
$$0585 = $32;$$0591 = $38;
}
$44 = (($$0591) - ($35))|0;
$45 = $$0583 << 16;
$46 = $$0585 | $45;
$47 = (($12) + ($$0578683<<2)|0);
HEAP32[$47>>2] = $46;
$48 = (($$0578683) + -1)|0;
$49 = ($$0578683|0)>(0);
if ($49) {
$$0578683 = $48;$$1581682 = $44;
} else {
$$1581$lcssa = $44;
break;
}
}
} else {
$$1581$lcssa = $spec$select;
}
$50 = ($1|0)>(0);
if ($50) {
$51 = $6 >>> 16;
$52 = $6 & 65535;
$$1579678$in = $1;$$2582677 = $$1581$lcssa;
while(1) {
$$1579678 = (($$1579678$in) + -1)|0;
$53 = (($$2582677>>>0) / ($51>>>0))&-1;
$54 = Math_imul($53, $51)|0;
$55 = (($$2582677) - ($54))|0;
$56 = Math_imul($53, $52)|0;
$57 = $55 << 16;
$58 = ($57>>>0)<($56>>>0);
if ($58) {
$59 = (($57) + ($6))|0;
$60 = ($59>>>0)>=($6>>>0);
$61 = ($59>>>0)<($56>>>0);
$or$cond633 = $60 & $61;
$62 = $or$cond633 ? $6 : 0;
$spec$select647 = (($62) + ($59))|0;
$spec$select648$v = $or$cond633 ? -2 : -1;
$spec$select648 = (($spec$select648$v) + ($53))|0;
$$0594 = $spec$select648;$$0605 = $spec$select647;
} else {
$$0594 = $53;$$0605 = $57;
}
$63 = (($$0605) - ($56))|0;
$64 = (($63>>>0) / ($51>>>0))&-1;
$65 = Math_imul($64, $51)|0;
$66 = (($63) - ($65))|0;
$67 = Math_imul($64, $52)|0;
$68 = $66 << 16;
$69 = ($68>>>0)<($67>>>0);
if ($69) {
$70 = (($68) + ($6))|0;
$71 = ($70>>>0)>=($6>>>0);
$72 = ($70>>>0)<($67>>>0);
$or$cond634 = $71 & $72;
$73 = $or$cond634 ? $6 : 0;
$spec$select649 = (($73) + ($70))|0;
$spec$select650$v = $or$cond634 ? -2 : -1;
$spec$select650 = (($spec$select650$v) + ($64))|0;
$$0604 = $spec$select650;$$0607 = $spec$select649;
} else {
$$0604 = $64;$$0607 = $68;
}
$74 = (($$0607) - ($67))|0;
$75 = $$0594 << 16;
$76 = $$0604 | $75;
$77 = (($0) + ($$1579678<<2)|0);
HEAP32[$77>>2] = $76;
$78 = ($$1579678$in|0)>(1);
if ($78) {
$$1579678$in = $$1579678;$$2582677 = $74;
} else {
$$2582$lcssa = $74;
break;
}
}
} else {
$$2582$lcssa = $$1581$lcssa;
}
HEAP32[$2>>2] = $$2582$lcssa;
$$3577 = $spec$select631;
return ($$3577|0);
break;
}
case 2: {
$79 = (($3) + -2)|0;
$80 = (($2) + ($79<<2)|0);
$81 = ((($4)) + 4|0);
$82 = HEAP32[$81>>2]|0;
$83 = HEAP32[$4>>2]|0;
$84 = (0 - ($83))|0;
$85 = ((($80)) + 4|0);
$86 = HEAP32[$85>>2]|0;
$87 = HEAP32[$80>>2]|0;
$88 = ($86>>>0)<($82>>>0);
if ($88) {
$$0609 = $86;$$0613 = $87;$$1575 = 0;
} else {
$89 = ($86>>>0)<=($82>>>0);
$90 = ($87>>>0)<($83>>>0);
$or$cond635 = $89 & $90;
$91 = (($87) - ($83))|0;
$92 = (($86) - ($82))|0;
$93 = ($91>>>0)>($87>>>0);
$$neg663 = $93 << 31 >> 31;
$94 = (($92) + ($$neg663))|0;
$spec$select651 = $or$cond635 ? $87 : $91;
$spec$select652 = $or$cond635 ? $86 : $94;
$not$or$cond635$demorgan = $89 & $90;
$not$or$cond635 = $not$or$cond635$demorgan ^ 1;
$spec$select653 = $not$or$cond635&1;
$$0609 = $spec$select652;$$0613 = $spec$select651;$$1575 = $spec$select653;
}
$95 = (($3) + ($1))|0;
$96 = ($95|0)>(2);
if ($96) {
$97 = (($95) + -3)|0;
$98 = $82 >>> 16;
$99 = $82 & 65535;
$100 = ($83|0)!=(0);
$101 = $100&1;
$102 = (($83) - ($101))|0;
$103 = $83 & 65535;
$104 = $83 >>> 16;
$$0608690 = $97;$$0692 = $80;$$1610689 = $$0609;$$1614688 = $$0613;
while(1) {
$105 = ($$0608690|0)<($1|0);
if ($105) {
HEAP32[$$0692>>2] = 0;
$$1 = $$0692;
} else {
$106 = ((($$0692)) + -4|0);
$$1 = $106;
}
$107 = ($$1610689|0)==($82|0);
if ($107) {
$108 = (($$1614688) + ($82))|0;
$109 = ($108>>>0)<($82>>>0);
if ($109) {
$110 = HEAP32[$$1>>2]|0;
$111 = (($110) + ($83))|0;
$112 = (($108) - ($83))|0;
$113 = ($111>>>0)<($110>>>0);
$114 = $113&1;
$115 = (($112) + ($114))|0;
$116 = (($0) + ($$0608690<<2)|0);
HEAP32[$116>>2] = -1;
$$5 = $115;$$5618 = $111;
} else {
$$0619 = -1;$$0622 = $108;$$2611 = $102;$$2615 = $84;
label = 33;
}
} else {
$117 = (($$1610689>>>0) / ($98>>>0))&-1;
$118 = Math_imul($117, $98)|0;
$119 = (($$1610689) - ($118))|0;
$120 = Math_imul($117, $99)|0;
$121 = $119 << 16;
$122 = $$1614688 >>> 16;
$123 = $121 | $122;
$124 = ($123>>>0)<($120>>>0);
if ($124) {
$125 = (($123) + ($82))|0;
$126 = ($125>>>0)>=($82>>>0);
$127 = ($125>>>0)<($120>>>0);
$or$cond636 = $126 & $127;
$128 = $or$cond636 ? $82 : 0;
$spec$select654 = (($128) + ($125))|0;
$spec$select655$v = $or$cond636 ? -2 : -1;
$spec$select655 = (($spec$select655$v) + ($117))|0;
$$0627 = $spec$select655;$$0630 = $spec$select654;
} else {
$$0627 = $117;$$0630 = $123;
}
$129 = (($$0630) - ($120))|0;
$130 = (($129>>>0) / ($98>>>0))&-1;
$131 = Math_imul($130, $98)|0;
$132 = (($129) - ($131))|0;
$133 = Math_imul($130, $99)|0;
$134 = $132 << 16;
$135 = $$1614688 & 65535;
$136 = $134 | $135;
$137 = ($136>>>0)<($133>>>0);
if ($137) {
$138 = (($136) + ($82))|0;
$139 = ($138>>>0)>=($82>>>0);
$140 = ($138>>>0)<($133>>>0);
$or$cond637 = $139 & $140;
$141 = $or$cond637 ? $82 : 0;
$spec$select656 = (($141) + ($138))|0;
$spec$select657$v = $or$cond637 ? -2 : -1;
$spec$select657 = (($spec$select657$v) + ($130))|0;
$$0628 = $spec$select657;$$0629 = $spec$select656;
} else {
$$0628 = $130;$$0629 = $136;
}
$142 = (($$0629) - ($133))|0;
$143 = $$0627 << 16;
$144 = $$0628 | $143;
$145 = $$0628 & 65535;
$146 = $144 >>> 16;
$147 = Math_imul($145, $103)|0;
$148 = Math_imul($146, $103)|0;
$149 = Math_imul($145, $104)|0;
$150 = Math_imul($146, $104)|0;
$151 = $147 >>> 16;
$152 = (($151) + ($149))|0;
$153 = (($152) + ($148))|0;
$154 = ($153>>>0)<($149>>>0);
$155 = (($150) + 65536)|0;
$spec$select638 = $154 ? $155 : $150;
$156 = $153 >>> 16;
$157 = (($spec$select638) + ($156))|0;
$158 = $153 << 16;
$159 = $147 & 65535;
$160 = $158 | $159;
$$0619 = $144;$$0622 = $142;$$2611 = $157;$$2615 = $160;
label = 33;
}
if ((label|0) == 33) {
label = 0;
$161 = HEAP32[$$1>>2]|0;
$$1620 = $$0619;$$1623 = $$0622;$$3612 = $$2611;$$3616 = $$2615;
while(1) {
$162 = ($$3612>>>0)>($$1623>>>0);
if (!($162)) {
$163 = ($$3612|0)==($$1623|0);
$164 = ($$3616>>>0)>($161>>>0);
$or$cond639 = $164 & $163;
if (!($or$cond639)) {
$$2621 = $$1620;$$2624 = $$1623;$$4 = $$3612;$$4617 = $$3616;
break;
}
}
$165 = (($$1620) + -1)|0;
$166 = (($$3616) - ($83))|0;
$167 = ($166>>>0)>($$3616>>>0);
$168 = $167&1;
$169 = (($$3612) - ($168))|0;
$170 = (($$1623) + ($82))|0;
$171 = ($170>>>0)<($82>>>0);
if ($171) {
$$2621 = $165;$$2624 = $170;$$4 = $169;$$4617 = $166;
break;
} else {
$$1620 = $165;$$1623 = $170;$$3612 = $169;$$3616 = $166;
}
}
$172 = (($0) + ($$0608690<<2)|0);
HEAP32[$172>>2] = $$2621;
$173 = (($161) - ($$4617))|0;
$174 = (($$2624) - ($$4))|0;
$175 = ($173>>>0)>($161>>>0);
$$neg664 = $175 << 31 >> 31;
$176 = (($174) + ($$neg664))|0;
$$5 = $176;$$5618 = $173;
}
$177 = (($$0608690) + -1)|0;
$178 = ($$0608690|0)>(0);
if ($178) {
$$0608690 = $177;$$0692 = $$1;$$1610689 = $$5;$$1614688 = $$5618;
} else {
break;
}
}
$$pre = ((($$1)) + 4|0);
$$0$lcssa = $$1;$$1610$lcssa = $$5;$$1614$lcssa = $$5618;$$pre$phiZ2D = $$pre;
} else {
$$0$lcssa = $80;$$1610$lcssa = $$0609;$$1614$lcssa = $$0613;$$pre$phiZ2D = $85;
}
HEAP32[$$pre$phiZ2D>>2] = $$1610$lcssa;
HEAP32[$$0$lcssa>>2] = $$1614$lcssa;
$$3577 = $$1575;
return ($$3577|0);
break;
}
default: {
$179 = (($3) - ($5))|0;
$180 = (($2) + ($179<<2)|0);
$181 = (($5) + -1)|0;
$182 = (($4) + ($181<<2)|0);
$183 = HEAP32[$182>>2]|0;
$184 = (($5) + -2)|0;
$185 = (($4) + ($184<<2)|0);
$186 = HEAP32[$185>>2]|0;
$187 = (($180) + ($181<<2)|0);
$188 = HEAP32[$187>>2]|0;
$189 = ($188>>>0)<($183>>>0);
L3: do {
if ($189) {
$$0601 = $188;$$2576 = 0;
} else {
$190 = ($188>>>0)<=($183>>>0);
$191 = ($5|0)>(1);
$or$cond658 = $191 & $190;
L5: do {
if ($or$cond658) {
$$01619$i715 = (($5) + -2)|0;
$192 = (($180) + ($$01619$i715<<2)|0);
$193 = HEAP32[$192>>2]|0;
$194 = (($4) + ($$01619$i715<<2)|0);
$195 = HEAP32[$194>>2]|0;
$196 = ($193|0)==($195|0);
if ($196) {
$$01619$i717 = $$01619$i715;$$01619$in$i716 = $181;
while(1) {
$197 = ($$01619$in$i716|0)>(1);
if (!($197)) {
break L5;
}
$$01619$i = (($$01619$i717) + -1)|0;
$198 = (($180) + ($$01619$i<<2)|0);
$199 = HEAP32[$198>>2]|0;
$200 = (($4) + ($$01619$i<<2)|0);
$201 = HEAP32[$200>>2]|0;
$202 = ($199|0)==($201|0);
if ($202) {
$$01619$in$i716$phi = $$01619$i717;$$01619$i717 = $$01619$i;$$01619$in$i716 = $$01619$in$i716$phi;
} else {
$$lcssa = $201;$$lcssa711 = $199;
break;
}
}
} else {
$$lcssa = $195;$$lcssa711 = $193;
}
$203 = ($$lcssa711>>>0)>($$lcssa>>>0);
if (!($203)) {
$$0601 = $188;$$2576 = 0;
break L3;
}
}
} while(0);
(__gcry_mpih_sub_n($180,$180,$4,$5)|0);
$204 = HEAP32[$187>>2]|0;
$$0601 = $204;$$2576 = 1;
}
} while(0);
$205 = (($3) + ($1))|0;
$206 = (($205) - ($5))|0;
$207 = ($206|0)>(0);
if (!($207)) {
$$3577 = $$2576;
return ($$3577|0);
}
$208 = ($5|0)>(1);
$209 = $183 >>> 16;
$210 = $183 & 65535;
$211 = $186 & 65535;
$212 = $186 >>> 16;
$$0606674$in = $206;$$2673 = $180;$224 = $$0601;
while(1) {
$$0606674 = (($$0606674$in) + -1)|0;
$213 = ($$0606674$in|0)>($1|0);
if ($213) {
$214 = ((($$2673)) + -4|0);
$215 = (($214) + ($5<<2)|0);
$216 = HEAP32[$215>>2]|0;
$$0595 = $216;$$3 = $214;
} else {
if ($208) {
$217 = ((($$2673)) + 4|0);
$$0593669 = $184;
while(1) {
$218 = (($$2673) + ($$0593669<<2)|0);
$219 = HEAP32[$218>>2]|0;
$220 = (($217) + ($$0593669<<2)|0);
HEAP32[$220>>2] = $219;
$221 = (($$0593669) + -1)|0;
$222 = ($$0593669|0)>(0);
if ($222) {
$$0593669 = $221;
} else {
break;
}
}
}
HEAP32[$$2673>>2] = 0;
$$0595 = $224;$$3 = $$2673;
}
$223 = ($224|0)==($183|0);
L29: do {
if ($223) {
$$2599 = -1;
} else {
$225 = (($224>>>0) / ($209>>>0))&-1;
$226 = Math_imul($225, $209)|0;
$227 = (($224) - ($226))|0;
$228 = Math_imul($225, $210)|0;
$229 = $227 << 16;
$230 = (($$3) + ($181<<2)|0);
$231 = HEAP32[$230>>2]|0;
$232 = $231 >>> 16;
$233 = $232 | $229;
$234 = ($233>>>0)<($228>>>0);
if ($234) {
$235 = (($233) + ($183))|0;
$236 = ($235>>>0)>=($183>>>0);
$237 = ($235>>>0)<($228>>>0);
$or$cond640 = $236 & $237;
$spec$select659$v = $or$cond640 ? -2 : -1;
$spec$select659 = (($spec$select659$v) + ($225))|0;
$238 = $or$cond640 ? $183 : 0;
$spec$select660 = (($238) + ($235))|0;
$$0588 = $spec$select660;$$0590 = $spec$select659;
} else {
$$0588 = $233;$$0590 = $225;
}
$239 = (($$0588) - ($228))|0;
$240 = (($239>>>0) / ($209>>>0))&-1;
$241 = Math_imul($240, $209)|0;
$242 = (($239) - ($241))|0;
$243 = Math_imul($240, $210)|0;
$244 = $242 << 16;
$245 = $231 & 65535;
$246 = $244 | $245;
$247 = ($246>>>0)<($243>>>0);
if ($247) {
$248 = (($246) + ($183))|0;
$249 = ($248>>>0)>=($183>>>0);
$250 = ($248>>>0)<($243>>>0);
$or$cond641 = $249 & $250;
$spec$select661$v = $or$cond641 ? -2 : -1;
$spec$select661 = (($spec$select661$v) + ($240))|0;
$251 = $or$cond641 ? $183 : 0;
$spec$select662 = (($251) + ($248))|0;
$$0587 = $spec$select662;$$0589 = $spec$select661;
} else {
$$0587 = $246;$$0589 = $240;
}
$252 = (($$0587) - ($243))|0;
$253 = $$0590 << 16;
$254 = $$0589 | $253;
$255 = $$0589 & 65535;
$256 = $254 >>> 16;
$257 = Math_imul($255, $211)|0;
$258 = Math_imul($256, $211)|0;
$259 = Math_imul($255, $212)|0;
$260 = Math_imul($256, $212)|0;
$261 = $257 >>> 16;
$262 = (($261) + ($259))|0;
$263 = (($262) + ($258))|0;
$264 = ($263>>>0)<($259>>>0);
$265 = (($260) + 65536)|0;
$spec$select642 = $264 ? $265 : $260;
$266 = $263 >>> 16;
$267 = (($spec$select642) + ($266))|0;
$268 = $263 << 16;
$269 = $257 & 65535;
$270 = $268 | $269;
$271 = (($$3) + ($184<<2)|0);
$$0592 = $252;$$0596 = $267;$$0597 = $254;$$2603 = $270;
while(1) {
$272 = ($$0596>>>0)>($$0592>>>0);
if (!($272)) {
$273 = ($$0596|0)==($$0592|0);
if (!($273)) {
$$2599 = $$0597;
break L29;
}
$274 = HEAP32[$271>>2]|0;
$275 = ($$2603>>>0)>($274>>>0);
if (!($275)) {
$$2599 = $$0597;
break L29;
}
}
$276 = (($$0597) + -1)|0;
$277 = (($$0592) + ($183))|0;
$278 = ($277>>>0)<($183>>>0);
if ($278) {
$$2599 = $276;
break L29;
}
$279 = ($$2603>>>0)<($186>>>0);
$280 = $279&1;
$281 = (($$0596) - ($280))|0;
$282 = (($$2603) - ($186))|0;
$$0592 = $277;$$0596 = $281;$$0597 = $276;$$2603 = $282;
}
}
} while(0);
$283 = (__gcry_mpih_submul_1($$3,$4,$5,$$2599)|0);
$284 = ($$0595|0)==($283|0);
if ($284) {
$$3600 = $$2599;
} else {
$285 = (($$2599) + -1)|0;
(__gcry_mpih_add_n($$3,$$3,$4,$5)|0);
$$3600 = $285;
}
$286 = (($0) + ($$0606674<<2)|0);
HEAP32[$286>>2] = $$3600;
$287 = (($$3) + ($181<<2)|0);
$288 = HEAP32[$287>>2]|0;
$289 = ($$0606674$in|0)>(1);
if ($289) {
$$0606674$in = $$0606674;$$2673 = $$3;$224 = $288;
} else {
$$3577 = $$2576;
break;
}
}
return ($$3577|0);
}
}
return (0)|0;
}
function __gcry_mpih_divmod_1($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0257 = 0, $$0258 = 0, $$0259 = 0, $$0260 = 0, $$0261293 = 0, $$0263$lcssa = 0, $$0263292 = 0, $$0264 = 0, $$0265 = 0, $$0266 = 0, $$0267 = 0, $$0268$lcssa = 0, $$0268291 = 0, $$1 = 0, $$1262 = 0, $$1269 = 0;
var $$2270289 = 0, $$2290 = 0, $$pre = 0, $$pre$phi300Z2D = 0, $$pre$phiZ2D = 0, $$pre299 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond272 = 0;
var $or$cond273 = 0, $or$cond274 = 0, $or$cond275 = 0, $or$cond276 = 0, $spec$select = 0, $spec$select$v = 0, $spec$select278 = 0, $spec$select279 = 0, $spec$select279$v = 0, $spec$select280 = 0, $spec$select281 = 0, $spec$select281$v = 0, $spec$select282 = 0, $spec$select283 = 0, $spec$select283$v = 0, $spec$select284 = 0, $spec$select285 = 0, $spec$select285$v = 0, $spec$select286 = 0, $spec$select287 = 0;
var $spec$select287$v = 0, $spec$select288 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($2|0)==(0);
if ($4) {
$$1 = 0;
return ($$1|0);
}
$5 = ($3>>>0)<(65536);
$6 = ($3>>>0)<(256);
$7 = $6 ? 0 : 8;
$8 = ($3>>>0)<(16777216);
$9 = $8 ? 16 : 24;
$10 = $5 ? $7 : $9;
$11 = $3 >>> $10;
$12 = (14784 + ($11)|0);
$13 = HEAP8[$12>>0]|0;
$14 = $13&255;
$15 = (($10) + ($14))|0;
$16 = (32 - ($15))|0;
$17 = ($16|0)==(0);
if ($17) {
$94 = (($2) + -1)|0;
$95 = (($1) + ($94<<2)|0);
$96 = HEAP32[$95>>2]|0;
$97 = ($96>>>0)<($3>>>0);
if ($97) {
$98 = (($0) + ($94<<2)|0);
$99 = (($2) + -2)|0;
HEAP32[$98>>2] = 0;
$$1262 = $99;$$1269 = $96;
} else {
$$1262 = $94;$$1269 = 0;
}
$100 = ($$1262|0)>(-1);
if (!($100)) {
$$1 = $$1269;
return ($$1|0);
}
$101 = $3 >>> 16;
$102 = $3 & 65535;
$$2270289 = $$1269;$$2290 = $$1262;
while(1) {
$103 = (($1) + ($$2290<<2)|0);
$104 = HEAP32[$103>>2]|0;
$105 = (($$2270289>>>0) / ($101>>>0))&-1;
$106 = Math_imul($105, $101)|0;
$107 = (($$2270289) - ($106))|0;
$108 = Math_imul($105, $102)|0;
$109 = $107 << 16;
$110 = $104 >>> 16;
$111 = $109 | $110;
$112 = ($111>>>0)<($108>>>0);
if ($112) {
$113 = (($111) + ($3))|0;
$114 = ($113>>>0)>=($3>>>0);
$115 = ($113>>>0)<($108>>>0);
$or$cond275 = $114 & $115;
$spec$select285$v = $or$cond275 ? -2 : -1;
$spec$select285 = (($spec$select285$v) + ($105))|0;
$116 = $or$cond275 ? $3 : 0;
$spec$select286 = (($116) + ($113))|0;
$$0252 = $spec$select286;$$0254 = $spec$select285;
} else {
$$0252 = $111;$$0254 = $105;
}
$117 = (($$0252) - ($108))|0;
$118 = (($117>>>0) / ($101>>>0))&-1;
$119 = Math_imul($118, $101)|0;
$120 = (($117) - ($119))|0;
$121 = Math_imul($118, $102)|0;
$122 = $120 << 16;
$123 = $104 & 65535;
$124 = $122 | $123;
$125 = ($124>>>0)<($121>>>0);
if ($125) {
$126 = (($124) + ($3))|0;
$127 = ($126>>>0)>=($3>>>0);
$128 = ($126>>>0)<($121>>>0);
$or$cond276 = $127 & $128;
$spec$select287$v = $or$cond276 ? -2 : -1;
$spec$select287 = (($spec$select287$v) + ($118))|0;
$129 = $or$cond276 ? $3 : 0;
$spec$select288 = (($129) + ($126))|0;
$$0 = $spec$select288;$$0253 = $spec$select287;
} else {
$$0 = $124;$$0253 = $118;
}
$130 = (($$0) - ($121))|0;
$131 = $$0254 << 16;
$132 = $$0253 | $131;
$133 = (($0) + ($$2290<<2)|0);
HEAP32[$133>>2] = $132;
$134 = (($$2290) + -1)|0;
$135 = ($$2290|0)>(0);
if ($135) {
$$2270289 = $130;$$2290 = $134;
} else {
$$1 = $130;
break;
}
}
return ($$1|0);
}
$18 = $3 << $16;
$19 = (($2) + -1)|0;
$20 = (($1) + ($19<<2)|0);
$21 = HEAP32[$20>>2]|0;
$22 = $21 >>> $15;
$23 = ($2|0)>(1);
if ($23) {
$24 = (($2) + -2)|0;
$25 = $18 >>> 16;
$26 = $18 & 65535;
$$0261293 = $24;$$0263292 = $21;$$0268291 = $22;
while(1) {
$27 = (($1) + ($$0261293<<2)|0);
$28 = HEAP32[$27>>2]|0;
$29 = (($$0268291>>>0) / ($25>>>0))&-1;
$30 = Math_imul($29, $25)|0;
$31 = (($$0268291) - ($30))|0;
$32 = Math_imul($29, $26)|0;
$33 = $31 << 16;
$34 = $$0263292 << $16;
$35 = $28 >>> $15;
$36 = $35 | $34;
$37 = $36 >>> 16;
$38 = $37 | $33;
$39 = ($38>>>0)<($32>>>0);
if ($39) {
$40 = (($38) + ($18))|0;
$41 = ($40>>>0)>=($18>>>0);
$42 = ($40>>>0)<($32>>>0);
$or$cond = $41 & $42;
$spec$select$v = $or$cond ? -2 : -1;
$spec$select = (($spec$select$v) + ($29))|0;
$43 = $or$cond ? $18 : 0;
$spec$select278 = (($43) + ($40))|0;
$$0265 = $spec$select278;$$0267 = $spec$select;
} else {
$$0265 = $38;$$0267 = $29;
}
$44 = (($$0265) - ($32))|0;
$45 = (($44>>>0) / ($25>>>0))&-1;
$46 = Math_imul($45, $25)|0;
$47 = (($44) - ($46))|0;
$48 = Math_imul($45, $26)|0;
$49 = $47 << 16;
$50 = $36 & 65535;
$51 = $49 | $50;
$52 = ($51>>>0)<($48>>>0);
if ($52) {
$53 = (($51) + ($18))|0;
$54 = ($53>>>0)>=($18>>>0);
$55 = ($53>>>0)<($48>>>0);
$or$cond272 = $54 & $55;
$spec$select279$v = $or$cond272 ? -2 : -1;
$spec$select279 = (($spec$select279$v) + ($45))|0;
$56 = $or$cond272 ? $18 : 0;
$spec$select280 = (($56) + ($53))|0;
$$0264 = $spec$select280;$$0266 = $spec$select279;
} else {
$$0264 = $51;$$0266 = $45;
}
$57 = (($$0264) - ($48))|0;
$58 = $$0267 << 16;
$59 = $$0266 | $58;
$60 = (($$0261293) + 1)|0;
$61 = (($0) + ($60<<2)|0);
HEAP32[$61>>2] = $59;
$62 = (($$0261293) + -1)|0;
$63 = ($$0261293|0)>(0);
if ($63) {
$$0261293 = $62;$$0263292 = $28;$$0268291 = $57;
} else {
$$0263$lcssa = $28;$$0268$lcssa = $57;$$pre$phi300Z2D = $26;$$pre$phiZ2D = $25;
break;
}
}
} else {
$$pre = $18 >>> 16;
$$pre299 = $18 & 65535;
$$0263$lcssa = $21;$$0268$lcssa = $22;$$pre$phi300Z2D = $$pre299;$$pre$phiZ2D = $$pre;
}
$64 = (($$0268$lcssa>>>0) / ($$pre$phiZ2D>>>0))&-1;
$65 = Math_imul($64, $$pre$phiZ2D)|0;
$66 = (($$0268$lcssa) - ($65))|0;
$67 = Math_imul($64, $$pre$phi300Z2D)|0;
$68 = $66 << 16;
$69 = $$0263$lcssa << $16;
$70 = $69 >>> 16;
$71 = $68 | $70;
$72 = ($71>>>0)<($67>>>0);
if ($72) {
$73 = (($71) + ($18))|0;
$74 = ($73>>>0)>=($18>>>0);
$75 = ($73>>>0)<($67>>>0);
$or$cond273 = $74 & $75;
$spec$select281$v = $or$cond273 ? -2 : -1;
$spec$select281 = (($spec$select281$v) + ($64))|0;
$76 = $or$cond273 ? $18 : 0;
$spec$select282 = (($76) + ($73))|0;
$$0258 = $spec$select282;$$0260 = $spec$select281;
} else {
$$0258 = $71;$$0260 = $64;
}
$77 = (($$0258) - ($67))|0;
$78 = (($77>>>0) / ($$pre$phiZ2D>>>0))&-1;
$79 = Math_imul($78, $$pre$phiZ2D)|0;
$80 = (($77) - ($79))|0;
$81 = Math_imul($78, $$pre$phi300Z2D)|0;
$82 = $80 << 16;
$83 = $69 & 65535;
$84 = $82 | $83;
$85 = ($84>>>0)<($81>>>0);
if ($85) {
$86 = (($84) + ($18))|0;
$87 = ($86>>>0)>=($18>>>0);
$88 = ($86>>>0)<($81>>>0);
$or$cond274 = $87 & $88;
$spec$select283$v = $or$cond274 ? -2 : -1;
$spec$select283 = (($spec$select283$v) + ($78))|0;
$89 = $or$cond274 ? $18 : 0;
$spec$select284 = (($89) + ($86))|0;
$$0257 = $spec$select284;$$0259 = $spec$select283;
} else {
$$0257 = $84;$$0259 = $78;
}
$90 = (($$0257) - ($81))|0;
$91 = $$0260 << 16;
$92 = $$0259 | $91;
HEAP32[$0>>2] = $92;
$93 = $90 >>> $16;
$$1 = $93;
return ($$1|0);
}
function __gcry_mpih_lshift($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$lcssa = 0, $$034$lcssa = 0, $$03435 = 0, $$036 = 0, $$036$phi = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (32 - ($3))|0;
$5 = (($2) + -1)|0;
$6 = (($1) + ($5<<2)|0);
$7 = HEAP32[$6>>2]|0;
$8 = $7 >>> $4;
$9 = ($2|0)>(1);
if ($9) {
$10 = (($2) + -2)|0;
$$03435 = $7;$$036 = $5;$12 = $10;
while(1) {
$11 = (($1) + ($12<<2)|0);
$13 = HEAP32[$11>>2]|0;
$14 = $$03435 << $3;
$15 = $13 >>> $4;
$16 = $15 | $14;
$17 = (($0) + ($$036<<2)|0);
HEAP32[$17>>2] = $16;
$18 = (($12) + -1)|0;
$19 = ($12|0)>(0);
if ($19) {
$$036$phi = $12;$$03435 = $13;$12 = $18;$$036 = $$036$phi;
} else {
$$0$lcssa = 0;$$034$lcssa = $13;
break;
}
}
} else {
$$0$lcssa = $5;$$034$lcssa = $7;
}
$20 = $$034$lcssa << $3;
$21 = (($0) + ($$0$lcssa<<2)|0);
HEAP32[$21>>2] = $20;
return ($8|0);
}
function __gcry_mpih_mul_1($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$067 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (0 - ($2))|0;
$5 = (($1) + ($2<<2)|0);
$6 = (($0) + ($2<<2)|0);
$7 = $3 & 65535;
$8 = $3 >>> 16;
$$0 = 0;$$067 = $4;
while(1) {
$9 = (($5) + ($$067<<2)|0);
$10 = HEAP32[$9>>2]|0;
$11 = $10 & 65535;
$12 = $10 >>> 16;
$13 = Math_imul($11, $7)|0;
$14 = Math_imul($11, $8)|0;
$15 = Math_imul($12, $7)|0;
$16 = Math_imul($12, $8)|0;
$17 = $13 >>> 16;
$18 = (($15) + ($14))|0;
$19 = (($18) + ($17))|0;
$20 = ($19>>>0)<($15>>>0);
$21 = (($16) + 65536)|0;
$spec$select = $20 ? $21 : $16;
$22 = $19 >>> 16;
$23 = (($spec$select) + ($22))|0;
$24 = $19 << 16;
$25 = $13 & 65535;
$26 = $24 | $25;
$27 = (($26) + ($$0))|0;
$28 = ($27>>>0)<($$0>>>0);
$29 = $28&1;
$30 = (($23) + ($29))|0;
$31 = (($6) + ($$067<<2)|0);
HEAP32[$31>>2] = $27;
$32 = (($$067) + 1)|0;
$33 = ($32|0)==(0);
if ($33) {
break;
} else {
$$0 = $30;$$067 = $32;
}
}
return ($30|0);
}
function __gcry_mpih_submul_1($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$076 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (0 - ($2))|0;
$5 = (($0) + ($2<<2)|0);
$6 = (($1) + ($2<<2)|0);
$7 = $3 & 65535;
$8 = $3 >>> 16;
$$0 = 0;$$076 = $4;
while(1) {
$9 = (($6) + ($$076<<2)|0);
$10 = HEAP32[$9>>2]|0;
$11 = $10 & 65535;
$12 = $10 >>> 16;
$13 = Math_imul($11, $7)|0;
$14 = Math_imul($11, $8)|0;
$15 = Math_imul($12, $7)|0;
$16 = Math_imul($12, $8)|0;
$17 = $13 >>> 16;
$18 = (($15) + ($14))|0;
$19 = (($18) + ($17))|0;
$20 = ($19>>>0)<($15>>>0);
$21 = (($16) + 65536)|0;
$spec$select = $20 ? $21 : $16;
$22 = $19 >>> 16;
$23 = (($spec$select) + ($22))|0;
$24 = $19 << 16;
$25 = $13 & 65535;
$26 = $24 | $25;
$27 = (($26) + ($$0))|0;
$28 = ($27>>>0)<($$0>>>0);
$29 = $28&1;
$30 = (($23) + ($29))|0;
$31 = (($5) + ($$076<<2)|0);
$32 = HEAP32[$31>>2]|0;
$33 = (($32) - ($27))|0;
$34 = ($33>>>0)>($32>>>0);
$35 = $34&1;
$36 = (($30) + ($35))|0;
HEAP32[$31>>2] = $33;
$37 = (($$076) + 1)|0;
$38 = ($37|0)==(0);
if ($38) {
break;
} else {
$$0 = $36;$$076 = $37;
}
}
return ($36|0);
}
function _mul_n_basecase($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0515 = 0, $$052 = 0, $$0533 = 0, $$0544 = 0, $$2 = 0, $$pn = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond12 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = HEAP32[$2>>2]|0;
$5 = ($4>>>0)<(2);
L1: do {
if ($5) {
$6 = ($4|0)==(1);
$7 = ($3|0)>(0);
if ($6) {
if ($7) {
$$0515 = 0;
while(1) {
$8 = (($1) + ($$0515<<2)|0);
$9 = HEAP32[$8>>2]|0;
$10 = (($0) + ($$0515<<2)|0);
HEAP32[$10>>2] = $9;
$11 = (($$0515) + 1)|0;
$exitcond12 = ($11|0)==($3|0);
if ($exitcond12) {
$$052 = 0;
break L1;
} else {
$$0515 = $11;
}
}
}
} else {
if ($7) {
$12 = $3 << 2;
_memset(($0|0),0,($12|0))|0;
$$052 = 0;
break;
}
}
$14 = (($0) + ($3<<2)|0);
HEAP32[$14>>2] = 0;
return;
} else {
$13 = (__gcry_mpih_mul_1($0,$1,$3,$4)|0);
$$052 = $13;
}
} while(0);
$15 = (($0) + ($3<<2)|0);
HEAP32[$15>>2] = $$052;
$16 = ($3|0)>(1);
if (!($16)) {
return;
}
$$0533 = 1;$$pn = $0;
while(1) {
$$0544 = ((($$pn)) + 4|0);
$17 = (($2) + ($$0533<<2)|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18>>>0)<(2);
if ($19) {
$20 = ($18|0)==(1);
if ($20) {
$21 = (__gcry_mpih_add_n($$0544,$$0544,$1,$3)|0);
$$2 = $21;
} else {
$$2 = 0;
}
} else {
$22 = (__gcry_mpih_addmul_1($$0544,$1,$3,$18)|0);
$$2 = $22;
}
$23 = (($$0544) + ($3<<2)|0);
HEAP32[$23>>2] = $$2;
$24 = (($$0533) + 1)|0;
$exitcond = ($24|0)==($3|0);
if ($exitcond) {
break;
} else {
$$0533 = $24;$$pn = $$0544;
}
}
return;
}
function _mul_n($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0153201 = 0, $$0154233 = 0, $$0154234 = 0, $$0155 = 0, $$01619$i = 0, $$01619$i171 = 0, $$01619$in$i = 0, $$01619$in$i170 = 0, $$0200 = 0, $$02637$i = 0, $$02637$i157 = 0, $$1 = 0, $$pn = 0, $$pn232 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = $3 & 1;
$6 = ($5|0)==(0);
if (!($6)) {
$7 = (($3) + -1)|0;
$8 = ($3|0)<(17);
if ($8) {
_mul_n_basecase($0,$1,$2,$7);
} else {
_mul_n($0,$1,$2,$7,$4);
}
$9 = (($0) + ($7<<2)|0);
$10 = (($2) + ($7<<2)|0);
$11 = HEAP32[$10>>2]|0;
$12 = (__gcry_mpih_addmul_1($9,$1,$7,$11)|0);
$13 = $7 << 1;
$14 = (($0) + ($13<<2)|0);
HEAP32[$14>>2] = $12;
$15 = (($1) + ($7<<2)|0);
$16 = HEAP32[$15>>2]|0;
$17 = (__gcry_mpih_addmul_1($9,$2,$3,$16)|0);
$18 = (($7) + ($3))|0;
$19 = (($0) + ($18<<2)|0);
HEAP32[$19>>2] = $17;
return;
}
$20 = $3 >> 1;
$21 = ($3|0)<(32);
$22 = (($0) + ($3<<2)|0);
$23 = (($1) + ($20<<2)|0);
$24 = (($2) + ($20<<2)|0);
if ($21) {
_mul_n_basecase($22,$23,$24,$20);
$25 = ($3|0)>(1);
if ($25) {
label = 9;
} else {
(__gcry_mpih_sub_n($0,$23,$1,$20)|0);
$$0154233 = 0;$94 = 0;
label = 20;
}
} else {
_mul_n($22,$23,$24,$20,$4);
label = 9;
}
L13: do {
if ((label|0) == 9) {
$$01619$in$i = $20;
while(1) {
$$01619$i = (($$01619$in$i) + -1)|0;
$27 = (($23) + ($$01619$i<<2)|0);
$28 = HEAP32[$27>>2]|0;
$29 = (($1) + ($$01619$i<<2)|0);
$30 = HEAP32[$29>>2]|0;
$31 = ($28|0)==($30|0);
if (!($31)) {
label = 13;
break;
}
$26 = ($$01619$in$i|0)>(1);
if ($26) {
$$01619$in$i = $$01619$i;
} else {
label = 14;
break;
}
}
if ((label|0) == 13) {
$32 = ($28>>>0)>($30>>>0);
if ($32) {
label = 14;
} else {
(__gcry_mpih_sub_n($0,$1,$23,$20)|0);
$$0154234 = 1;
}
}
if ((label|0) == 14) {
(__gcry_mpih_sub_n($0,$23,$1,$20)|0);
$$0154234 = 0;
}
$$01619$in$i170 = $20;
while(1) {
$$01619$i171 = (($$01619$in$i170) + -1)|0;
$34 = (($24) + ($$01619$i171<<2)|0);
$35 = HEAP32[$34>>2]|0;
$36 = (($2) + ($$01619$i171<<2)|0);
$37 = HEAP32[$36>>2]|0;
$38 = ($35|0)==($37|0);
if (!($38)) {
break;
}
$33 = ($$01619$in$i170|0)>(1);
if ($33) {
$$01619$in$i170 = $$01619$i171;
} else {
$$0154233 = $$0154234;$94 = 1;
label = 20;
break L13;
}
}
$39 = ($35>>>0)>($37>>>0);
if ($39) {
$$0154233 = $$0154234;$94 = 1;
label = 20;
} else {
$42 = (($0) + ($20<<2)|0);
(__gcry_mpih_sub_n($42,$2,$24,$20)|0);
$$1 = $$0154234;$43 = $42;$95 = 1;
}
}
} while(0);
if ((label|0) == 20) {
$40 = (($0) + ($20<<2)|0);
(__gcry_mpih_sub_n($40,$24,$2,$20)|0);
$41 = $$0154233 ^ 1;
$$1 = $41;$43 = $40;$95 = $94;
}
if ($21) {
_mul_n_basecase($4,$0,$43,$20);
} else {
$44 = (($4) + ($3<<2)|0);
_mul_n($4,$0,$43,$20,$44);
}
if ($95) {
$45 = (($0) + ($20<<2)|0);
$$0153201 = 0;
while(1) {
$46 = (($22) + ($$0153201<<2)|0);
$47 = HEAP32[$46>>2]|0;
$48 = (($45) + ($$0153201<<2)|0);
HEAP32[$48>>2] = $47;
$49 = (($$0153201) + 1)|0;
$50 = ($49|0)<($20|0);
if ($50) {
$$0153201 = $49;
} else {
break;
}
}
}
$51 = (($22) + ($20<<2)|0);
$52 = (__gcry_mpih_add_n($22,$22,$51,$20)|0);
$53 = ($$1|0)==(0);
if ($53) {
$56 = (__gcry_mpih_add_n($43,$43,$4,$3)|0);
$57 = (($56) + ($52))|0;
$$0155 = $57;
} else {
$54 = (__gcry_mpih_sub_n($43,$43,$4,$3)|0);
$55 = (($52) - ($54))|0;
$$0155 = $55;
}
if ($21) {
_mul_n_basecase($4,$1,$2,$20);
} else {
$58 = (($4) + ($3<<2)|0);
_mul_n($4,$1,$2,$20,$58);
}
$59 = (__gcry_mpih_add_n($43,$43,$4,$3)|0);
$60 = (($59) + ($$0155))|0;
$61 = ($60|0)==(0);
L49: do {
if (!($61)) {
$62 = (($0) + ($20<<2)|0);
$63 = (($62) + ($3<<2)|0);
$64 = HEAP32[$63>>2]|0;
$65 = (($64) + ($60))|0;
HEAP32[$63>>2] = $65;
$66 = ($65>>>0)<($64>>>0);
if ($66) {
$67 = (($20) + -1)|0;
$68 = ($67|0)==(0);
if (!($68)) {
$$pn232 = $63;$70 = $67;
while(1) {
$$02637$i157 = ((($$pn232)) + 4|0);
$72 = HEAP32[$$02637$i157>>2]|0;
$73 = (($72) + 1)|0;
HEAP32[$$02637$i157>>2] = $73;
$74 = ($73|0)==(0);
if (!($74)) {
break L49;
}
$69 = (($70) + -1)|0;
$71 = ($69|0)==(0);
if ($71) {
break;
} else {
$$pn232 = $$02637$i157;$70 = $69;
}
}
}
}
}
} while(0);
if ($95) {
$$0200 = 0;
while(1) {
$75 = (($4) + ($$0200<<2)|0);
$76 = HEAP32[$75>>2]|0;
$77 = (($0) + ($$0200<<2)|0);
HEAP32[$77>>2] = $76;
$78 = (($$0200) + 1)|0;
$79 = ($78|0)<($20|0);
if ($79) {
$$0200 = $78;
} else {
break;
}
}
}
$80 = (($4) + ($20<<2)|0);
$81 = (__gcry_mpih_add_n($43,$43,$80,$20)|0);
$82 = ($81|0)==(0);
if ($82) {
return;
}
$83 = HEAP32[$22>>2]|0;
$84 = (($83) + 1)|0;
HEAP32[$22>>2] = $84;
$85 = ($83|0)==(-1);
if (!($85)) {
return;
}
$86 = (($3) + -1)|0;
$87 = ($86|0)==(0);
if ($87) {
return;
}
$$pn = $22;$89 = $86;
while(1) {
$$02637$i = ((($$pn)) + 4|0);
$91 = HEAP32[$$02637$i>>2]|0;
$92 = (($91) + 1)|0;
HEAP32[$$02637$i>>2] = $92;
$93 = ($92|0)==(0);
if (!($93)) {
label = 49;
break;
}
$88 = (($89) + -1)|0;
$90 = ($88|0)==(0);
if ($90) {
label = 49;
break;
} else {
$$pn = $$02637$i;$89 = $88;
}
}
if ((label|0) == 49) {
return;
}
}
function __gcry_mpih_mul_karatsuba_case($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$0 = 0, $$0$us = 0, $$02637$i = 0, $$02637$i96 = 0, $$02637$i96$us = 0, $$02836$i = 0, $$02836$i97 = 0, $$02836$i97$us = 0, $$035$i = 0, $$035$i103 = 0, $$035$i103$us = 0, $$090 = 0, $$090$us = 0, $$092 = 0, $$092$us = 0, $$1 = 0, $$1$i = 0, $$1$i100 = 0, $$1$i100$us = 0, $$127$i = 0;
var $$127$i99 = 0, $$127$i99$us = 0, $$129$i = 0, $$129$i98 = 0, $$129$i98$us = 0, $$191 = 0, $$193 = 0, $$pre = 0, $$pre$phi155Z2D = 0, $$pre$phiZ2D = 0, $$pre154 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0;
var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0;
var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0;
var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i = 0, $exitcond$i104 = 0, $exitcond$i104$us = 0, $phitmp = 0, $phitmp94 = 0, label = 0, sp = 0;
sp = STACKTOP;
$6 = ((($5)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0|0);
if ($8) {
$$pre = ((($5)) + 8|0);
$$pre$phiZ2D = $$pre;
label = 5;
} else {
$9 = ((($5)) + 12|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)<($4|0);
if ($11) {
$12 = ((($5)) + 8|0);
$13 = HEAP32[$12>>2]|0;
__gcry_mpi_free_limb_space($7,$13);
$$pre$phiZ2D = $12;
label = 5;
} else {
$23 = $7;
}
}
if ((label|0) == 5) {
$14 = $4 << 1;
HEAP32[$$pre$phiZ2D>>2] = $14;
$15 = (__gcry_is_secure($1)|0);
$16 = ($15|0)==(0);
if ($16) {
$17 = (__gcry_is_secure($3)|0);
$18 = ($17|0)!=(0);
$phitmp = $18&1;
$19 = $phitmp;
} else {
$19 = 1;
}
$20 = (__gcry_mpi_alloc_limb_space($14,$19)|0);
HEAP32[$6>>2] = $20;
$21 = ((($5)) + 12|0);
HEAP32[$21>>2] = $4;
$23 = $20;
}
$22 = ($4|0)<(16);
if ($22) {
_mul_n_basecase($0,$1,$3,$4);
} else {
_mul_n($0,$1,$3,$4,$23);
}
$24 = (($0) + ($4<<2)|0);
$25 = (($1) + ($4<<2)|0);
$26 = (($2) - ($4))|0;
$27 = ($26|0)<($4|0);
if ($27) {
$$1 = $24;$$191 = $25;$$193 = $26;
} else {
$28 = ((($5)) + 16|0);
$29 = HEAP32[$28>>2]|0;
$30 = ($29|0)==(0|0);
if ($30) {
$$pre154 = ((($5)) + 20|0);
$$pre$phi155Z2D = $$pre154;
label = 16;
} else {
$31 = ((($5)) + 24|0);
$32 = HEAP32[$31>>2]|0;
$33 = ($32|0)<($4|0);
if ($33) {
$34 = ((($5)) + 20|0);
$35 = HEAP32[$34>>2]|0;
__gcry_mpi_free_limb_space($29,$35);
$$pre$phi155Z2D = $34;
label = 16;
} else {
$140 = $29;
}
}
if ((label|0) == 16) {
$36 = $4 << 1;
HEAP32[$$pre$phi155Z2D>>2] = $36;
$37 = (__gcry_is_secure($25)|0);
$38 = ($37|0)==(0);
if ($38) {
$39 = (__gcry_is_secure($3)|0);
$40 = ($39|0)!=(0);
$phitmp94 = $40&1;
$41 = $phitmp94;
} else {
$41 = 1;
}
$42 = (__gcry_mpi_alloc_limb_space($36,$41)|0);
HEAP32[$28>>2] = $42;
$43 = ((($5)) + 24|0);
HEAP32[$43>>2] = $4;
$140 = $42;
}
$44 = (($4) + -1)|0;
$45 = ($44|0)==(0);
if ($22) {
$$0$us = $24;$$090$us = $25;$$092$us = $26;$46 = $140;
while(1) {
_mul_n_basecase($46,$$090$us,$3,$4);
$47 = HEAP32[$28>>2]|0;
$48 = (__gcry_mpih_add_n($$0$us,$$0$us,$47,$4)|0);
$49 = (($$0$us) + ($4<<2)|0);
$50 = HEAP32[$28>>2]|0;
$51 = (($50) + ($4<<2)|0);
$52 = ((($51)) + 4|0);
$53 = HEAP32[$51>>2]|0;
$54 = (($53) + ($48))|0;
$55 = ((($49)) + 4|0);
HEAP32[$49>>2] = $54;
$56 = ($54>>>0)<($53>>>0);
L31: do {
if ($56) {
if (!($45)) {
$$02637$i96$us = $52;$$02836$i97$us = $55;$70 = $44;
while(1) {
$57 = ((($$02637$i96$us)) + 4|0);
$58 = HEAP32[$$02637$i96$us>>2]|0;
$59 = (($58) + 1)|0;
$60 = ((($$02836$i97$us)) + 4|0);
HEAP32[$$02836$i97$us>>2] = $59;
$61 = ($59|0)==(0);
if (!($61)) {
$$1$i100$us = $70;$$127$i99$us = $57;$$129$i98$us = $60;
label = 26;
break L31;
}
$69 = (($70) + -1)|0;
$71 = ($69|0)==(0);
if ($71) {
break;
} else {
$$02637$i96$us = $57;$$02836$i97$us = $60;$70 = $69;
}
}
}
} else {
$$1$i100$us = $4;$$127$i99$us = $52;$$129$i98$us = $55;
label = 26;
}
} while(0);
if ((label|0) == 26) {
label = 0;
$62 = ($$129$i98$us|0)==($$127$i99$us|0);
if (!($62)) {
$63 = (($$1$i100$us) + -1)|0;
$64 = ($$1$i100$us|0)>(1);
if ($64) {
$$035$i103$us = 0;
while(1) {
$65 = (($$127$i99$us) + ($$035$i103$us<<2)|0);
$66 = HEAP32[$65>>2]|0;
$67 = (($$129$i98$us) + ($$035$i103$us<<2)|0);
HEAP32[$67>>2] = $66;
$68 = (($$035$i103$us) + 1)|0;
$exitcond$i104$us = ($68|0)==($63|0);
if ($exitcond$i104$us) {
break;
} else {
$$035$i103$us = $68;
}
}
}
}
}
$72 = (($$090$us) + ($4<<2)|0);
$73 = (($$092$us) - ($4))|0;
$74 = ($73|0)<($4|0);
if ($74) {
$$1 = $49;$$191 = $72;$$193 = $73;
break;
} else {
$$0$us = $49;$$090$us = $72;$$092$us = $73;$46 = $50;
}
}
} else {
$$0 = $24;$$090 = $25;$$092 = $26;$76 = $140;
while(1) {
$75 = HEAP32[$6>>2]|0;
_mul_n($76,$$090,$3,$4,$75);
$77 = HEAP32[$28>>2]|0;
$78 = (__gcry_mpih_add_n($$0,$$0,$77,$4)|0);
$79 = (($$0) + ($4<<2)|0);
$80 = HEAP32[$28>>2]|0;
$81 = (($80) + ($4<<2)|0);
$82 = ((($81)) + 4|0);
$83 = HEAP32[$81>>2]|0;
$84 = (($83) + ($78))|0;
$85 = ((($79)) + 4|0);
HEAP32[$79>>2] = $84;
$86 = ($84>>>0)<($83>>>0);
L47: do {
if ($86) {
if (!($45)) {
$$02637$i96 = $82;$$02836$i97 = $85;$88 = $44;
while(1) {
$90 = ((($$02637$i96)) + 4|0);
$91 = HEAP32[$$02637$i96>>2]|0;
$92 = (($91) + 1)|0;
$93 = ((($$02836$i97)) + 4|0);
HEAP32[$$02836$i97>>2] = $92;
$94 = ($92|0)==(0);
if (!($94)) {
$$1$i100 = $88;$$127$i99 = $90;$$129$i98 = $93;
label = 37;
break L47;
}
$87 = (($88) + -1)|0;
$89 = ($87|0)==(0);
if ($89) {
break;
} else {
$$02637$i96 = $90;$$02836$i97 = $93;$88 = $87;
}
}
}
} else {
$$1$i100 = $4;$$127$i99 = $82;$$129$i98 = $85;
label = 37;
}
} while(0);
if ((label|0) == 37) {
label = 0;
$95 = ($$129$i98|0)==($$127$i99|0);
if (!($95)) {
$96 = (($$1$i100) + -1)|0;
$97 = ($$1$i100|0)>(1);
if ($97) {
$$035$i103 = 0;
while(1) {
$98 = (($$127$i99) + ($$035$i103<<2)|0);
$99 = HEAP32[$98>>2]|0;
$100 = (($$129$i98) + ($$035$i103<<2)|0);
HEAP32[$100>>2] = $99;
$101 = (($$035$i103) + 1)|0;
$exitcond$i104 = ($101|0)==($96|0);
if ($exitcond$i104) {
break;
} else {
$$035$i103 = $101;
}
}
}
}
}
$102 = (($$090) + ($4<<2)|0);
$103 = (($$092) - ($4))|0;
$104 = ($103|0)<($4|0);
if ($104) {
$$1 = $79;$$191 = $102;$$193 = $103;
break;
} else {
$$0 = $79;$$090 = $102;$$092 = $103;$76 = $80;
}
}
}
}
$105 = ($$193|0)==(0);
if ($105) {
return;
}
$106 = ($$193|0)<(16);
if ($106) {
$107 = HEAP32[$6>>2]|0;
(__gcry_mpih_mul($107,$3,$4,$$191,$$193)|0);
} else {
$108 = HEAP32[$5>>2]|0;
$109 = ($108|0)==(0|0);
if ($109) {
$110 = (__gcry_xcalloc(1,28)|0);
HEAP32[$5>>2] = $110;
$112 = $110;
} else {
$112 = $108;
}
$111 = HEAP32[$6>>2]|0;
__gcry_mpih_mul_karatsuba_case($111,$3,$4,$$191,$$193,$112);
}
$113 = HEAP32[$6>>2]|0;
$114 = (__gcry_mpih_add_n($$1,$$1,$113,$4)|0);
$115 = (($$1) + ($4<<2)|0);
$116 = HEAP32[$6>>2]|0;
$117 = (($116) + ($4<<2)|0);
$118 = ((($117)) + 4|0);
$119 = HEAP32[$117>>2]|0;
$120 = (($119) + ($114))|0;
$121 = ((($115)) + 4|0);
HEAP32[$115>>2] = $120;
$122 = ($120>>>0)<($119>>>0);
L71: do {
if ($122) {
$123 = (($$193) + -1)|0;
$124 = ($123|0)==(0);
if ($124) {
return;
}
$$02637$i = $118;$$02836$i = $121;$126 = $123;
while(1) {
$128 = ((($$02637$i)) + 4|0);
$129 = HEAP32[$$02637$i>>2]|0;
$130 = (($129) + 1)|0;
$131 = ((($$02836$i)) + 4|0);
HEAP32[$$02836$i>>2] = $130;
$132 = ($130|0)==(0);
if (!($132)) {
$$1$i = $126;$$127$i = $128;$$129$i = $131;
break L71;
}
$125 = (($126) + -1)|0;
$127 = ($125|0)==(0);
if ($127) {
break;
} else {
$$02637$i = $128;$$02836$i = $131;$126 = $125;
}
}
return;
} else {
$$1$i = $$193;$$127$i = $118;$$129$i = $121;
}
} while(0);
$133 = ($$129$i|0)==($$127$i|0);
if ($133) {
return;
}
$134 = (($$1$i) + -1)|0;
$135 = ($$1$i|0)>(1);
if (!($135)) {
return;
}
$$035$i = 0;
while(1) {
$136 = (($$127$i) + ($$035$i<<2)|0);
$137 = HEAP32[$136>>2]|0;
$138 = (($$129$i) + ($$035$i<<2)|0);
HEAP32[$138>>2] = $137;
$139 = (($$035$i) + 1)|0;
$exitcond$i = ($139|0)==($134|0);
if ($exitcond$i) {
break;
} else {
$$035$i = $139;
}
}
return;
}
function __gcry_mpih_mul($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$06576 = 0, $$06674 = 0, $$067 = 0, $$07075 = 0, $$169 = 0, $$2 = 0, $$in$i = 0, $$pn = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond81 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$5 = sp;
$6 = (($0) + ($2<<2)|0);
$7 = ($4|0)<(16);
if (!($7)) {
$28 = (($6) + ($4<<2)|0);
$29 = ((($28)) + -4|0);
;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0;HEAP32[$5+20>>2]=0|0;HEAP32[$5+24>>2]=0|0;
__gcry_mpih_mul_karatsuba_case($0,$1,$2,$3,$4,$5);
$30 = ((($5)) + 16|0);
$31 = HEAP32[$30>>2]|0;
$32 = ($31|0)==(0|0);
if (!($32)) {
$33 = ((($5)) + 20|0);
$34 = HEAP32[$33>>2]|0;
__gcry_mpi_free_limb_space($31,$34);
}
$35 = ((($5)) + 4|0);
$36 = HEAP32[$35>>2]|0;
$37 = ($36|0)==(0|0);
if (!($37)) {
$38 = ((($5)) + 8|0);
$39 = HEAP32[$38>>2]|0;
__gcry_mpi_free_limb_space($36,$39);
}
$40 = HEAP32[$5>>2]|0;
$41 = ($40|0)==(0|0);
if (!($41)) {
$$in$i = $40;
while(1) {
$42 = HEAP32[$$in$i>>2]|0;
$43 = ((($$in$i)) + 16|0);
$44 = HEAP32[$43>>2]|0;
$45 = ($44|0)==(0|0);
if (!($45)) {
$46 = ((($$in$i)) + 20|0);
$47 = HEAP32[$46>>2]|0;
__gcry_mpi_free_limb_space($44,$47);
}
$48 = ((($$in$i)) + 4|0);
$49 = HEAP32[$48>>2]|0;
$50 = ($49|0)==(0|0);
if (!($50)) {
$51 = ((($$in$i)) + 8|0);
$52 = HEAP32[$51>>2]|0;
__gcry_mpi_free_limb_space($49,$52);
}
__gcry_free($$in$i);
$53 = ($42|0)==(0|0);
if ($53) {
break;
} else {
$$in$i = $42;
}
}
}
$54 = HEAP32[$29>>2]|0;
$$169 = $54;
STACKTOP = sp;return ($$169|0);
}
$8 = ($4|0)==(0);
if ($8) {
$$169 = 0;
STACKTOP = sp;return ($$169|0);
}
$9 = HEAP32[$3>>2]|0;
$10 = ($9>>>0)<(2);
do {
if ($10) {
$11 = ($9|0)==(1);
$12 = ($2|0)>(0);
if (!($11)) {
if (!($12)) {
$$067 = 0;
break;
}
$17 = $2 << 2;
_memset(($0|0),0,($17|0))|0;
$$067 = 0;
break;
}
if ($12) {
$$06576 = 0;
while(1) {
$13 = (($1) + ($$06576<<2)|0);
$14 = HEAP32[$13>>2]|0;
$15 = (($0) + ($$06576<<2)|0);
HEAP32[$15>>2] = $14;
$16 = (($$06576) + 1)|0;
$exitcond81 = ($16|0)==($2|0);
if ($exitcond81) {
$$067 = 0;
break;
} else {
$$06576 = $16;
}
}
} else {
$$067 = 0;
}
} else {
$18 = (__gcry_mpih_mul_1($0,$1,$2,$9)|0);
$$067 = $18;
}
} while(0);
HEAP32[$6>>2] = $$067;
$19 = ($4|0)>(1);
if (!($19)) {
$$169 = $$067;
STACKTOP = sp;return ($$169|0);
}
$$06674 = 1;$$pn = $0;
while(1) {
$$07075 = ((($$pn)) + 4|0);
$20 = (($3) + ($$06674<<2)|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($21>>>0)<(2);
if ($22) {
$23 = ($21|0)==(1);
if ($23) {
$24 = (__gcry_mpih_add_n($$07075,$$07075,$1,$2)|0);
$$2 = $24;
} else {
$$2 = 0;
}
} else {
$25 = (__gcry_mpih_addmul_1($$07075,$1,$2,$21)|0);
$$2 = $25;
}
$26 = (($$07075) + ($2<<2)|0);
HEAP32[$26>>2] = $$2;
$27 = (($$06674) + 1)|0;
$exitcond = ($27|0)==($4|0);
if ($exitcond) {
$$169 = $$2;
break;
} else {
$$06674 = $27;$$pn = $$07075;
}
}
STACKTOP = sp;return ($$169|0);
}
function __gcry_mpih_release_karatsuba_ctx($0) {
$0 = $0|0;
var $$in = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 16|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0|0);
if (!($3)) {
$4 = ((($0)) + 20|0);
$5 = HEAP32[$4>>2]|0;
__gcry_mpi_free_limb_space($2,$5);
}
$6 = ((($0)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0|0);
if (!($8)) {
$9 = ((($0)) + 8|0);
$10 = HEAP32[$9>>2]|0;
__gcry_mpi_free_limb_space($7,$10);
}
$11 = HEAP32[$0>>2]|0;
$12 = ($11|0)==(0|0);
if ($12) {
return;
}
$$in = $11;
while(1) {
$13 = HEAP32[$$in>>2]|0;
$14 = ((($$in)) + 16|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==(0|0);
if (!($16)) {
$17 = ((($$in)) + 20|0);
$18 = HEAP32[$17>>2]|0;
__gcry_mpi_free_limb_space($15,$18);
}
$19 = ((($$in)) + 4|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20|0)==(0|0);
if (!($21)) {
$22 = ((($$in)) + 8|0);
$23 = HEAP32[$22>>2]|0;
__gcry_mpi_free_limb_space($20,$23);
}
__gcry_free($$in);
$24 = ($13|0)==(0|0);
if ($24) {
break;
} else {
$$in = $13;
}
}
return;
}
function __gcry_mpih_rshift($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$lcssa = 0, $$034$lcssa = 0, $$03435 = 0, $$036 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$4 = ((($0)) + -4|0);
$5 = (32 - ($3))|0;
$6 = HEAP32[$1>>2]|0;
$7 = $6 << $5;
$8 = ($2|0)>(1);
if ($8) {
$$03435 = $6;$$036 = 1;
while(1) {
$9 = (($1) + ($$036<<2)|0);
$10 = HEAP32[$9>>2]|0;
$11 = $$03435 >>> $3;
$12 = $10 << $5;
$13 = $12 | $11;
$14 = (($4) + ($$036<<2)|0);
HEAP32[$14>>2] = $13;
$15 = (($$036) + 1)|0;
$exitcond = ($15|0)==($2|0);
if ($exitcond) {
$$0$lcssa = $2;$$034$lcssa = $10;
break;
} else {
$$03435 = $10;$$036 = $15;
}
}
} else {
$$0$lcssa = 1;$$034$lcssa = $6;
}
$16 = $$034$lcssa >>> $3;
$17 = (($4) + ($$0$lcssa<<2)|0);
HEAP32[$17>>2] = $16;
return ($7|0);
}
function __gcry_mpih_sub_n($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$031 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$4 = (0 - ($3))|0;
$5 = (($1) + ($3<<2)|0);
$6 = (($2) + ($3<<2)|0);
$7 = (($0) + ($3<<2)|0);
$$0 = $4;$$031 = 0;
while(1) {
$8 = (($6) + ($$0<<2)|0);
$9 = HEAP32[$8>>2]|0;
$10 = (($5) + ($$0<<2)|0);
$11 = HEAP32[$10>>2]|0;
$12 = (($9) + ($$031))|0;
$13 = ($12>>>0)<($$031>>>0);
$14 = $13&1;
$15 = (($11) - ($12))|0;
$16 = ($15>>>0)>($11>>>0);
$17 = $16&1;
$18 = (($17) + ($14))|0;
$19 = (($7) + ($$0<<2)|0);
HEAP32[$19>>2] = $15;
$20 = (($$0) + 1)|0;
$21 = ($20|0)==(0);
if ($21) {
break;
} else {
$$0 = $20;$$031 = $18;
}
}
return ($18|0);
}
function __gcry_mpi_get_hw_config() {
var label = 0, sp = 0;
sp = STACKTOP;
return ((15041)|0);
}
function __gcry_mpi_init() {
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (__gcry_xmalloc(20)|0);
$1 = (__gcry_xmalloc(4)|0);
$2 = ((($0)) + 16|0);
HEAP32[$2>>2] = $1;
HEAP32[$0>>2] = 1;
$3 = ((($0)) + 4|0);
$4 = ((($0)) + 8|0);
$5 = ((($0)) + 12|0);
HEAP32[$1>>2] = 0;
HEAP32[$3>>2] = 0;
HEAP32[$4>>2] = 0;
HEAP32[17788] = $0;
HEAP32[$5>>2] = 48;
$6 = (__gcry_xmalloc(20)|0);
$7 = (__gcry_xmalloc(4)|0);
$8 = ((($6)) + 16|0);
HEAP32[$8>>2] = $7;
HEAP32[$6>>2] = 1;
$9 = ((($6)) + 4|0);
$10 = ((($6)) + 8|0);
$11 = ((($6)) + 12|0);
HEAP32[$7>>2] = 1;
HEAP32[$9>>2] = 1;
HEAP32[$10>>2] = 0;
HEAP32[(71156)>>2] = $6;
HEAP32[$11>>2] = 48;
$12 = (__gcry_xmalloc(20)|0);
$13 = (__gcry_xmalloc(4)|0);
$14 = ((($12)) + 16|0);
HEAP32[$14>>2] = $13;
HEAP32[$12>>2] = 1;
$15 = ((($12)) + 4|0);
$16 = ((($12)) + 8|0);
$17 = ((($12)) + 12|0);
HEAP32[$13>>2] = 2;
HEAP32[$15>>2] = 1;
HEAP32[$16>>2] = 0;
HEAP32[(71160)>>2] = $12;
HEAP32[$17>>2] = 48;
$18 = (__gcry_xmalloc(20)|0);
$19 = (__gcry_xmalloc(4)|0);
$20 = ((($18)) + 16|0);
HEAP32[$20>>2] = $19;
HEAP32[$18>>2] = 1;
$21 = ((($18)) + 4|0);
$22 = ((($18)) + 8|0);
$23 = ((($18)) + 12|0);
HEAP32[$19>>2] = 3;
HEAP32[$21>>2] = 1;
HEAP32[$22>>2] = 0;
HEAP32[(71164)>>2] = $18;
HEAP32[$23>>2] = 48;
$24 = (__gcry_xmalloc(20)|0);
$25 = (__gcry_xmalloc(4)|0);
$26 = ((($24)) + 16|0);
HEAP32[$26>>2] = $25;
HEAP32[$24>>2] = 1;
$27 = ((($24)) + 4|0);
$28 = ((($24)) + 8|0);
$29 = ((($24)) + 12|0);
HEAP32[$25>>2] = 4;
HEAP32[$27>>2] = 1;
HEAP32[$28>>2] = 0;
HEAP32[(71168)>>2] = $24;
HEAP32[$29>>2] = 48;
$30 = (__gcry_xmalloc(20)|0);
$31 = (__gcry_xmalloc(4)|0);
$32 = ((($30)) + 16|0);
HEAP32[$32>>2] = $31;
HEAP32[$30>>2] = 1;
$33 = ((($30)) + 4|0);
$34 = ((($30)) + 8|0);
$35 = ((($30)) + 12|0);
HEAP32[$31>>2] = 8;
HEAP32[$33>>2] = 1;
HEAP32[$34>>2] = 0;
HEAP32[(71172)>>2] = $30;
HEAP32[$35>>2] = 48;
return 0;
}
function __gcry_mpi_alloc_set_ui($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_xmalloc(20)|0);
$2 = (__gcry_xmalloc(4)|0);
$3 = ((($1)) + 16|0);
HEAP32[$3>>2] = $2;
HEAP32[$1>>2] = 1;
$4 = ((($1)) + 4|0);
$5 = ((($1)) + 8|0);
$6 = ((($1)) + 12|0);
HEAP32[$6>>2] = 0;
HEAP32[$2>>2] = $0;
$7 = ($0|0)!=(0);
$8 = $7&1;
HEAP32[$4>>2] = $8;
HEAP32[$5>>2] = 0;
return ($1|0);
}
function __gcry_mpi_alloc($0) {
$0 = $0|0;
var $$op$i = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_xmalloc(20)|0);
$2 = ($0|0)==(0);
if ($2) {
$5 = 0;
} else {
$$op$i = $0 << 2;
$3 = (__gcry_xmalloc($$op$i)|0);
$5 = $3;
}
$4 = ((($1)) + 16|0);
HEAP32[$4>>2] = $5;
HEAP32[$1>>2] = $0;
$6 = ((($1)) + 4|0);
HEAP32[$6>>2] = 0;
$7 = ((($1)) + 8|0);
HEAP32[$7>>2] = 0;
$8 = ((($1)) + 12|0);
HEAP32[$8>>2] = 0;
return ($1|0);
}
function __gcry_mpi_alloc_limb_space($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$op = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)!=(0);
$$op = $0 << 2;
$3 = $2 ? $$op : 4;
$4 = ($1|0)==(0);
if ($4) {
$6 = (__gcry_xmalloc($3)|0);
$7 = $6;
} else {
$5 = (__gcry_xmalloc_secure($3)|0);
$7 = $5;
}
if ($2) {
return ($7|0);
}
HEAP32[$7>>2] = 0;
return ($7|0);
}
function __gcry_mpi_alloc_secure($0) {
$0 = $0|0;
var $$op$i = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gcry_xmalloc(20)|0);
$2 = ($0|0)==(0);
if ($2) {
$5 = 0;
} else {
$$op$i = $0 << 2;
$3 = (__gcry_xmalloc_secure($$op$i)|0);
$5 = $3;
}
$4 = ((($1)) + 16|0);
HEAP32[$4>>2] = $5;
HEAP32[$1>>2] = $0;
$6 = ((($1)) + 12|0);
HEAP32[$6>>2] = 1;
$7 = ((($1)) + 4|0);
HEAP32[$7>>2] = 0;
$8 = ((($1)) + 8|0);
HEAP32[$8>>2] = 0;
return ($1|0);
}
function __gcry_mpi_free_limb_space($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$lcssa = 0, $$036$lcssa = 0, $$03644 = 0, $$045 = 0, $$1 = 0, $$137 = 0, $$2 = 0, $$238 = 0, $$33942 = 0, $$343 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
return;
}
$3 = $1 << 2;
$4 = ($3|0)==(0);
if (!($4)) {
$5 = $0;
$6 = $5 & 7;
$7 = ($6|0)==(0);
if ($7) {
$$0$lcssa = $0;$$036$lcssa = $3;
} else {
$$03644 = $3;$$045 = $0;
while(1) {
HEAP8[$$045>>0] = 0;
$8 = ((($$045)) + 1|0);
$9 = (($$03644) + -1)|0;
$10 = $8;
$11 = $10 & 7;
$12 = ($11|0)!=(0);
$13 = ($9|0)!=(0);
$14 = $13 & $12;
if ($14) {
$$03644 = $9;$$045 = $8;
} else {
$$0$lcssa = $8;$$036$lcssa = $9;
break;
}
}
}
$15 = ($$036$lcssa>>>0)<(8);
if ($15) {
$$2 = $$0$lcssa;$$238 = $$036$lcssa;
} else {
$16 = (($$036$lcssa) + -8)|0;
$17 = $16 & -8;
$18 = (($17) + 8)|0;
$$1 = $$0$lcssa;$$137 = $$036$lcssa;
while(1) {
$19 = $$1;
$20 = $19;
HEAP32[$20>>2] = 0;
$21 = (($19) + 4)|0;
$22 = $21;
HEAP32[$22>>2] = 0;
$23 = (($$137) + -8)|0;
$24 = ((($$1)) + 8|0);
$25 = ($23>>>0)>(7);
if ($25) {
$$1 = $24;$$137 = $23;
} else {
break;
}
}
$26 = (($16) - ($17))|0;
$scevgep = (($$0$lcssa) + ($18)|0);
$$2 = $scevgep;$$238 = $26;
}
$27 = ($$238|0)==(0);
if (!($27)) {
$$33942 = $$238;$$343 = $$2;
while(1) {
HEAP8[$$343>>0] = 0;
$28 = ((($$343)) + 1|0);
$29 = (($$33942) + -1)|0;
$30 = ($29|0)==(0);
if ($30) {
break;
} else {
$$33942 = $29;$$343 = $28;
}
}
}
}
__gcry_free($0);
return;
}
function __gcry_mpi_assign_limb_space($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa$i = 0, $$036$lcssa$i = 0, $$03644$i = 0, $$045$i = 0, $$1$i = 0, $$137$i = 0, $$2$i = 0, $$238$i = 0, $$33942$i = 0, $$343$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $scevgep$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 16|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if ($5) {
HEAP32[$3>>2] = $1;
HEAP32[$0>>2] = $2;
return;
}
$6 = HEAP32[$0>>2]|0;
$7 = $6 << 2;
$8 = ($7|0)==(0);
if (!($8)) {
$9 = $4;
$10 = $9 & 7;
$11 = ($10|0)==(0);
if ($11) {
$$0$lcssa$i = $4;$$036$lcssa$i = $7;
} else {
$$03644$i = $7;$$045$i = $4;
while(1) {
HEAP8[$$045$i>>0] = 0;
$12 = ((($$045$i)) + 1|0);
$13 = (($$03644$i) + -1)|0;
$14 = $12;
$15 = $14 & 7;
$16 = ($15|0)!=(0);
$17 = ($13|0)!=(0);
$18 = $17 & $16;
if ($18) {
$$03644$i = $13;$$045$i = $12;
} else {
$$0$lcssa$i = $12;$$036$lcssa$i = $13;
break;
}
}
}
$19 = ($$036$lcssa$i>>>0)<(8);
if ($19) {
$$2$i = $$0$lcssa$i;$$238$i = $$036$lcssa$i;
} else {
$20 = (($$036$lcssa$i) + -8)|0;
$21 = $20 & -8;
$$1$i = $$0$lcssa$i;$$137$i = $$036$lcssa$i;
while(1) {
$22 = $$1$i;
$23 = $22;
HEAP32[$23>>2] = 0;
$24 = (($22) + 4)|0;
$25 = $24;
HEAP32[$25>>2] = 0;
$26 = (($$137$i) + -8)|0;
$27 = ((($$1$i)) + 8|0);
$28 = ($26>>>0)>(7);
if ($28) {
$$1$i = $27;$$137$i = $26;
} else {
break;
}
}
$29 = (($21) + 8)|0;
$30 = (($20) - ($21))|0;
$scevgep$i = (($$0$lcssa$i) + ($29)|0);
$$2$i = $scevgep$i;$$238$i = $30;
}
$31 = ($$238$i|0)==(0);
if (!($31)) {
$$33942$i = $$238$i;$$343$i = $$2$i;
while(1) {
HEAP8[$$343$i>>0] = 0;
$32 = ((($$343$i)) + 1|0);
$33 = (($$33942$i) + -1)|0;
$34 = ($33|0)==(0);
if ($34) {
break;
} else {
$$33942$i = $33;$$343$i = $32;
}
}
}
}
__gcry_free($4);
HEAP32[$3>>2] = $1;
HEAP32[$0>>2] = $2;
return;
}
function __gcry_mpi_resize($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$024 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = ($2>>>0)<($1>>>0);
if (!($3)) {
$4 = ((($0)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5>>>0)<($2>>>0);
if (!($6)) {
return;
}
$7 = ((($0)) + 16|0);
$8 = HEAP32[$7>>2]|0;
$$024 = $5;
while(1) {
$9 = (($8) + ($$024<<2)|0);
HEAP32[$9>>2] = 0;
$10 = (($$024) + 1)|0;
$11 = HEAP32[$0>>2]|0;
$12 = ($10>>>0)<($11>>>0);
if ($12) {
$$024 = $10;
} else {
break;
}
}
return;
}
$13 = ((($0)) + 16|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)==(0|0);
do {
if ($15) {
$22 = ((($0)) + 12|0);
$23 = HEAP32[$22>>2]|0;
$24 = $23 & 1;
$25 = ($24|0)==(0);
if ($25) {
$27 = (__gcry_xcalloc($1,4)|0);
HEAP32[$13>>2] = $27;
break;
} else {
$26 = (__gcry_xcalloc_secure($1,4)|0);
HEAP32[$13>>2] = $26;
break;
}
} else {
$16 = $1 << 2;
$17 = (__gcry_xrealloc($14,$16)|0);
HEAP32[$13>>2] = $17;
$18 = HEAP32[$0>>2]|0;
$19 = ($18>>>0)<($1>>>0);
if ($19) {
$scevgep = (($17) + ($18<<2)|0);
$20 = $18 << 2;
$21 = (($16) - ($20))|0;
_memset(($scevgep|0),0,($21|0))|0;
}
}
} while(0);
HEAP32[$0>>2] = $1;
return;
}
function __gcry_mpi_clear($0) {
$0 = $0|0;
var $$pre = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$1 = ($0|0)==(0|0);
$$pre = ((($0)) + 12|0);
if (!($1)) {
$2 = HEAP32[$$pre>>2]|0;
$3 = $2 & 16;
$4 = ($3|0)==(0);
if (!($4)) {
__gcry_log_info(64098,$vararg_buffer);
STACKTOP = sp;return;
}
}
$5 = ((($0)) + 4|0);
HEAP32[$5>>2] = 0;
HEAP32[$$pre>>2] = 0;
STACKTOP = sp;return;
}
function __gcry_mpi_immutable_failed() {
var $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
__gcry_log_info(64098,$vararg_buffer);
STACKTOP = sp;return;
}
function __gcry_mpi_free($0) {
$0 = $0|0;
var $$0$lcssa$i = 0, $$036$lcssa$i = 0, $$03644$i = 0, $$045$i = 0, $$1$i = 0, $$137$i = 0, $$2$i = 0, $$238$i = 0, $$33942$i = 0, $$343$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep$i = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$1 = ($0|0)==(0|0);
if ($1) {
STACKTOP = sp;return;
}
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 32;
$5 = ($4|0)==(0);
if (!($5)) {
STACKTOP = sp;return;
}
$6 = $3 & 4;
$7 = ($6|0)==(0);
$8 = ((($0)) + 16|0);
$9 = HEAP32[$8>>2]|0;
if ($7) {
$10 = ($9|0)==(0|0);
if (!($10)) {
$11 = HEAP32[$0>>2]|0;
$12 = $11 << 2;
$13 = ($12|0)==(0);
if (!($13)) {
$14 = $9;
$15 = $14 & 7;
$16 = ($15|0)==(0);
if ($16) {
$$0$lcssa$i = $9;$$036$lcssa$i = $12;
} else {
$$03644$i = $12;$$045$i = $9;
while(1) {
HEAP8[$$045$i>>0] = 0;
$17 = ((($$045$i)) + 1|0);
$18 = (($$03644$i) + -1)|0;
$19 = $17;
$20 = $19 & 7;
$21 = ($20|0)!=(0);
$22 = ($18|0)!=(0);
$23 = $22 & $21;
if ($23) {
$$03644$i = $18;$$045$i = $17;
} else {
$$0$lcssa$i = $17;$$036$lcssa$i = $18;
break;
}
}
}
$24 = ($$036$lcssa$i>>>0)<(8);
if ($24) {
$$2$i = $$0$lcssa$i;$$238$i = $$036$lcssa$i;
} else {
$25 = (($$036$lcssa$i) + -8)|0;
$26 = $25 & -8;
$$1$i = $$0$lcssa$i;$$137$i = $$036$lcssa$i;
while(1) {
$27 = $$1$i;
$28 = $27;
HEAP32[$28>>2] = 0;
$29 = (($27) + 4)|0;
$30 = $29;
HEAP32[$30>>2] = 0;
$31 = (($$137$i) + -8)|0;
$32 = ((($$1$i)) + 8|0);
$33 = ($31>>>0)>(7);
if ($33) {
$$1$i = $32;$$137$i = $31;
} else {
break;
}
}
$34 = (($26) + 8)|0;
$35 = (($25) - ($26))|0;
$scevgep$i = (($$0$lcssa$i) + ($34)|0);
$$2$i = $scevgep$i;$$238$i = $35;
}
$36 = ($$238$i|0)==(0);
if (!($36)) {
$$33942$i = $$238$i;$$343$i = $$2$i;
while(1) {
HEAP8[$$343$i>>0] = 0;
$37 = ((($$343$i)) + 1|0);
$38 = (($$33942$i) + -1)|0;
$39 = ($38|0)==(0);
if ($39) {
break;
} else {
$$33942$i = $38;$$343$i = $37;
}
}
}
}
__gcry_free($9);
}
} else {
__gcry_free($9);
}
$40 = HEAP32[$2>>2]|0;
$41 = $40 & -3864;
$42 = ($41|0)==(0);
if (!($42)) {
__gcry_log_bug(64142,$vararg_buffer);
// unreachable;
}
__gcry_free($0);
STACKTOP = sp;return;
}
function __gcry_mpi_set_opaque($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa$i = 0, $$01819 = 0, $$01820 = 0, $$01821 = 0, $$036$lcssa$i = 0, $$03644$i = 0, $$045$i = 0, $$1$i = 0, $$137$i = 0, $$2$i = 0, $$238$i = 0, $$33942$i = 0, $$343$i = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep$i = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$3 = ($0|0)==(0|0);
if ($3) {
$4 = (__gcry_xmalloc(20)|0);
$5 = ($4|0)==(0|0);
;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;
if ($5) {
$$pre = HEAP32[(12)>>2]|0;
$$01820 = 0;$12 = $$pre;
} else {
$$01819 = $4;
label = 4;
}
} else {
$$01819 = $0;
label = 4;
}
if ((label|0) == 4) {
$6 = ((($$01819)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = $7 & 16;
$9 = ($8|0)==(0);
if ($9) {
$$01820 = $$01819;$12 = $7;
} else {
__gcry_log_info(64098,$vararg_buffer);
$$01821 = $$01819;
STACKTOP = sp;return ($$01821|0);
}
}
$10 = ((($$01820)) + 12|0);
$11 = $12 & 4;
$13 = ($11|0)==(0);
$14 = ((($$01820)) + 16|0);
$15 = HEAP32[$14>>2]|0;
if ($13) {
$16 = ($15|0)==(0|0);
if (!($16)) {
$17 = HEAP32[$$01820>>2]|0;
$18 = $17 << 2;
$19 = ($18|0)==(0);
if (!($19)) {
$20 = $15;
$21 = $20 & 7;
$22 = ($21|0)==(0);
if ($22) {
$$0$lcssa$i = $15;$$036$lcssa$i = $18;
} else {
$$03644$i = $18;$$045$i = $15;
while(1) {
HEAP8[$$045$i>>0] = 0;
$23 = ((($$045$i)) + 1|0);
$24 = (($$03644$i) + -1)|0;
$25 = $23;
$26 = $25 & 7;
$27 = ($26|0)!=(0);
$28 = ($24|0)!=(0);
$29 = $28 & $27;
if ($29) {
$$03644$i = $24;$$045$i = $23;
} else {
$$0$lcssa$i = $23;$$036$lcssa$i = $24;
break;
}
}
}
$30 = ($$036$lcssa$i>>>0)<(8);
if ($30) {
$$2$i = $$0$lcssa$i;$$238$i = $$036$lcssa$i;
} else {
$31 = (($$036$lcssa$i) + -8)|0;
$32 = $31 & -8;
$$1$i = $$0$lcssa$i;$$137$i = $$036$lcssa$i;
while(1) {
$33 = $$1$i;
$34 = $33;
HEAP32[$34>>2] = 0;
$35 = (($33) + 4)|0;
$36 = $35;
HEAP32[$36>>2] = 0;
$37 = (($$137$i) + -8)|0;
$38 = ((($$1$i)) + 8|0);
$39 = ($37>>>0)>(7);
if ($39) {
$$1$i = $38;$$137$i = $37;
} else {
break;
}
}
$40 = (($32) + 8)|0;
$41 = (($31) - ($32))|0;
$scevgep$i = (($$0$lcssa$i) + ($40)|0);
$$2$i = $scevgep$i;$$238$i = $41;
}
$42 = ($$238$i|0)==(0);
if (!($42)) {
$$33942$i = $$238$i;$$343$i = $$2$i;
while(1) {
HEAP8[$$343$i>>0] = 0;
$43 = ((($$343$i)) + 1|0);
$44 = (($$33942$i) + -1)|0;
$45 = ($44|0)==(0);
if ($45) {
break;
} else {
$$33942$i = $44;$$343$i = $43;
}
}
}
}
__gcry_free($15);
}
} else {
__gcry_free($15);
}
HEAP32[$14>>2] = $1;
HEAP32[$$01820>>2] = 0;
$46 = ((($$01820)) + 4|0);
HEAP32[$46>>2] = 0;
$47 = ((($$01820)) + 8|0);
HEAP32[$47>>2] = $2;
$48 = HEAP32[$10>>2]|0;
$49 = $48 & 3840;
$50 = $49 | 4;
HEAP32[$10>>2] = $50;
$51 = (__gcry_is_secure($1)|0);
$52 = ($51|0)==(0);
if ($52) {
$$01821 = $$01820;
STACKTOP = sp;return ($$01821|0);
}
$53 = $49 | 5;
HEAP32[$10>>2] = $53;
$$01821 = $$01820;
STACKTOP = sp;return ($$01821|0);
}
function __gcry_mpi_set_opaque_copy($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (($2) + 7)|0;
$4 = $3 >>> 3;
$5 = (__gcry_is_secure($1)|0);
$6 = ($5|0)==(0);
if ($6) {
$8 = (__gcry_malloc($4)|0);
$10 = $8;
} else {
$7 = (__gcry_malloc_secure($4)|0);
$10 = $7;
}
$9 = ($10|0)==(0|0);
if ($9) {
$$0 = 0;
return ($$0|0);
}
_memcpy(($10|0),($1|0),($4|0))|0;
$11 = (__gcry_mpi_set_opaque($0,$10,$2)|0);
$$0 = $11;
return ($$0|0);
}
function __gcry_mpi_get_opaque($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 4;
$5 = ($4|0)==(0);
if ($5) {
__gcry_log_bug(64174,$vararg_buffer);
// unreachable;
}
$6 = ($1|0)==(0|0);
if (!($6)) {
$7 = ((($0)) + 8|0);
$8 = HEAP32[$7>>2]|0;
HEAP32[$1>>2] = $8;
}
$9 = ((($0)) + 16|0);
$10 = HEAP32[$9>>2]|0;
STACKTOP = sp;return ($10|0);
}
function __gcry_mpi_get_opaque_copy($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 4;
$5 = ($4|0)==(0);
if ($5) {
__gcry_log_bug(64174,$vararg_buffer);
// unreachable;
}
$6 = ($1|0)==(0|0);
if ($6) {
$7 = ((($0)) + 16|0);
$8 = HEAP32[$7>>2]|0;
$15 = 0;$17 = $8;
} else {
$9 = ((($0)) + 8|0);
$10 = HEAP32[$9>>2]|0;
HEAP32[$1>>2] = $10;
$11 = ((($0)) + 16|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0|0);
if ($13) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
} else {
$15 = $10;$17 = $12;
}
}
$14 = (($15) + 7)|0;
$16 = $14 >>> 3;
$18 = (__gcry_is_secure($17)|0);
$19 = ($18|0)==(0);
if ($19) {
$21 = (__gcry_malloc($16)|0);
$23 = $21;
} else {
$20 = (__gcry_malloc_secure($16)|0);
$23 = $20;
}
$22 = ($23|0)==(0|0);
if ($22) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
_memcpy(($23|0),($17|0),($16|0))|0;
$$0 = $23;
STACKTOP = sp;return ($$0|0);
}
function __gcry_mpi_copy($0) {
$0 = $0|0;
var $$035 = 0, $$038 = 0, $$op$i$i36 = 0, $$pre = 0, $$pre$phi39Z2D = 0, $$pre$phi41Z2D = 0, $$pre$phi43Z2D = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$035 = 0;
return ($$035|0);
}
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 4;
$5 = ($4|0)==(0);
if (!($5)) {
$6 = ((($0)) + 16|0);
$7 = HEAP32[$6>>2]|0;
$8 = (__gcry_is_secure($7)|0);
$9 = ($8|0)==(0);
$10 = ((($0)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = (($11) + 7)|0;
$13 = (($12|0) / 8)&-1;
if ($9) {
$15 = (__gcry_xmalloc($13)|0);
$21 = $15;
} else {
$14 = (__gcry_xmalloc_secure($13)|0);
$21 = $14;
}
$16 = HEAP32[$6>>2]|0;
$17 = ($16|0)==(0|0);
if ($17) {
$$pre = HEAP32[$10>>2]|0;
$22 = $$pre;
} else {
$18 = HEAP32[$10>>2]|0;
$19 = (($18) + 7)|0;
$20 = (($19|0) / 8)&-1;
_memcpy(($21|0),($16|0),($20|0))|0;
$22 = $18;
}
$23 = (__gcry_mpi_set_opaque(0,$21,$22)|0);
$24 = ((($23)) + 12|0);
$25 = HEAP32[$24>>2]|0;
$26 = $25 & -49;
HEAP32[$24>>2] = $26;
$$035 = $23;
return ($$035|0);
}
$27 = $3 & 1;
$28 = ($27|0)==(0);
$29 = ((($0)) + 4|0);
$30 = HEAP32[$29>>2]|0;
$31 = (__gcry_xmalloc(20)|0);
$32 = ($30|0)==(0);
$$op$i$i36 = $30 << 2;
if ($28) {
if ($32) {
$41 = 0;
} else {
$39 = (__gcry_xmalloc($$op$i$i36)|0);
$41 = $39;
}
$40 = ((($31)) + 16|0);
HEAP32[$40>>2] = $41;
HEAP32[$31>>2] = $30;
$42 = ((($31)) + 4|0);
HEAP32[$42>>2] = 0;
$43 = ((($31)) + 8|0);
HEAP32[$43>>2] = 0;
$44 = ((($31)) + 12|0);
$$pre$phi39Z2D = $42;$$pre$phi41Z2D = $43;$$pre$phi43Z2D = $44;$$sink = $44;$56 = $41;
} else {
if ($32) {
$35 = 0;
} else {
$33 = (__gcry_xmalloc_secure($$op$i$i36)|0);
$35 = $33;
}
$34 = ((($31)) + 16|0);
HEAP32[$34>>2] = $35;
HEAP32[$31>>2] = $30;
$36 = ((($31)) + 12|0);
HEAP32[$36>>2] = 1;
$37 = ((($31)) + 4|0);
HEAP32[$37>>2] = 0;
$38 = ((($31)) + 8|0);
$$pre$phi39Z2D = $37;$$pre$phi41Z2D = $38;$$pre$phi43Z2D = $36;$$sink = $38;$56 = $35;
}
HEAP32[$$sink>>2] = 0;
$45 = HEAP32[$29>>2]|0;
HEAP32[$$pre$phi39Z2D>>2] = $45;
$46 = ((($0)) + 8|0);
$47 = HEAP32[$46>>2]|0;
HEAP32[$$pre$phi41Z2D>>2] = $47;
$48 = HEAP32[$2>>2]|0;
$49 = $48 & -49;
HEAP32[$$pre$phi43Z2D>>2] = $49;
$50 = ($45|0)>(0);
if (!($50)) {
$$035 = $31;
return ($$035|0);
}
$51 = ((($0)) + 16|0);
$52 = HEAP32[$51>>2]|0;
$$038 = 0;
while(1) {
$53 = (($52) + ($$038<<2)|0);
$54 = HEAP32[$53>>2]|0;
$55 = (($56) + ($$038<<2)|0);
HEAP32[$55>>2] = $54;
$57 = (($$038) + 1)|0;
$exitcond = ($57|0)==($45|0);
if ($exitcond) {
$$035 = $31;
break;
} else {
$$038 = $57;
}
}
return ($$035|0);
}
function __gcry_mpi_neg($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = ($0|0)==($1|0);
if ($2) {
$3 = ($0|0)==(0|0);
if (!($3)) {
$4 = ((($0)) + 12|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 16;
$7 = ($6|0)==(0);
if (!($7)) {
__gcry_log_info(64098,$vararg_buffer);
STACKTOP = sp;return;
}
}
} else {
(__gcry_mpi_set($0,$1)|0);
}
$8 = ((($1)) + 8|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0);
$11 = $10&1;
$12 = ((($0)) + 8|0);
HEAP32[$12>>2] = $11;
STACKTOP = sp;return;
}
function __gcry_mpi_set($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$024$i = 0, $$038 = 0, $$039 = 0, $$op$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $exitcond = 0, $scevgep$i = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = ((($1)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($1)) + 8|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($0|0)==(0|0);
if ($6) {
$7 = (__gcry_xmalloc(20)|0);
$8 = ($3|0)==(0);
if ($8) {
$11 = 0;
} else {
$$op$i$i = $3 << 2;
$9 = (__gcry_xmalloc($$op$i$i)|0);
$11 = $9;
}
$10 = ((($7)) + 16|0);
HEAP32[$10>>2] = $11;
HEAP32[$7>>2] = $3;
$12 = ((($7)) + 4|0);
HEAP32[$12>>2] = 0;
$13 = ((($7)) + 8|0);
HEAP32[$13>>2] = 0;
$14 = ((($7)) + 12|0);
HEAP32[$14>>2] = 0;
$$038 = $7;
} else {
$$038 = $0;
}
$15 = ((($$038)) + 12|0);
$16 = HEAP32[$15>>2]|0;
$17 = $16 & 16;
$18 = ($17|0)==(0);
if (!($18)) {
__gcry_log_info(64098,$vararg_buffer);
STACKTOP = sp;return ($$038|0);
}
$19 = HEAP32[$$038>>2]|0;
$20 = ($19|0)<($3|0);
L11: do {
if ($20) {
$21 = ($19>>>0)<($3>>>0);
if (!($21)) {
$22 = ((($$038)) + 4|0);
$23 = HEAP32[$22>>2]|0;
$24 = ($23>>>0)<($19>>>0);
if (!($24)) {
break;
}
$25 = ((($$038)) + 16|0);
$26 = HEAP32[$25>>2]|0;
$$024$i = $23;
while(1) {
$27 = (($26) + ($$024$i<<2)|0);
HEAP32[$27>>2] = 0;
$28 = (($$024$i) + 1)|0;
$29 = HEAP32[$$038>>2]|0;
$30 = ($28>>>0)<($29>>>0);
if ($30) {
$$024$i = $28;
} else {
break L11;
}
}
}
$31 = ((($$038)) + 16|0);
$32 = HEAP32[$31>>2]|0;
$33 = ($32|0)==(0|0);
do {
if ($33) {
$40 = $16 & 1;
$41 = ($40|0)==(0);
if ($41) {
$43 = (__gcry_xcalloc($3,4)|0);
HEAP32[$31>>2] = $43;
break;
} else {
$42 = (__gcry_xcalloc_secure($3,4)|0);
HEAP32[$31>>2] = $42;
break;
}
} else {
$34 = $3 << 2;
$35 = (__gcry_xrealloc($32,$34)|0);
HEAP32[$31>>2] = $35;
$36 = HEAP32[$$038>>2]|0;
$37 = ($36>>>0)<($3>>>0);
if ($37) {
$38 = $36 << 2;
$39 = (($34) - ($38))|0;
$scevgep$i = (($35) + ($36<<2)|0);
_memset(($scevgep$i|0),0,($39|0))|0;
}
}
} while(0);
HEAP32[$$038>>2] = $3;
}
} while(0);
$44 = ((($$038)) + 16|0);
$45 = HEAP32[$44>>2]|0;
$46 = ((($1)) + 16|0);
$47 = HEAP32[$46>>2]|0;
$48 = ($3|0)>(0);
if ($48) {
$$039 = 0;
while(1) {
$49 = (($47) + ($$039<<2)|0);
$50 = HEAP32[$49>>2]|0;
$51 = (($45) + ($$039<<2)|0);
HEAP32[$51>>2] = $50;
$52 = (($$039) + 1)|0;
$exitcond = ($52|0)==($3|0);
if ($exitcond) {
break;
} else {
$$039 = $52;
}
}
}
$53 = ((($$038)) + 4|0);
HEAP32[$53>>2] = $3;
$54 = ((($1)) + 12|0);
$55 = HEAP32[$54>>2]|0;
$56 = $55 & -49;
HEAP32[$15>>2] = $56;
$57 = ((($$038)) + 8|0);
HEAP32[$57>>2] = $5;
STACKTOP = sp;return ($$038|0);
}
function __gcry_mpi_alloc_like($0) {
$0 = $0|0;
var $$0 = 0, $$op$i$i24 = 0, $$pre$phi26Z2D = 0, $$pre$phi28Z2D = 0, $$pre$phi30Z2D = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = 0;
return ($$0|0);
}
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 4;
$5 = ($4|0)==(0);
if (!($5)) {
$6 = ((($0)) + 8|0);
$7 = HEAP32[$6>>2]|0;
$8 = (($7) + 7)|0;
$9 = (($8|0) / 8)&-1;
$10 = ((($0)) + 16|0);
$11 = HEAP32[$10>>2]|0;
$12 = (__gcry_is_secure($11)|0);
$13 = ($12|0)==(0);
if ($13) {
$15 = (__gcry_malloc($9)|0);
$17 = $15;
} else {
$14 = (__gcry_malloc_secure($9)|0);
$17 = $14;
}
$16 = HEAP32[$10>>2]|0;
_memcpy(($17|0),($16|0),($9|0))|0;
$18 = HEAP32[$6>>2]|0;
$19 = (__gcry_mpi_set_opaque(0,$17,$18)|0);
$$0 = $19;
return ($$0|0);
}
$20 = $3 & 1;
$21 = ($20|0)==(0);
$22 = ((($0)) + 4|0);
$23 = HEAP32[$22>>2]|0;
$24 = (__gcry_xmalloc(20)|0);
$25 = ($23|0)==(0);
$$op$i$i24 = $23 << 2;
if ($21) {
if ($25) {
$34 = 0;
} else {
$32 = (__gcry_xmalloc($$op$i$i24)|0);
$34 = $32;
}
$33 = ((($24)) + 16|0);
HEAP32[$33>>2] = $34;
HEAP32[$24>>2] = $23;
$35 = ((($24)) + 4|0);
HEAP32[$35>>2] = 0;
$36 = ((($24)) + 8|0);
HEAP32[$36>>2] = 0;
$37 = ((($24)) + 12|0);
$$pre$phi26Z2D = $35;$$pre$phi28Z2D = $36;$$pre$phi30Z2D = $37;$$sink = $37;
} else {
if ($25) {
$28 = 0;
} else {
$26 = (__gcry_xmalloc_secure($$op$i$i24)|0);
$28 = $26;
}
$27 = ((($24)) + 16|0);
HEAP32[$27>>2] = $28;
HEAP32[$24>>2] = $23;
$29 = ((($24)) + 12|0);
HEAP32[$29>>2] = 1;
$30 = ((($24)) + 4|0);
HEAP32[$30>>2] = 0;
$31 = ((($24)) + 8|0);
$$pre$phi26Z2D = $30;$$pre$phi28Z2D = $31;$$pre$phi30Z2D = $29;$$sink = $31;
}
HEAP32[$$sink>>2] = 0;
HEAP32[$$pre$phi26Z2D>>2] = 0;
HEAP32[$$pre$phi28Z2D>>2] = 0;
$38 = HEAP32[$2>>2]|0;
HEAP32[$$pre$phi30Z2D>>2] = $38;
$$0 = $24;
return ($$0|0);
}
function __gcry_mpi_snatch($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$lcssa$i$i = 0, $$036$lcssa$i$i = 0, $$03644$i$i = 0, $$045$i$i = 0, $$1$i$i = 0, $$137$i$i = 0, $$2$i$i = 0, $$238$i$i = 0, $$33942$i$i = 0, $$343$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep$i$i = 0, $vararg_buffer = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = ($0|0)==(0|0);
if (!($2)) {
$3 = ((($0)) + 12|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 16;
$6 = ($5|0)==(0);
if (!($6)) {
__gcry_log_info(64098,$vararg_buffer);
STACKTOP = sp;return;
}
$7 = ((($1)) + 16|0);
$8 = HEAP32[$7>>2]|0;
$9 = HEAP32[$1>>2]|0;
$10 = ((($0)) + 16|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11|0)==(0|0);
if (!($12)) {
$13 = HEAP32[$0>>2]|0;
$14 = $13 << 2;
$15 = ($14|0)==(0);
if (!($15)) {
$16 = $11;
$17 = $16 & 7;
$18 = ($17|0)==(0);
if ($18) {
$$0$lcssa$i$i = $11;$$036$lcssa$i$i = $14;
} else {
$$03644$i$i = $14;$$045$i$i = $11;
while(1) {
HEAP8[$$045$i$i>>0] = 0;
$19 = ((($$045$i$i)) + 1|0);
$20 = (($$03644$i$i) + -1)|0;
$21 = $19;
$22 = $21 & 7;
$23 = ($22|0)!=(0);
$24 = ($20|0)!=(0);
$25 = $24 & $23;
if ($25) {
$$03644$i$i = $20;$$045$i$i = $19;
} else {
$$0$lcssa$i$i = $19;$$036$lcssa$i$i = $20;
break;
}
}
}
$26 = ($$036$lcssa$i$i>>>0)<(8);
if ($26) {
$$2$i$i = $$0$lcssa$i$i;$$238$i$i = $$036$lcssa$i$i;
} else {
$27 = (($$036$lcssa$i$i) + -8)|0;
$$1$i$i = $$0$lcssa$i$i;$$137$i$i = $$036$lcssa$i$i;
while(1) {
$28 = $$1$i$i;
$29 = $28;
HEAP32[$29>>2] = 0;
$30 = (($28) + 4)|0;
$31 = $30;
HEAP32[$31>>2] = 0;
$32 = (($$137$i$i) + -8)|0;
$33 = ((($$1$i$i)) + 8|0);
$34 = ($32>>>0)>(7);
if ($34) {
$$1$i$i = $33;$$137$i$i = $32;
} else {
break;
}
}
$35 = $27 & -8;
$36 = (($35) + 8)|0;
$37 = (($27) - ($35))|0;
$scevgep$i$i = (($$0$lcssa$i$i) + ($36)|0);
$$2$i$i = $scevgep$i$i;$$238$i$i = $37;
}
$38 = ($$238$i$i|0)==(0);
if (!($38)) {
$$33942$i$i = $$238$i$i;$$343$i$i = $$2$i$i;
while(1) {
HEAP8[$$343$i$i>>0] = 0;
$39 = ((($$343$i$i)) + 1|0);
$40 = (($$33942$i$i) + -1)|0;
$41 = ($40|0)==(0);
if ($41) {
break;
} else {
$$33942$i$i = $40;$$343$i$i = $39;
}
}
}
}
__gcry_free($11);
}
HEAP32[$10>>2] = $8;
HEAP32[$0>>2] = $9;
$42 = ((($1)) + 4|0);
$43 = HEAP32[$42>>2]|0;
$44 = ((($0)) + 4|0);
HEAP32[$44>>2] = $43;
$45 = ((($1)) + 8|0);
$46 = HEAP32[$45>>2]|0;
$47 = ((($0)) + 8|0);
HEAP32[$47>>2] = $46;
$48 = ((($1)) + 12|0);
$49 = HEAP32[$48>>2]|0;
HEAP32[$3>>2] = $49;
HEAP32[$1>>2] = 0;
HEAP32[$42>>2] = 0;
HEAP32[$7>>2] = 0;
}
__gcry_mpi_free($1);
STACKTOP = sp;return;
}
function __gcry_mpi_set_cond($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$034 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$3 = HEAP32[$1>>2]|0;
$4 = ($2|0)!=(0);
$5 = $4 << 31 >> 31;
$6 = HEAP32[$0>>2]|0;
$7 = ($6|0)==($3|0);
if (!($7)) {
__gcry_log_bug(64204,$vararg_buffer);
// unreachable;
}
$8 = ($3|0)>(0);
if ($8) {
$9 = ((($0)) + 16|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($1)) + 16|0);
$12 = HEAP32[$11>>2]|0;
$$034 = 0;
while(1) {
$13 = (($10) + ($$034<<2)|0);
$14 = HEAP32[$13>>2]|0;
$15 = (($12) + ($$034<<2)|0);
$16 = HEAP32[$15>>2]|0;
$17 = $16 ^ $14;
$18 = $17 & $5;
$19 = $18 ^ $14;
HEAP32[$13>>2] = $19;
$20 = (($$034) + 1)|0;
$exitcond = ($20|0)==($3|0);
if ($exitcond) {
break;
} else {
$$034 = $20;
}
}
}
$21 = ((($0)) + 4|0);
$22 = HEAP32[$21>>2]|0;
$23 = ((($1)) + 4|0);
$24 = HEAP32[$23>>2]|0;
$25 = $24 ^ $22;
$26 = $25 & $5;
$27 = $26 ^ $22;
HEAP32[$21>>2] = $27;
$28 = ((($0)) + 8|0);
$29 = HEAP32[$28>>2]|0;
$30 = ((($1)) + 8|0);
$31 = HEAP32[$30>>2]|0;
$32 = $31 ^ $29;
$33 = $32 & $5;
$34 = $33 ^ $29;
HEAP32[$28>>2] = $34;
STACKTOP = sp;return ($0|0);
}
function __gcry_mpi_set_ui($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$01314 = 0, $$01315 = 0, $$01316 = 0, $$024$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = ($0|0)==(0|0);
if ($2) {
$3 = (__gcry_xmalloc(20)|0);
$4 = (__gcry_xmalloc(4)|0);
$5 = ((($3)) + 16|0);
HEAP32[$5>>2] = $4;
HEAP32[$3>>2] = 1;
$6 = ((($3)) + 4|0);
HEAP32[$6>>2] = 0;
$7 = ((($3)) + 8|0);
HEAP32[$7>>2] = 0;
$8 = ((($3)) + 12|0);
HEAP32[$8>>2] = 0;
$9 = ($3|0)==(0|0);
if ($9) {
$$01315 = 0;
} else {
$$01314 = $3;
label = 3;
}
} else {
$$01314 = $0;
label = 3;
}
if ((label|0) == 3) {
$10 = ((($$01314)) + 12|0);
$11 = HEAP32[$10>>2]|0;
$12 = $11 & 16;
$13 = ($12|0)==(0);
if ($13) {
$$01315 = $$01314;
} else {
__gcry_log_info(64098,$vararg_buffer);
$$01316 = $$01314;
STACKTOP = sp;return ($$01316|0);
}
}
$14 = HEAP32[$$01315>>2]|0;
$15 = ($14|0)<(1);
L8: do {
if ($15) {
$16 = ($14|0)==(0);
if (!($16)) {
$17 = ((($$01315)) + 4|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18>>>0)<($14>>>0);
if (!($19)) {
break;
}
$20 = ((($$01315)) + 16|0);
$21 = HEAP32[$20>>2]|0;
$$024$i = $18;
while(1) {
$22 = (($21) + ($$024$i<<2)|0);
HEAP32[$22>>2] = 0;
$23 = (($$024$i) + 1)|0;
$24 = HEAP32[$$01315>>2]|0;
$25 = ($23>>>0)<($24>>>0);
if ($25) {
$$024$i = $23;
} else {
break L8;
}
}
}
$26 = ((($$01315)) + 16|0);
$27 = HEAP32[$26>>2]|0;
$28 = ($27|0)==(0|0);
do {
if ($28) {
$32 = ((($$01315)) + 12|0);
$33 = HEAP32[$32>>2]|0;
$34 = $33 & 1;
$35 = ($34|0)==(0);
if ($35) {
$37 = (__gcry_xcalloc(1,4)|0);
HEAP32[$26>>2] = $37;
break;
} else {
$36 = (__gcry_xcalloc_secure(1,4)|0);
HEAP32[$26>>2] = $36;
break;
}
} else {
$29 = (__gcry_xrealloc($27,4)|0);
HEAP32[$26>>2] = $29;
$30 = HEAP32[$$01315>>2]|0;
$31 = ($30|0)==(0);
if ($31) {
HEAP32[$29>>2] = 0;
}
}
} while(0);
HEAP32[$$01315>>2] = 1;
}
} while(0);
$38 = ((($$01315)) + 16|0);
$39 = HEAP32[$38>>2]|0;
HEAP32[$39>>2] = $1;
$40 = ($1|0)!=(0);
$41 = $40&1;
$42 = ((($$01315)) + 4|0);
HEAP32[$42>>2] = $41;
$43 = ((($$01315)) + 8|0);
HEAP32[$43>>2] = 0;
$44 = ((($$01315)) + 12|0);
HEAP32[$44>>2] = 0;
$$01316 = $$01315;
STACKTOP = sp;return ($$01316|0);
}
function __gcry_mpi_swap($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$2 = sp;
;HEAP32[$2>>2]=HEAP32[$0>>2]|0;HEAP32[$2+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$0+16>>2]|0;
;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$1+16>>2]|0;
;HEAP32[$1>>2]=HEAP32[$2>>2]|0;HEAP32[$1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$1+16>>2]=HEAP32[$2+16>>2]|0;
STACKTOP = sp;return;
}
function __gcry_mpi_swap_cond($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$044 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0;
var $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$3 = HEAP32[$0>>2]|0;
$4 = ($2|0)!=(0);
$5 = $4 << 31 >> 31;
$6 = HEAP32[$1>>2]|0;
$7 = ($3|0)==($6|0);
if (!($7)) {
__gcry_log_bug(64235,$vararg_buffer);
// unreachable;
}
$8 = ($3|0)>(0);
if ($8) {
$9 = ((($0)) + 16|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($1)) + 16|0);
$12 = HEAP32[$11>>2]|0;
$$044 = 0;
while(1) {
$13 = (($10) + ($$044<<2)|0);
$14 = HEAP32[$13>>2]|0;
$15 = (($12) + ($$044<<2)|0);
$16 = HEAP32[$15>>2]|0;
$17 = $16 ^ $14;
$18 = $17 & $5;
$19 = $18 ^ $14;
HEAP32[$13>>2] = $19;
$20 = HEAP32[$15>>2]|0;
$21 = $20 ^ $18;
HEAP32[$15>>2] = $21;
$22 = (($$044) + 1)|0;
$exitcond = ($22|0)==($3|0);
if ($exitcond) {
break;
} else {
$$044 = $22;
}
}
}
$23 = ((($0)) + 4|0);
$24 = HEAP32[$23>>2]|0;
$25 = ((($1)) + 4|0);
$26 = HEAP32[$25>>2]|0;
$27 = $26 ^ $24;
$28 = $27 & $5;
$29 = $28 ^ $24;
HEAP32[$23>>2] = $29;
$30 = HEAP32[$25>>2]|0;
$31 = $30 ^ $28;
HEAP32[$25>>2] = $31;
$32 = ((($0)) + 8|0);
$33 = HEAP32[$32>>2]|0;
$34 = ((($1)) + 8|0);
$35 = HEAP32[$34>>2]|0;
$36 = $35 ^ $33;
$37 = $36 & $5;
$38 = $37 ^ $33;
HEAP32[$32>>2] = $38;
$39 = HEAP32[$34>>2]|0;
$40 = $39 ^ $37;
HEAP32[$34>>2] = $40;
STACKTOP = sp;return;
}
function __gcry_mpi_new($0) {
$0 = $0|0;
var $$op$i$i = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (($0) + 31)|0;
$2 = $1 >>> 5;
$3 = (__gcry_xmalloc(20)|0);
$4 = ($2|0)==(0);
if ($4) {
$7 = 0;
} else {
$$op$i$i = $2 << 2;
$5 = (__gcry_xmalloc($$op$i$i)|0);
$7 = $5;
}
$6 = ((($3)) + 16|0);
HEAP32[$6>>2] = $7;
HEAP32[$3>>2] = $2;
$8 = ((($3)) + 4|0);
HEAP32[$8>>2] = 0;
$9 = ((($3)) + 8|0);
HEAP32[$9>>2] = 0;
$10 = ((($3)) + 12|0);
HEAP32[$10>>2] = 0;
return ($3|0);
}
function __gcry_mpi_snew($0) {
$0 = $0|0;
var $$op$i$i = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (($0) + 31)|0;
$2 = $1 >>> 5;
$3 = (__gcry_xmalloc(20)|0);
$4 = ($2|0)==(0);
if ($4) {
$7 = 0;
} else {
$$op$i$i = $2 << 2;
$5 = (__gcry_xmalloc_secure($$op$i$i)|0);
$7 = $5;
}
$6 = ((($3)) + 16|0);
HEAP32[$6>>2] = $7;
HEAP32[$3>>2] = $2;
$8 = ((($3)) + 12|0);
HEAP32[$8>>2] = 1;
$9 = ((($3)) + 4|0);
HEAP32[$9>>2] = 0;
$10 = ((($3)) + 8|0);
HEAP32[$10>>2] = 0;
return ($3|0);
}
function __gcry_mpi_release($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gcry_mpi_free($0);
return;
}
function __gcry_mpi_randomize($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$3 = (($1) + 7)|0;
$4 = $3 >>> 3;
$5 = ($0|0)!=(0|0);
if ($5) {
$6 = ((($0)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = $7 & 16;
$9 = ($8|0)==(0);
if (!($9)) {
__gcry_log_info(64098,$vararg_buffer);
STACKTOP = sp;return;
}
}
$10 = ($2|0)==(0);
do {
if ($10) {
if ($5) {
$11 = ((($0)) + 12|0);
$12 = HEAP32[$11>>2]|0;
$13 = $12 & 1;
$14 = ($13|0)==(0);
if ($14) {
label = 8;
} else {
$15 = (__gcry_xmalloc_secure($4)|0);
$17 = $15;
}
} else {
label = 8;
}
if ((label|0) == 8) {
$16 = (__gcry_xmalloc($4)|0);
$17 = $16;
}
__gcry_create_nonce($17,$4);
$$0 = $17;
} else {
if ($5) {
$18 = ((($0)) + 12|0);
$19 = HEAP32[$18>>2]|0;
$20 = $19 & 1;
$21 = ($20|0)==(0);
if (!($21)) {
$22 = (__gcry_random_bytes_secure($4,$2)|0);
$$0 = $22;
break;
}
}
$23 = (__gcry_random_bytes($4,$2)|0);
$$0 = $23;
}
} while(0);
__gcry_mpi_set_buffer($0,$$0,$4,0);
__gcry_free($$0);
STACKTOP = sp;return;
}
function __gcry_mpi_get_flag($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$0$in = 0, $$sink7 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
switch ($1|0) {
case 2048: case 1024: case 512: case 256: case 1: {
$$sink7 = $1;
break;
}
case 2: {
$$sink7 = 4;
break;
}
case 4: {
$$sink7 = 16;
break;
}
case 8: {
$$sink7 = 32;
break;
}
default: {
__gcry_log_bug(64267,$vararg_buffer);
// unreachable;
}
}
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & $$sink7;
$$0$in = ($4|0)!=(0);
$$0 = $$0$in&1;
STACKTOP = sp;return ($$0|0);
}
function __gcry_mpi_const($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$1 = ($0>>>0)>(6);
if ($1) {
HEAP32[$vararg_buffer>>2] = $0;
__gcry_log_bug(64287,$vararg_buffer);
// unreachable;
}
$2 = (71152 + ($0<<2)|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
if ($4) {
__gcry_log_bug(64318,$vararg_buffer1);
// unreachable;
} else {
STACKTOP = sp;return ($3|0);
}
return (0)|0;
}
function __gcry_compat_identification() {
var label = 0, sp = 0;
sp = STACKTOP;
return (15200|0);
}
function __gcry_hmac256_new($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$05765 = 0, $$3 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
var $99 = 0, $exitcond = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$2 = sp;
$3 = (_malloc(172)|0);
$4 = ($3|0)==(0|0);
if ($4) {
$$3 = 0;
STACKTOP = sp;return ($$3|0);
}
HEAP32[$3>>2] = 1779033703;
$5 = ((($3)) + 4|0);
HEAP32[$5>>2] = -1150833019;
$6 = ((($3)) + 8|0);
HEAP32[$6>>2] = 1013904242;
$7 = ((($3)) + 12|0);
HEAP32[$7>>2] = -1521486534;
$8 = ((($3)) + 16|0);
HEAP32[$8>>2] = 1359893119;
$9 = ((($3)) + 20|0);
HEAP32[$9>>2] = -1694144372;
$10 = ((($3)) + 24|0);
HEAP32[$10>>2] = 528734635;
$11 = ((($3)) + 28|0);
HEAP32[$11>>2] = 1541459225;
$12 = ((($3)) + 32|0);
HEAP32[$12>>2] = 0;
$13 = ((($3)) + 36|0);
HEAP32[$13>>2] = 0;
$14 = ((($3)) + 40|0);
HEAP8[$14>>0] = 0;
$15 = ($0|0)==(0|0);
if ($15) {
$$3 = $3;
STACKTOP = sp;return ($$3|0);
}
dest=$2; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$16 = ((($3)) + 105|0);
dest=$16; stop=dest+64|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
$17 = ($1>>>0)<(65);
do {
if ($17) {
_memcpy(($2|0),($0|0),($1|0))|0;
_memcpy(($16|0),($0|0),($1|0))|0;
} else {
$18 = (_malloc(172)|0);
$19 = ($18|0)==(0|0);
if (!($19)) {
HEAP32[$18>>2] = 1779033703;
$20 = ((($18)) + 4|0);
HEAP32[$20>>2] = -1150833019;
$21 = ((($18)) + 8|0);
HEAP32[$21>>2] = 1013904242;
$22 = ((($18)) + 12|0);
HEAP32[$22>>2] = -1521486534;
$23 = ((($18)) + 16|0);
HEAP32[$23>>2] = 1359893119;
$24 = ((($18)) + 20|0);
HEAP32[$24>>2] = -1694144372;
$25 = ((($18)) + 24|0);
HEAP32[$25>>2] = 528734635;
$26 = ((($18)) + 28|0);
HEAP32[$26>>2] = 1541459225;
$27 = ((($18)) + 32|0);
HEAP32[$27>>2] = 0;
$28 = ((($18)) + 36|0);
HEAP32[$28>>2] = 0;
$29 = ((($18)) + 40|0);
HEAP8[$29>>0] = 0;
__gcry_hmac256_update($18,$0,$1);
_finalize($18);
$30 = ((($18)) + 41|0);
dest=$2; src=$30; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
dest=$16; src=$30; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
__gcry_hmac256_release($18);
break;
}
_free($3);
$$3 = 0;
STACKTOP = sp;return ($$3|0);
}
} while(0);
$$05765 = 0;
while(1) {
$31 = (($2) + ($$05765)|0);
$32 = HEAP8[$31>>0]|0;
$33 = $32 ^ 54;
HEAP8[$31>>0] = $33;
$34 = (($16) + ($$05765)|0);
$35 = HEAP8[$34>>0]|0;
$36 = $35 ^ 92;
HEAP8[$34>>0] = $36;
$37 = (($$05765) + 1)|0;
$exitcond = ($37|0)==(64);
if ($exitcond) {
break;
} else {
$$05765 = $37;
}
}
HEAP8[$14>>0] = 2;
__gcry_hmac256_update($3,$2,64);
HEAP8[$2>>0] = 0;
$38 = ((($2)) + 1|0);
HEAP8[$38>>0] = 0;
$39 = ((($2)) + 2|0);
HEAP8[$39>>0] = 0;
$40 = ((($2)) + 3|0);
HEAP8[$40>>0] = 0;
$41 = ((($2)) + 4|0);
HEAP8[$41>>0] = 0;
$42 = ((($2)) + 5|0);
HEAP8[$42>>0] = 0;
$43 = ((($2)) + 6|0);
HEAP8[$43>>0] = 0;
$44 = ((($2)) + 7|0);
HEAP8[$44>>0] = 0;
$45 = ((($2)) + 8|0);
HEAP8[$45>>0] = 0;
$46 = ((($2)) + 9|0);
HEAP8[$46>>0] = 0;
$47 = ((($2)) + 10|0);
HEAP8[$47>>0] = 0;
$48 = ((($2)) + 11|0);
HEAP8[$48>>0] = 0;
$49 = ((($2)) + 12|0);
HEAP8[$49>>0] = 0;
$50 = ((($2)) + 13|0);
HEAP8[$50>>0] = 0;
$51 = ((($2)) + 14|0);
HEAP8[$51>>0] = 0;
$52 = ((($2)) + 15|0);
HEAP8[$52>>0] = 0;
$53 = ((($2)) + 16|0);
HEAP8[$53>>0] = 0;
$54 = ((($2)) + 17|0);
HEAP8[$54>>0] = 0;
$55 = ((($2)) + 18|0);
HEAP8[$55>>0] = 0;
$56 = ((($2)) + 19|0);
HEAP8[$56>>0] = 0;
$57 = ((($2)) + 20|0);
HEAP8[$57>>0] = 0;
$58 = ((($2)) + 21|0);
HEAP8[$58>>0] = 0;
$59 = ((($2)) + 22|0);
HEAP8[$59>>0] = 0;
$60 = ((($2)) + 23|0);
HEAP8[$60>>0] = 0;
$61 = ((($2)) + 24|0);
HEAP8[$61>>0] = 0;
$62 = ((($2)) + 25|0);
HEAP8[$62>>0] = 0;
$63 = ((($2)) + 26|0);
HEAP8[$63>>0] = 0;
$64 = ((($2)) + 27|0);
HEAP8[$64>>0] = 0;
$65 = ((($2)) + 28|0);
HEAP8[$65>>0] = 0;
$66 = ((($2)) + 29|0);
HEAP8[$66>>0] = 0;
$67 = ((($2)) + 30|0);
HEAP8[$67>>0] = 0;
$68 = ((($2)) + 31|0);
HEAP8[$68>>0] = 0;
$69 = ((($2)) + 32|0);
HEAP8[$69>>0] = 0;
$70 = ((($2)) + 33|0);
HEAP8[$70>>0] = 0;
$71 = ((($2)) + 34|0);
HEAP8[$71>>0] = 0;
$72 = ((($2)) + 35|0);
HEAP8[$72>>0] = 0;
$73 = ((($2)) + 36|0);
HEAP8[$73>>0] = 0;
$74 = ((($2)) + 37|0);
HEAP8[$74>>0] = 0;
$75 = ((($2)) + 38|0);
HEAP8[$75>>0] = 0;
$76 = ((($2)) + 39|0);
HEAP8[$76>>0] = 0;
$77 = ((($2)) + 40|0);
HEAP8[$77>>0] = 0;
$78 = ((($2)) + 41|0);
HEAP8[$78>>0] = 0;
$79 = ((($2)) + 42|0);
HEAP8[$79>>0] = 0;
$80 = ((($2)) + 43|0);
HEAP8[$80>>0] = 0;
$81 = ((($2)) + 44|0);
HEAP8[$81>>0] = 0;
$82 = ((($2)) + 45|0);
HEAP8[$82>>0] = 0;
$83 = ((($2)) + 46|0);
HEAP8[$83>>0] = 0;
$84 = ((($2)) + 47|0);
HEAP8[$84>>0] = 0;
$85 = ((($2)) + 48|0);
HEAP8[$85>>0] = 0;
$86 = ((($2)) + 49|0);
HEAP8[$86>>0] = 0;
$87 = ((($2)) + 50|0);
HEAP8[$87>>0] = 0;
$88 = ((($2)) + 51|0);
HEAP8[$88>>0] = 0;
$89 = ((($2)) + 52|0);
HEAP8[$89>>0] = 0;
$90 = ((($2)) + 53|0);
HEAP8[$90>>0] = 0;
$91 = ((($2)) + 54|0);
HEAP8[$91>>0] = 0;
$92 = ((($2)) + 55|0);
HEAP8[$92>>0] = 0;
$93 = ((($2)) + 56|0);
HEAP8[$93>>0] = 0;
$94 = ((($2)) + 57|0);
HEAP8[$94>>0] = 0;
$95 = ((($2)) + 58|0);
HEAP8[$95>>0] = 0;
$96 = ((($2)) + 59|0);
HEAP8[$96>>0] = 0;
$97 = ((($2)) + 60|0);
HEAP8[$97>>0] = 0;
$98 = ((($2)) + 61|0);
HEAP8[$98>>0] = 0;
$99 = ((($2)) + 62|0);
HEAP8[$99>>0] = 0;
$100 = ((($2)) + 63|0);
HEAP8[$100>>0] = 0;
$$3 = $3;
STACKTOP = sp;return ($$3|0);
}
function __gcry_hmac256_update($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$03147$lcssa = 0, $$0314770 = 0, $$048$lcssa = 0, $$04869 = 0, $$1 = 0, $$132 = 0, $$2$lcssa = 0, $$233$lcssa = 0, $$23343 = 0, $$244 = 0, $$3344066 = 0, $$34165 = 0, $$lcssa = 0, $$mask = 0, $$mask$i = 0, $$mask$i36 = 0, $$pre = 0, $$pre58 = 0, $10 = 0, $11 = 0;
var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0;
var $or$cond74 = 0, $scevgep = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 40|0);
$4 = HEAP8[$3>>0]|0;
$$mask = $4 & 1;
$5 = ($$mask<<24>>24)==(0);
if (!($5)) {
return;
}
$6 = ((($0)) + 36|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(64);
if ($8) {
$9 = ((($0)) + 41|0);
_transform_1707($0,$9);
HEAP32[$6>>2] = 0;
$10 = ((($0)) + 32|0);
$11 = HEAP32[$10>>2]|0;
$12 = (($11) + 1)|0;
HEAP32[$10>>2] = $12;
$15 = 0;
} else {
$15 = $7;
}
$13 = ($1|0)==(0|0);
if ($13) {
return;
}
$14 = ($15|0)==(0);
L10: do {
if ($14) {
$$1 = $1;$$132 = $2;$63 = 0;
} else {
$16 = ($2|0)==(0);
L12: do {
if (!($16)) {
$17 = ($15|0)<(64);
if ($17) {
$$0314770 = $2;$$04869 = $1;$20 = $15;
while(1) {
$18 = HEAP8[$$04869>>0]|0;
$19 = (($20) + 1)|0;
HEAP32[$6>>2] = $19;
$21 = (((($0)) + 41|0) + ($20)|0);
HEAP8[$21>>0] = $18;
$22 = (($$0314770) + -1)|0;
$23 = ($22|0)==(0);
if ($23) {
break L12;
}
$24 = ((($$04869)) + 1|0);
$$pre = HEAP32[$6>>2]|0;
$25 = ($$pre|0)<(64);
if ($25) {
$$0314770 = $22;$$04869 = $24;$20 = $$pre;
} else {
$$03147$lcssa = $22;$$048$lcssa = $24;$$lcssa = $$pre;
break;
}
}
} else {
$$03147$lcssa = $2;$$048$lcssa = $1;$$lcssa = $15;
}
$26 = HEAP8[$3>>0]|0;
$$mask$i36 = $26 & 1;
$27 = ($$mask$i36<<24>>24)==(0);
$28 = ($$lcssa|0)==(64);
$or$cond = $28 & $27;
if (!($or$cond)) {
$$1 = $$048$lcssa;$$132 = $$03147$lcssa;$63 = $$lcssa;
break L10;
}
$29 = ((($0)) + 41|0);
_transform_1707($0,$29);
HEAP32[$6>>2] = 0;
$30 = ((($0)) + 32|0);
$31 = HEAP32[$30>>2]|0;
$32 = (($31) + 1)|0;
HEAP32[$30>>2] = $32;
$$1 = $$048$lcssa;$$132 = $$03147$lcssa;$63 = 0;
break L10;
}
} while(0);
$33 = HEAP8[$3>>0]|0;
$$mask$i = $33 & 1;
$34 = ($$mask$i<<24>>24)==(0);
if (!($34)) {
return;
}
$35 = HEAP32[$6>>2]|0;
$36 = ($35|0)==(64);
if (!($36)) {
return;
}
$37 = ((($0)) + 41|0);
_transform_1707($0,$37);
HEAP32[$6>>2] = 0;
$38 = ((($0)) + 32|0);
$39 = HEAP32[$38>>2]|0;
$40 = (($39) + 1)|0;
HEAP32[$38>>2] = $40;
return;
}
} while(0);
$41 = ($$132>>>0)>(63);
if ($41) {
$42 = ((($0)) + 32|0);
$43 = (($$132) + -64)|0;
$44 = $43 & -64;
$45 = (($44) + 64)|0;
$$23343 = $$132;$$244 = $$1;
while(1) {
_transform_1707($0,$$244);
HEAP32[$6>>2] = 0;
$46 = HEAP32[$42>>2]|0;
$47 = (($46) + 1)|0;
HEAP32[$42>>2] = $47;
$48 = (($$23343) + -64)|0;
$49 = ((($$244)) + 64|0);
$50 = ($48>>>0)>(63);
if ($50) {
$$23343 = $48;$$244 = $49;
} else {
break;
}
}
$51 = (($43) - ($44))|0;
$scevgep = (($$1) + ($45)|0);
$$2$lcssa = $scevgep;$$233$lcssa = $51;$54 = 0;
} else {
$$2$lcssa = $$1;$$233$lcssa = $$132;$54 = $63;
}
$52 = ($$233$lcssa|0)!=(0);
$53 = ($54|0)<(64);
$or$cond74 = $52 & $53;
if (!($or$cond74)) {
return;
}
$$3344066 = $$233$lcssa;$$34165 = $$2$lcssa;$57 = $54;
while(1) {
$55 = HEAP8[$$34165>>0]|0;
$56 = (($57) + 1)|0;
HEAP32[$6>>2] = $56;
$58 = (((($0)) + 41|0) + ($57)|0);
HEAP8[$58>>0] = $55;
$59 = (($$3344066) + -1)|0;
$60 = ($59|0)==(0);
if ($60) {
label = 24;
break;
}
$61 = ((($$34165)) + 1|0);
$$pre58 = HEAP32[$6>>2]|0;
$62 = ($$pre58|0)<(64);
if ($62) {
$$3344066 = $59;$$34165 = $61;$57 = $$pre58;
} else {
label = 24;
break;
}
}
if ((label|0) == 24) {
return;
}
}
function _finalize($0) {
$0 = $0|0;
var $$lcssa = 0, $$mask = 0, $$mask$i115 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phi120Z2D = 0, $$pre$phiZ2D = 0, $$pre119 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0;
var $164 = 0, $165 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $spec$select = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
$1 = ((($0)) + 40|0);
$2 = HEAP8[$1>>0]|0;
$$mask = $2 & 1;
$3 = ($$mask<<24>>24)==(0);
if (!($3)) {
return;
}
$4 = ((($0)) + 36|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(64);
if ($6) {
$7 = ((($0)) + 41|0);
_transform_1707($0,$7);
HEAP32[$4>>2] = 0;
$8 = ((($0)) + 32|0);
$9 = HEAP32[$8>>2]|0;
$10 = (($9) + 1)|0;
HEAP32[$8>>2] = $10;
$$pre$phi120Z2D = $7;$$pre$phiZ2D = $8;$12 = $10;$15 = 0;
} else {
$$phi$trans$insert = ((($0)) + 32|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$$pre119 = (((($0)) + 41|0) + ($5)|0);
$$pre$phi120Z2D = $$pre119;$$pre$phiZ2D = $$phi$trans$insert;$12 = $$pre;$15 = $5;
}
$11 = $12 << 6;
$13 = $12 >>> 26;
$14 = (($11) + ($15))|0;
$16 = ($14>>>0)<($11>>>0);
$17 = $16&1;
$spec$select = (($13) + ($17))|0;
$18 = $14 << 3;
$19 = $spec$select << 3;
$20 = $14 >>> 29;
$21 = $19 | $20;
$22 = ($15|0)<(56);
$23 = ((($0)) + 41|0);
$24 = (($15) + 1)|0;
HEAP32[$4>>2] = $24;
HEAP8[$$pre$phi120Z2D>>0] = -128;
$25 = HEAP32[$4>>2]|0;
if ($22) {
$26 = ($25|0)<(56);
if ($26) {
$28 = $25;
while(1) {
$27 = (($28) + 1)|0;
HEAP32[$4>>2] = $27;
$29 = (((($0)) + 41|0) + ($28)|0);
HEAP8[$29>>0] = 0;
$30 = HEAP32[$4>>2]|0;
$31 = ($30|0)<(56);
if ($31) {
$28 = $30;
} else {
break;
}
}
}
} else {
$32 = ($25|0)<(64);
if ($32) {
$34 = $25;
while(1) {
$33 = (($34) + 1)|0;
HEAP32[$4>>2] = $33;
$35 = (((($0)) + 41|0) + ($34)|0);
HEAP8[$35>>0] = 0;
$36 = HEAP32[$4>>2]|0;
$37 = ($36|0)<(64);
if ($37) {
$34 = $36;
} else {
$$lcssa = $36;
break;
}
}
} else {
$$lcssa = $25;
}
$38 = HEAP8[$1>>0]|0;
$$mask$i115 = $38 & 1;
$39 = ($$mask$i115<<24>>24)==(0);
$40 = ($$lcssa|0)==(64);
$or$cond = $40 & $39;
if ($or$cond) {
$41 = ((($0)) + 41|0);
_transform_1707($0,$41);
HEAP32[$4>>2] = 0;
$42 = HEAP32[$$pre$phiZ2D>>2]|0;
$43 = (($42) + 1)|0;
HEAP32[$$pre$phiZ2D>>2] = $43;
}
dest=$23; stop=dest+56|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
}
$44 = ((($0)) + 97|0);
HEAP8[$44>>0] = 0;
$45 = ((($0)) + 98|0);
HEAP8[$45>>0] = 0;
$46 = $spec$select >>> 5;
$47 = $46&255;
$48 = ((($0)) + 99|0);
HEAP8[$48>>0] = $47;
$49 = $21&255;
$50 = ((($0)) + 100|0);
HEAP8[$50>>0] = $49;
$51 = $14 >>> 21;
$52 = $51&255;
$53 = ((($0)) + 101|0);
HEAP8[$53>>0] = $52;
$54 = $14 >>> 13;
$55 = $54&255;
$56 = ((($0)) + 102|0);
HEAP8[$56>>0] = $55;
$57 = $14 >>> 5;
$58 = $57&255;
$59 = ((($0)) + 103|0);
HEAP8[$59>>0] = $58;
$60 = $18&255;
$61 = ((($0)) + 104|0);
HEAP8[$61>>0] = $60;
_transform_1707($0,$23);
$62 = HEAP32[$0>>2]|0;
$63 = $62 >>> 24;
$64 = $63&255;
$65 = ((($0)) + 42|0);
HEAP8[$23>>0] = $64;
$66 = $62 >>> 16;
$67 = $66&255;
$68 = ((($0)) + 43|0);
HEAP8[$65>>0] = $67;
$69 = $62 >>> 8;
$70 = $69&255;
$71 = ((($0)) + 44|0);
HEAP8[$68>>0] = $70;
$72 = $62&255;
$73 = ((($0)) + 45|0);
HEAP8[$71>>0] = $72;
$74 = ((($0)) + 4|0);
$75 = HEAP32[$74>>2]|0;
$76 = $75 >>> 24;
$77 = $76&255;
$78 = ((($0)) + 46|0);
HEAP8[$73>>0] = $77;
$79 = $75 >>> 16;
$80 = $79&255;
$81 = ((($0)) + 47|0);
HEAP8[$78>>0] = $80;
$82 = $75 >>> 8;
$83 = $82&255;
$84 = ((($0)) + 48|0);
HEAP8[$81>>0] = $83;
$85 = $75&255;
$86 = ((($0)) + 49|0);
HEAP8[$84>>0] = $85;
$87 = ((($0)) + 8|0);
$88 = HEAP32[$87>>2]|0;
$89 = $88 >>> 24;
$90 = $89&255;
$91 = ((($0)) + 50|0);
HEAP8[$86>>0] = $90;
$92 = $88 >>> 16;
$93 = $92&255;
$94 = ((($0)) + 51|0);
HEAP8[$91>>0] = $93;
$95 = $88 >>> 8;
$96 = $95&255;
$97 = ((($0)) + 52|0);
HEAP8[$94>>0] = $96;
$98 = $88&255;
$99 = ((($0)) + 53|0);
HEAP8[$97>>0] = $98;
$100 = ((($0)) + 12|0);
$101 = HEAP32[$100>>2]|0;
$102 = $101 >>> 24;
$103 = $102&255;
$104 = ((($0)) + 54|0);
HEAP8[$99>>0] = $103;
$105 = $101 >>> 16;
$106 = $105&255;
$107 = ((($0)) + 55|0);
HEAP8[$104>>0] = $106;
$108 = $101 >>> 8;
$109 = $108&255;
$110 = ((($0)) + 56|0);
HEAP8[$107>>0] = $109;
$111 = $101&255;
$112 = ((($0)) + 57|0);
HEAP8[$110>>0] = $111;
$113 = ((($0)) + 16|0);
$114 = HEAP32[$113>>2]|0;
$115 = $114 >>> 24;
$116 = $115&255;
$117 = ((($0)) + 58|0);
HEAP8[$112>>0] = $116;
$118 = $114 >>> 16;
$119 = $118&255;
$120 = ((($0)) + 59|0);
HEAP8[$117>>0] = $119;
$121 = $114 >>> 8;
$122 = $121&255;
$123 = ((($0)) + 60|0);
HEAP8[$120>>0] = $122;
$124 = $114&255;
$125 = ((($0)) + 61|0);
HEAP8[$123>>0] = $124;
$126 = ((($0)) + 20|0);
$127 = HEAP32[$126>>2]|0;
$128 = $127 >>> 24;
$129 = $128&255;
$130 = ((($0)) + 62|0);
HEAP8[$125>>0] = $129;
$131 = $127 >>> 16;
$132 = $131&255;
$133 = ((($0)) + 63|0);
HEAP8[$130>>0] = $132;
$134 = $127 >>> 8;
$135 = $134&255;
$136 = ((($0)) + 64|0);
HEAP8[$133>>0] = $135;
$137 = $127&255;
$138 = ((($0)) + 65|0);
HEAP8[$136>>0] = $137;
$139 = ((($0)) + 24|0);
$140 = HEAP32[$139>>2]|0;
$141 = $140 >>> 24;
$142 = $141&255;
$143 = ((($0)) + 66|0);
HEAP8[$138>>0] = $142;
$144 = $140 >>> 16;
$145 = $144&255;
$146 = ((($0)) + 67|0);
HEAP8[$143>>0] = $145;
$147 = $140 >>> 8;
$148 = $147&255;
$149 = ((($0)) + 68|0);
HEAP8[$146>>0] = $148;
$150 = $140&255;
$151 = ((($0)) + 69|0);
HEAP8[$149>>0] = $150;
$152 = ((($0)) + 28|0);
$153 = HEAP32[$152>>2]|0;
$154 = $153 >>> 24;
$155 = $154&255;
$156 = ((($0)) + 70|0);
HEAP8[$151>>0] = $155;
$157 = $153 >>> 16;
$158 = $157&255;
$159 = ((($0)) + 71|0);
HEAP8[$156>>0] = $158;
$160 = $153 >>> 8;
$161 = $160&255;
$162 = ((($0)) + 72|0);
HEAP8[$159>>0] = $161;
$163 = $153&255;
HEAP8[$162>>0] = $163;
$164 = HEAP8[$1>>0]|0;
$165 = $164 | 1;
HEAP8[$1>>0] = $165;
return;
}
function __gcry_hmac256_release($0) {
$0 = $0|0;
var $$mask = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + 40|0);
$3 = HEAP8[$2>>0]|0;
$$mask = $3 & 2;
$4 = ($$mask<<24>>24)==(0);
if (!($4)) {
$5 = ((($0)) + 105|0);
HEAP8[$5>>0] = 0;
$6 = ((($0)) + 106|0);
HEAP8[$6>>0] = 0;
$7 = ((($0)) + 107|0);
HEAP8[$7>>0] = 0;
$8 = ((($0)) + 108|0);
HEAP8[$8>>0] = 0;
$9 = ((($0)) + 109|0);
HEAP8[$9>>0] = 0;
$10 = ((($0)) + 110|0);
HEAP8[$10>>0] = 0;
$11 = ((($0)) + 111|0);
HEAP8[$11>>0] = 0;
$12 = ((($0)) + 112|0);
HEAP8[$12>>0] = 0;
$13 = ((($0)) + 113|0);
HEAP8[$13>>0] = 0;
$14 = ((($0)) + 114|0);
HEAP8[$14>>0] = 0;
$15 = ((($0)) + 115|0);
HEAP8[$15>>0] = 0;
$16 = ((($0)) + 116|0);
HEAP8[$16>>0] = 0;
$17 = ((($0)) + 117|0);
HEAP8[$17>>0] = 0;
$18 = ((($0)) + 118|0);
HEAP8[$18>>0] = 0;
$19 = ((($0)) + 119|0);
HEAP8[$19>>0] = 0;
$20 = ((($0)) + 120|0);
HEAP8[$20>>0] = 0;
$21 = ((($0)) + 121|0);
HEAP8[$21>>0] = 0;
$22 = ((($0)) + 122|0);
HEAP8[$22>>0] = 0;
$23 = ((($0)) + 123|0);
HEAP8[$23>>0] = 0;
$24 = ((($0)) + 124|0);
HEAP8[$24>>0] = 0;
$25 = ((($0)) + 125|0);
HEAP8[$25>>0] = 0;
$26 = ((($0)) + 126|0);
HEAP8[$26>>0] = 0;
$27 = ((($0)) + 127|0);
HEAP8[$27>>0] = 0;
$28 = ((($0)) + 128|0);
HEAP8[$28>>0] = 0;
$29 = ((($0)) + 129|0);
HEAP8[$29>>0] = 0;
$30 = ((($0)) + 130|0);
HEAP8[$30>>0] = 0;
$31 = ((($0)) + 131|0);
HEAP8[$31>>0] = 0;
$32 = ((($0)) + 132|0);
HEAP8[$32>>0] = 0;
$33 = ((($0)) + 133|0);
HEAP8[$33>>0] = 0;
$34 = ((($0)) + 134|0);
HEAP8[$34>>0] = 0;
$35 = ((($0)) + 135|0);
HEAP8[$35>>0] = 0;
$36 = ((($0)) + 136|0);
HEAP8[$36>>0] = 0;
$37 = ((($0)) + 137|0);
HEAP8[$37>>0] = 0;
$38 = ((($0)) + 138|0);
HEAP8[$38>>0] = 0;
$39 = ((($0)) + 139|0);
HEAP8[$39>>0] = 0;
$40 = ((($0)) + 140|0);
HEAP8[$40>>0] = 0;
$41 = ((($0)) + 141|0);
HEAP8[$41>>0] = 0;
$42 = ((($0)) + 142|0);
HEAP8[$42>>0] = 0;
$43 = ((($0)) + 143|0);
HEAP8[$43>>0] = 0;
$44 = ((($0)) + 144|0);
HEAP8[$44>>0] = 0;
$45 = ((($0)) + 145|0);
HEAP8[$45>>0] = 0;
$46 = ((($0)) + 146|0);
HEAP8[$46>>0] = 0;
$47 = ((($0)) + 147|0);
HEAP8[$47>>0] = 0;
$48 = ((($0)) + 148|0);
HEAP8[$48>>0] = 0;
$49 = ((($0)) + 149|0);
HEAP8[$49>>0] = 0;
$50 = ((($0)) + 150|0);
HEAP8[$50>>0] = 0;
$51 = ((($0)) + 151|0);
HEAP8[$51>>0] = 0;
$52 = ((($0)) + 152|0);
HEAP8[$52>>0] = 0;
$53 = ((($0)) + 153|0);
HEAP8[$53>>0] = 0;
$54 = ((($0)) + 154|0);
HEAP8[$54>>0] = 0;
$55 = ((($0)) + 155|0);
HEAP8[$55>>0] = 0;
$56 = ((($0)) + 156|0);
HEAP8[$56>>0] = 0;
$57 = ((($0)) + 157|0);
HEAP8[$57>>0] = 0;
$58 = ((($0)) + 158|0);
HEAP8[$58>>0] = 0;
$59 = ((($0)) + 159|0);
HEAP8[$59>>0] = 0;
$60 = ((($0)) + 160|0);
HEAP8[$60>>0] = 0;
$61 = ((($0)) + 161|0);
HEAP8[$61>>0] = 0;
$62 = ((($0)) + 162|0);
HEAP8[$62>>0] = 0;
$63 = ((($0)) + 163|0);
HEAP8[$63>>0] = 0;
$64 = ((($0)) + 164|0);
HEAP8[$64>>0] = 0;
$65 = ((($0)) + 165|0);
HEAP8[$65>>0] = 0;
$66 = ((($0)) + 166|0);
HEAP8[$66>>0] = 0;
$67 = ((($0)) + 167|0);
HEAP8[$67>>0] = 0;
$68 = ((($0)) + 168|0);
HEAP8[$68>>0] = 0;
}
_free($0);
return;
}
function _transform_1707($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0107122 = 0, $$0108121 = 0, $$0108121$phi = 0, $$0109120 = 0, $$0109120$phi = 0, $$0110119 = 0, $$0110119$phi = 0, $$0111118 = 0, $$0112117 = 0, $$0112117$phi = 0, $$0113116 = 0, $$0113116$phi = 0, $$0114115 = 0, $$0114115$phi = 0, $$2124 = 0, $$3123 = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0;
var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0;
var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0;
var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0;
var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0;
var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0;
var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0;
var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $3 = 0, $30 = 0, $31 = 0;
var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond131 = 0, dest = 0, label = 0, sp = 0, src = 0;
var stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0);
$2 = sp + 256|0;
$3 = sp;
$4 = HEAP32[$0>>2]|0;
$5 = ((($0)) + 4|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($0)) + 8|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($0)) + 12|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($0)) + 16|0);
$12 = HEAP32[$11>>2]|0;
$13 = ((($0)) + 20|0);
$14 = HEAP32[$13>>2]|0;
$15 = ((($0)) + 24|0);
$16 = HEAP32[$15>>2]|0;
$17 = ((($0)) + 28|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($1)) + 1|0);
$20 = HEAP8[$1>>0]|0;
$21 = ((($2)) + 3|0);
HEAP8[$21>>0] = $20;
$22 = ((($1)) + 2|0);
$23 = HEAP8[$19>>0]|0;
$24 = ((($2)) + 2|0);
HEAP8[$24>>0] = $23;
$25 = ((($1)) + 3|0);
$26 = HEAP8[$22>>0]|0;
$27 = ((($2)) + 1|0);
HEAP8[$27>>0] = $26;
$28 = ((($1)) + 4|0);
$29 = HEAP8[$25>>0]|0;
HEAP8[$2>>0] = $29;
$30 = ((($2)) + 4|0);
$31 = ((($1)) + 5|0);
$32 = HEAP8[$28>>0]|0;
$33 = ((($30)) + 3|0);
HEAP8[$33>>0] = $32;
$34 = ((($1)) + 6|0);
$35 = HEAP8[$31>>0]|0;
$36 = ((($30)) + 2|0);
HEAP8[$36>>0] = $35;
$37 = ((($1)) + 7|0);
$38 = HEAP8[$34>>0]|0;
$39 = ((($30)) + 1|0);
HEAP8[$39>>0] = $38;
$40 = ((($1)) + 8|0);
$41 = HEAP8[$37>>0]|0;
HEAP8[$30>>0] = $41;
$42 = ((($2)) + 8|0);
$43 = ((($1)) + 9|0);
$44 = HEAP8[$40>>0]|0;
$45 = ((($42)) + 3|0);
HEAP8[$45>>0] = $44;
$46 = ((($1)) + 10|0);
$47 = HEAP8[$43>>0]|0;
$48 = ((($42)) + 2|0);
HEAP8[$48>>0] = $47;
$49 = ((($1)) + 11|0);
$50 = HEAP8[$46>>0]|0;
$51 = ((($42)) + 1|0);
HEAP8[$51>>0] = $50;
$52 = ((($1)) + 12|0);
$53 = HEAP8[$49>>0]|0;
HEAP8[$42>>0] = $53;
$54 = ((($2)) + 12|0);
$55 = ((($1)) + 13|0);
$56 = HEAP8[$52>>0]|0;
$57 = ((($54)) + 3|0);
HEAP8[$57>>0] = $56;
$58 = ((($1)) + 14|0);
$59 = HEAP8[$55>>0]|0;
$60 = ((($54)) + 2|0);
HEAP8[$60>>0] = $59;
$61 = ((($1)) + 15|0);
$62 = HEAP8[$58>>0]|0;
$63 = ((($54)) + 1|0);
HEAP8[$63>>0] = $62;
$64 = ((($1)) + 16|0);
$65 = HEAP8[$61>>0]|0;
HEAP8[$54>>0] = $65;
$66 = ((($2)) + 16|0);
$67 = ((($1)) + 17|0);
$68 = HEAP8[$64>>0]|0;
$69 = ((($66)) + 3|0);
HEAP8[$69>>0] = $68;
$70 = ((($1)) + 18|0);
$71 = HEAP8[$67>>0]|0;
$72 = ((($66)) + 2|0);
HEAP8[$72>>0] = $71;
$73 = ((($1)) + 19|0);
$74 = HEAP8[$70>>0]|0;
$75 = ((($66)) + 1|0);
HEAP8[$75>>0] = $74;
$76 = ((($1)) + 20|0);
$77 = HEAP8[$73>>0]|0;
HEAP8[$66>>0] = $77;
$78 = ((($2)) + 20|0);
$79 = ((($1)) + 21|0);
$80 = HEAP8[$76>>0]|0;
$81 = ((($78)) + 3|0);
HEAP8[$81>>0] = $80;
$82 = ((($1)) + 22|0);
$83 = HEAP8[$79>>0]|0;
$84 = ((($78)) + 2|0);
HEAP8[$84>>0] = $83;
$85 = ((($1)) + 23|0);
$86 = HEAP8[$82>>0]|0;
$87 = ((($78)) + 1|0);
HEAP8[$87>>0] = $86;
$88 = ((($1)) + 24|0);
$89 = HEAP8[$85>>0]|0;
HEAP8[$78>>0] = $89;
$90 = ((($2)) + 24|0);
$91 = ((($1)) + 25|0);
$92 = HEAP8[$88>>0]|0;
$93 = ((($90)) + 3|0);
HEAP8[$93>>0] = $92;
$94 = ((($1)) + 26|0);
$95 = HEAP8[$91>>0]|0;
$96 = ((($90)) + 2|0);
HEAP8[$96>>0] = $95;
$97 = ((($1)) + 27|0);
$98 = HEAP8[$94>>0]|0;
$99 = ((($90)) + 1|0);
HEAP8[$99>>0] = $98;
$100 = ((($1)) + 28|0);
$101 = HEAP8[$97>>0]|0;
HEAP8[$90>>0] = $101;
$102 = ((($2)) + 28|0);
$103 = ((($1)) + 29|0);
$104 = HEAP8[$100>>0]|0;
$105 = ((($102)) + 3|0);
HEAP8[$105>>0] = $104;
$106 = ((($1)) + 30|0);
$107 = HEAP8[$103>>0]|0;
$108 = ((($102)) + 2|0);
HEAP8[$108>>0] = $107;
$109 = ((($1)) + 31|0);
$110 = HEAP8[$106>>0]|0;
$111 = ((($102)) + 1|0);
HEAP8[$111>>0] = $110;
$112 = ((($1)) + 32|0);
$113 = HEAP8[$109>>0]|0;
HEAP8[$102>>0] = $113;
$114 = ((($2)) + 32|0);
$115 = ((($1)) + 33|0);
$116 = HEAP8[$112>>0]|0;
$117 = ((($114)) + 3|0);
HEAP8[$117>>0] = $116;
$118 = ((($1)) + 34|0);
$119 = HEAP8[$115>>0]|0;
$120 = ((($114)) + 2|0);
HEAP8[$120>>0] = $119;
$121 = ((($1)) + 35|0);
$122 = HEAP8[$118>>0]|0;
$123 = ((($114)) + 1|0);
HEAP8[$123>>0] = $122;
$124 = ((($1)) + 36|0);
$125 = HEAP8[$121>>0]|0;
HEAP8[$114>>0] = $125;
$126 = ((($2)) + 36|0);
$127 = ((($1)) + 37|0);
$128 = HEAP8[$124>>0]|0;
$129 = ((($126)) + 3|0);
HEAP8[$129>>0] = $128;
$130 = ((($1)) + 38|0);
$131 = HEAP8[$127>>0]|0;
$132 = ((($126)) + 2|0);
HEAP8[$132>>0] = $131;
$133 = ((($1)) + 39|0);
$134 = HEAP8[$130>>0]|0;
$135 = ((($126)) + 1|0);
HEAP8[$135>>0] = $134;
$136 = ((($1)) + 40|0);
$137 = HEAP8[$133>>0]|0;
HEAP8[$126>>0] = $137;
$138 = ((($2)) + 40|0);
$139 = ((($1)) + 41|0);
$140 = HEAP8[$136>>0]|0;
$141 = ((($138)) + 3|0);
HEAP8[$141>>0] = $140;
$142 = ((($1)) + 42|0);
$143 = HEAP8[$139>>0]|0;
$144 = ((($138)) + 2|0);
HEAP8[$144>>0] = $143;
$145 = ((($1)) + 43|0);
$146 = HEAP8[$142>>0]|0;
$147 = ((($138)) + 1|0);
HEAP8[$147>>0] = $146;
$148 = ((($1)) + 44|0);
$149 = HEAP8[$145>>0]|0;
HEAP8[$138>>0] = $149;
$150 = ((($2)) + 44|0);
$151 = ((($1)) + 45|0);
$152 = HEAP8[$148>>0]|0;
$153 = ((($150)) + 3|0);
HEAP8[$153>>0] = $152;
$154 = ((($1)) + 46|0);
$155 = HEAP8[$151>>0]|0;
$156 = ((($150)) + 2|0);
HEAP8[$156>>0] = $155;
$157 = ((($1)) + 47|0);
$158 = HEAP8[$154>>0]|0;
$159 = ((($150)) + 1|0);
HEAP8[$159>>0] = $158;
$160 = ((($1)) + 48|0);
$161 = HEAP8[$157>>0]|0;
HEAP8[$150>>0] = $161;
$162 = ((($2)) + 48|0);
$163 = ((($1)) + 49|0);
$164 = HEAP8[$160>>0]|0;
$165 = ((($162)) + 3|0);
HEAP8[$165>>0] = $164;
$166 = ((($1)) + 50|0);
$167 = HEAP8[$163>>0]|0;
$168 = ((($162)) + 2|0);
HEAP8[$168>>0] = $167;
$169 = ((($1)) + 51|0);
$170 = HEAP8[$166>>0]|0;
$171 = ((($162)) + 1|0);
HEAP8[$171>>0] = $170;
$172 = ((($1)) + 52|0);
$173 = HEAP8[$169>>0]|0;
HEAP8[$162>>0] = $173;
$174 = ((($2)) + 52|0);
$175 = ((($1)) + 53|0);
$176 = HEAP8[$172>>0]|0;
$177 = ((($174)) + 3|0);
HEAP8[$177>>0] = $176;
$178 = ((($1)) + 54|0);
$179 = HEAP8[$175>>0]|0;
$180 = ((($174)) + 2|0);
HEAP8[$180>>0] = $179;
$181 = ((($1)) + 55|0);
$182 = HEAP8[$178>>0]|0;
$183 = ((($174)) + 1|0);
HEAP8[$183>>0] = $182;
$184 = ((($1)) + 56|0);
$185 = HEAP8[$181>>0]|0;
HEAP8[$174>>0] = $185;
$186 = ((($2)) + 56|0);
$187 = ((($1)) + 57|0);
$188 = HEAP8[$184>>0]|0;
$189 = ((($186)) + 3|0);
HEAP8[$189>>0] = $188;
$190 = ((($1)) + 58|0);
$191 = HEAP8[$187>>0]|0;
$192 = ((($186)) + 2|0);
HEAP8[$192>>0] = $191;
$193 = ((($1)) + 59|0);
$194 = HEAP8[$190>>0]|0;
$195 = ((($186)) + 1|0);
HEAP8[$195>>0] = $194;
$196 = ((($1)) + 60|0);
$197 = HEAP8[$193>>0]|0;
HEAP8[$186>>0] = $197;
$198 = ((($2)) + 60|0);
$199 = ((($1)) + 61|0);
$200 = HEAP8[$196>>0]|0;
$201 = ((($198)) + 3|0);
HEAP8[$201>>0] = $200;
$202 = ((($1)) + 62|0);
$203 = HEAP8[$199>>0]|0;
$204 = ((($198)) + 2|0);
HEAP8[$204>>0] = $203;
$205 = ((($1)) + 63|0);
$206 = HEAP8[$202>>0]|0;
$207 = ((($198)) + 1|0);
HEAP8[$207>>0] = $206;
$208 = HEAP8[$205>>0]|0;
HEAP8[$198>>0] = $208;
dest=$3; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
$$pre = HEAP32[$3>>2]|0;
$$2124 = 16;$237 = $$pre;
while(1) {
$209 = (($$2124) + -2)|0;
$210 = (($3) + ($209<<2)|0);
$211 = HEAP32[$210>>2]|0;
$212 = $211 >>> 17;
$213 = $211 << 15;
$214 = $213 | $212;
$215 = $211 >>> 19;
$216 = $211 << 13;
$217 = $216 | $215;
$218 = $211 >>> 10;
$219 = $217 ^ $218;
$220 = $219 ^ $214;
$221 = (($$2124) + -7)|0;
$222 = (($3) + ($221<<2)|0);
$223 = HEAP32[$222>>2]|0;
$224 = (($$2124) + -15)|0;
$225 = (($3) + ($224<<2)|0);
$226 = HEAP32[$225>>2]|0;
$227 = $226 >>> 7;
$228 = $226 << 25;
$229 = $228 | $227;
$230 = $226 >>> 18;
$231 = $226 << 14;
$232 = $231 | $230;
$233 = $226 >>> 3;
$234 = $232 ^ $233;
$235 = $234 ^ $229;
$236 = (($237) + ($223))|0;
$238 = (($236) + ($220))|0;
$239 = (($238) + ($235))|0;
$240 = (($3) + ($$2124<<2)|0);
HEAP32[$240>>2] = $239;
$241 = (($$2124) + 1)|0;
$exitcond131 = ($241|0)==(64);
if ($exitcond131) {
break;
} else {
$$2124 = $241;$237 = $226;
}
}
$$0107122 = $4;$$0108121 = $18;$$0109120 = $16;$$0110119 = $14;$$0111118 = $12;$$0112117 = $10;$$0113116 = $8;$$0114115 = $6;$$3123 = 0;
while(1) {
$242 = $$0111118 >>> 6;
$243 = $$0111118 << 26;
$244 = $243 | $242;
$245 = $$0111118 >>> 11;
$246 = $$0111118 << 21;
$247 = $246 | $245;
$248 = $244 ^ $247;
$249 = $$0111118 >>> 25;
$250 = $$0111118 << 7;
$251 = $250 | $249;
$252 = $248 ^ $251;
$253 = (($252) + ($$0108121))|0;
$254 = $$0109120 ^ $$0110119;
$255 = $254 & $$0111118;
$256 = $255 ^ $$0109120;
$257 = (($253) + ($256))|0;
$258 = (15440 + ($$3123<<2)|0);
$259 = HEAP32[$258>>2]|0;
$260 = (($257) + ($259))|0;
$261 = (($3) + ($$3123<<2)|0);
$262 = HEAP32[$261>>2]|0;
$263 = (($260) + ($262))|0;
$264 = $$0107122 >>> 2;
$265 = $$0107122 << 30;
$266 = $265 | $264;
$267 = $$0107122 >>> 13;
$268 = $$0107122 << 19;
$269 = $268 | $267;
$270 = $266 ^ $269;
$271 = $$0107122 >>> 22;
$272 = $$0107122 << 10;
$273 = $272 | $271;
$274 = $270 ^ $273;
$275 = $$0107122 & $$0114115;
$276 = $$0107122 | $$0114115;
$277 = $276 & $$0113116;
$278 = $277 | $275;
$279 = (($274) + ($278))|0;
$280 = (($263) + ($$0112117))|0;
$281 = (($279) + ($263))|0;
$282 = (($$3123) + 1)|0;
$exitcond = ($282|0)==(64);
if ($exitcond) {
break;
} else {
$$0114115$phi = $$0107122;$$0113116$phi = $$0114115;$$0112117$phi = $$0113116;$$0110119$phi = $$0111118;$$0109120$phi = $$0110119;$$0108121$phi = $$0109120;$$0107122 = $281;$$0111118 = $280;$$3123 = $282;$$0114115 = $$0114115$phi;$$0113116 = $$0113116$phi;$$0112117 = $$0112117$phi;$$0110119 = $$0110119$phi;$$0109120 = $$0109120$phi;$$0108121 = $$0108121$phi;
}
}
$283 = HEAP32[$0>>2]|0;
$284 = (($283) + ($281))|0;
HEAP32[$0>>2] = $284;
$285 = HEAP32[$5>>2]|0;
$286 = (($285) + ($$0107122))|0;
HEAP32[$5>>2] = $286;
$287 = HEAP32[$7>>2]|0;
$288 = (($287) + ($$0114115))|0;
HEAP32[$7>>2] = $288;
$289 = HEAP32[$9>>2]|0;
$290 = (($289) + ($$0113116))|0;
HEAP32[$9>>2] = $290;
$291 = HEAP32[$11>>2]|0;
$292 = (($291) + ($280))|0;
HEAP32[$11>>2] = $292;
$293 = HEAP32[$13>>2]|0;
$294 = (($293) + ($$0111118))|0;
HEAP32[$13>>2] = $294;
$295 = HEAP32[$15>>2]|0;
$296 = (($295) + ($$0110119))|0;
HEAP32[$15>>2] = $296;
$297 = HEAP32[$17>>2]|0;
$298 = (($297) + ($$0109120))|0;
HEAP32[$17>>2] = $298;
STACKTOP = sp;return;
}
function __gcry_hmac256_finalize($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$1 = 0, $$mask = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
_finalize($0);
$2 = ((($0)) + 40|0);
$3 = HEAP8[$2>>0]|0;
$$mask = $3 & 2;
$4 = ($$mask<<24>>24)==(0);
do {
if (!($4)) {
$5 = (_malloc(172)|0);
$6 = ($5|0)==(0|0);
if (!($6)) {
HEAP32[$5>>2] = 1779033703;
$7 = ((($5)) + 4|0);
HEAP32[$7>>2] = -1150833019;
$8 = ((($5)) + 8|0);
HEAP32[$8>>2] = 1013904242;
$9 = ((($5)) + 12|0);
HEAP32[$9>>2] = -1521486534;
$10 = ((($5)) + 16|0);
HEAP32[$10>>2] = 1359893119;
$11 = ((($5)) + 20|0);
HEAP32[$11>>2] = -1694144372;
$12 = ((($5)) + 24|0);
HEAP32[$12>>2] = 528734635;
$13 = ((($5)) + 28|0);
HEAP32[$13>>2] = 1541459225;
$14 = ((($5)) + 32|0);
HEAP32[$14>>2] = 0;
$15 = ((($5)) + 36|0);
HEAP32[$15>>2] = 0;
$16 = ((($5)) + 40|0);
HEAP8[$16>>0] = 0;
$17 = ((($0)) + 105|0);
__gcry_hmac256_update($5,$17,64);
$18 = ((($0)) + 41|0);
__gcry_hmac256_update($5,$18,32);
_finalize($5);
$19 = ((($5)) + 41|0);
dest=$18; src=$19; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
__gcry_hmac256_release($5);
break;
}
_free($0);
$$1 = 0;
return ($$1|0);
}
} while(0);
$20 = ($1|0)==(0|0);
if (!($20)) {
HEAP32[$1>>2] = 32;
}
$21 = ((($0)) + 41|0);
$$1 = $21;
return ($$1|0);
}
function __gcry_cipher_aeswrap_encrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$06169 = 0, $$06268 = 0, $$06466 = 0, $$06466$us = 0, $$1$lcssa = 0, $$167 = 0, $$167$us = 0, $$pre$phiZ2D = 0, $$promoted = 0, $$promoted101 = 0, $$promoted103 = 0, $$promoted105 = 0, $$promoted107 = 0, $$promoted109 = 0, $$promoted99 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0;
var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0;
var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0;
var $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0;
var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0;
var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0;
var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0;
var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0;
var $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0;
var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0;
var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0;
var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $31 = 0;
var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $spec$select = 0, $spec$select142 = 0, $spec$select144 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
$6 = ((($0)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($7)) + 20|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(16);
if (!($10)) {
$$0 = 139;
STACKTOP = sp;return ($$0|0);
}
$11 = (($4) + 8)|0;
$12 = ($11>>>0)>($2>>>0);
if ($12) {
$$0 = 200;
STACKTOP = sp;return ($$0|0);
}
$13 = $4 & 7;
$14 = ($13|0)==(0);
if (!($14)) {
$$0 = 45;
STACKTOP = sp;return ($$0|0);
}
$15 = $4 >>> 3;
$16 = ($4>>>0)<(16);
if ($16) {
$$0 = 45;
STACKTOP = sp;return ($$0|0);
}
$17 = ((($0)) + 80|0);
$18 = ((($0)) + 56|0);
$19 = HEAP8[$18>>0]|0;
$20 = $19 & 2;
$21 = ($20<<24>>24)==(0);
if ($21) {
$33 = $1;
$34 = $33;
HEAP8[$34>>0]=-1499027802&255;HEAP8[$34+1>>0]=(-1499027802>>8)&255;HEAP8[$34+2>>0]=(-1499027802>>16)&255;HEAP8[$34+3>>0]=-1499027802>>24;
$35 = (($33) + 4)|0;
$36 = $35;
HEAP8[$36>>0]=-1499027802&255;HEAP8[$36+1>>0]=(-1499027802>>8)&255;HEAP8[$36+2>>0]=(-1499027802>>16)&255;HEAP8[$36+3>>0]=-1499027802>>24;
$$pre$phiZ2D = $1;
} else {
$22 = ((($0)) + 64|0);
$23 = $22;
$24 = $23;
$25 = HEAPU8[$24>>0]|(HEAPU8[$24+1>>0]<<8)|(HEAPU8[$24+2>>0]<<16)|(HEAPU8[$24+3>>0]<<24);
$26 = (($23) + 4)|0;
$27 = $26;
$28 = HEAPU8[$27>>0]|(HEAPU8[$27+1>>0]<<8)|(HEAPU8[$27+2>>0]<<16)|(HEAPU8[$27+3>>0]<<24);
$29 = $1;
$30 = $29;
HEAP8[$30>>0]=$25&255;HEAP8[$30+1>>0]=($25>>8)&255;HEAP8[$30+2>>0]=($25>>16)&255;HEAP8[$30+3>>0]=$25>>24;
$31 = (($29) + 4)|0;
$32 = $31;
HEAP8[$32>>0]=$28&255;HEAP8[$32+1>>0]=($28>>8)&255;HEAP8[$32+2>>0]=($28>>16)&255;HEAP8[$32+3>>0]=$28>>24;
$$pre$phiZ2D = $1;
}
$37 = ((($1)) + 8|0);
_memmove(($37|0),($3|0),($4|0))|0;
$38 = $5;
$39 = $38;
HEAP32[$39>>2] = 0;
$40 = (($38) + 4)|0;
$41 = $40;
HEAP32[$41>>2] = 0;
$42 = ($15|0)==(0);
$43 = ((($0)) + 88|0);
$44 = ((($0)) + 496|0);
$45 = $1;
$46 = $17;
$47 = $46 | $45;
$48 = $47 & 3;
$49 = ($48|0)==(0);
$50 = ((($17)) + 4|0);
$51 = ((($5)) + 4|0);
$52 = ((($1)) + 4|0);
$53 = ((($5)) + 7|0);
$54 = ((($5)) + 6|0);
$55 = ((($5)) + 5|0);
$56 = ((($5)) + 4|0);
$57 = ((($5)) + 3|0);
$58 = ((($5)) + 2|0);
$59 = ((($5)) + 1|0);
$60 = ((($17)) + 1|0);
$61 = ((($5)) + 7|0);
$62 = ((($5)) + 6|0);
$63 = ((($1)) + 1|0);
$64 = ((($17)) + 2|0);
$65 = ((($1)) + 2|0);
$66 = ((($17)) + 3|0);
$67 = ((($1)) + 3|0);
$68 = ((($17)) + 4|0);
$69 = ((($1)) + 4|0);
$70 = ((($17)) + 5|0);
$71 = ((($1)) + 5|0);
$72 = ((($17)) + 6|0);
$73 = ((($1)) + 6|0);
$74 = ((($17)) + 7|0);
$75 = ((($1)) + 7|0);
$76 = ((($5)) + 5|0);
$77 = ((($5)) + 4|0);
$78 = ((($5)) + 3|0);
$79 = ((($5)) + 2|0);
$80 = ((($5)) + 1|0);
$$06169 = 0;$$06268 = 0;$249 = 0;$250 = 0;$251 = 0;$252 = 0;$253 = 0;$254 = 0;$255 = 0;$256 = 0;$257 = 0;$258 = 0;$259 = 0;$260 = 0;$261 = 0;$262 = 0;
while(1) {
do {
if ($42) {
$$1$lcssa = $$06169;$263 = $249;$264 = $250;$265 = $251;$266 = $252;$267 = $253;$268 = $254;$269 = $255;$270 = $256;$271 = $257;$272 = $258;$273 = $259;$274 = $260;$275 = $261;$276 = $262;
} else {
if ($49) {
$$06466$us = 1;$$167$us = $$06169;$110 = $262;$113 = $252;$233 = $251;$236 = $250;$239 = $258;$242 = $257;$245 = $256;$248 = $249;$277 = $260;$278 = $261;
while(1) {
$81 = $$pre$phiZ2D;
$82 = $81;
$83 = HEAPU8[$82>>0]|(HEAPU8[$82+1>>0]<<8)|(HEAPU8[$82+2>>0]<<16)|(HEAPU8[$82+3>>0]<<24);
$84 = (($81) + 4)|0;
$85 = $84;
$86 = HEAPU8[$85>>0]|(HEAPU8[$85+1>>0]<<8)|(HEAPU8[$85+2>>0]<<16)|(HEAPU8[$85+3>>0]<<24);
$87 = $17;
$88 = $87;
HEAP8[$88>>0]=$83&255;HEAP8[$88+1>>0]=($83>>8)&255;HEAP8[$88+2>>0]=($83>>16)&255;HEAP8[$88+3>>0]=$83>>24;
$89 = (($87) + 4)|0;
$90 = $89;
HEAP8[$90>>0]=$86&255;HEAP8[$90+1>>0]=($86>>8)&255;HEAP8[$90+2>>0]=($86>>16)&255;HEAP8[$90+3>>0]=$86>>24;
$91 = $$06466$us << 3;
$92 = (($1) + ($91)|0);
$93 = $92;
$94 = $93;
$95 = HEAPU8[$94>>0]|(HEAPU8[$94+1>>0]<<8)|(HEAPU8[$94+2>>0]<<16)|(HEAPU8[$94+3>>0]<<24);
$96 = (($93) + 4)|0;
$97 = $96;
$98 = HEAPU8[$97>>0]|(HEAPU8[$97+1>>0]<<8)|(HEAPU8[$97+2>>0]<<16)|(HEAPU8[$97+3>>0]<<24);
$99 = $43;
$100 = $99;
HEAP8[$100>>0]=$95&255;HEAP8[$100+1>>0]=($95>>8)&255;HEAP8[$100+2>>0]=($95>>16)&255;HEAP8[$100+3>>0]=$95>>24;
$101 = (($99) + 4)|0;
$102 = $101;
HEAP8[$102>>0]=$98&255;HEAP8[$102+1>>0]=($98>>8)&255;HEAP8[$102+2>>0]=($98>>16)&255;HEAP8[$102+3>>0]=$98>>24;
$103 = HEAP32[$6>>2]|0;
$104 = ((($103)) + 36|0);
$105 = HEAP32[$104>>2]|0;
$106 = (FUNCTION_TABLE_iiii[$105 & 127]($44,$17,$17)|0);
$107 = ($106>>>0)>($$167$us>>>0);
$108 = $107 ? $106 : $$167$us;
$109 = (($110) + 1)<<24>>24;
HEAP8[$53>>0] = $109;
$111 = ($109<<24>>24)==(0);
if ($111) {
$112 = (($113) + 1)<<24>>24;
HEAP8[$54>>0] = $112;
$114 = ($112<<24>>24)==(0);
if ($114) {
$232 = (($233) + 1)<<24>>24;
HEAP8[$55>>0] = $232;
$234 = ($232<<24>>24)==(0);
if ($234) {
$235 = (($236) + 1)<<24>>24;
HEAP8[$56>>0] = $235;
$237 = ($235<<24>>24)==(0);
if ($237) {
$238 = (($239) + 1)<<24>>24;
HEAP8[$57>>0] = $238;
$240 = ($238<<24>>24)==(0);
if ($240) {
$241 = (($242) + 1)<<24>>24;
HEAP8[$58>>0] = $241;
$243 = ($241<<24>>24)==(0);
if ($243) {
$244 = (($245) + 1)<<24>>24;
HEAP8[$59>>0] = $244;
$246 = ($244<<24>>24)==(0);
if ($246) {
$247 = (($248) + 1)<<24>>24;
HEAP8[$5>>0] = $247;
$279 = 0;$280 = 0;$281 = 0;$282 = 0;$283 = 0;$284 = 0;$285 = 0;
} else {
$279 = 0;$280 = 0;$281 = $244;$282 = 0;$283 = 0;$284 = 0;$285 = 0;
}
} else {
$279 = 0;$280 = 0;$281 = $245;$282 = $241;$283 = 0;$284 = 0;$285 = 0;
}
} else {
$279 = 0;$280 = 0;$281 = $245;$282 = $242;$283 = $238;$284 = 0;$285 = 0;
}
} else {
$279 = 0;$280 = 0;$281 = $245;$282 = $242;$283 = $239;$284 = 0;$285 = 0;
}
} else {
$279 = $232;$280 = 0;$281 = $245;$282 = $242;$283 = $239;$284 = $232;$285 = 0;
}
} else {
$279 = $233;$280 = $112;$281 = $245;$282 = $242;$283 = $239;$284 = $277;$285 = $112;
}
} else {
$279 = $233;$280 = $113;$281 = $245;$282 = $242;$283 = $239;$284 = $277;$285 = $278;
}
$115 = HEAP32[$17>>2]|0;
$116 = HEAP32[$5>>2]|0;
$117 = $116 ^ $115;
HEAP32[$1>>2] = $117;
$118 = HEAP32[$50>>2]|0;
$119 = HEAP32[$51>>2]|0;
$120 = $119 ^ $118;
HEAP32[$52>>2] = $120;
$121 = $43;
$122 = $121;
$123 = HEAPU8[$122>>0]|(HEAPU8[$122+1>>0]<<8)|(HEAPU8[$122+2>>0]<<16)|(HEAPU8[$122+3>>0]<<24);
$124 = (($121) + 4)|0;
$125 = $124;
$126 = HEAPU8[$125>>0]|(HEAPU8[$125+1>>0]<<8)|(HEAPU8[$125+2>>0]<<16)|(HEAPU8[$125+3>>0]<<24);
$127 = $92;
$128 = $127;
HEAP8[$128>>0]=$123&255;HEAP8[$128+1>>0]=($123>>8)&255;HEAP8[$128+2>>0]=($123>>16)&255;HEAP8[$128+3>>0]=$123>>24;
$129 = (($127) + 4)|0;
$130 = $129;
HEAP8[$130>>0]=$126&255;HEAP8[$130+1>>0]=($126>>8)&255;HEAP8[$130+2>>0]=($126>>16)&255;HEAP8[$130+3>>0]=$126>>24;
$131 = (($$06466$us) + 1)|0;
$132 = ($$06466$us>>>0)<($15>>>0);
$133 = $119&255;
$134 = $116&255;
if ($132) {
$$06466$us = $131;$$167$us = $108;$110 = $109;$113 = $280;$233 = $279;$236 = $133;$239 = $283;$242 = $282;$245 = $281;$248 = $134;$277 = $284;$278 = $285;
} else {
$$1$lcssa = $108;$263 = $134;$264 = $133;$265 = $279;$266 = $280;$267 = $133;$268 = $134;$269 = $134;$270 = $281;$271 = $282;$272 = $283;$273 = $133;$274 = $284;$275 = $285;$276 = $109;
break;
}
}
} else {
$$promoted = HEAP8[$62>>0]|0;
$$promoted99 = HEAP8[$76>>0]|0;
$$promoted101 = HEAP8[$77>>0]|0;
$$promoted103 = HEAP8[$78>>0]|0;
$$promoted105 = HEAP8[$79>>0]|0;
$$promoted107 = HEAP8[$80>>0]|0;
$$promoted109 = HEAP8[$5>>0]|0;
$$06466 = 1;$$167 = $$06169;$164 = $262;$167 = $261;$213 = $260;$216 = $259;$219 = $258;$222 = $257;$225 = $256;$228 = $255;$229 = $$promoted109;$230 = $249;$231 = $254;$286 = $$promoted107;$287 = $$promoted105;$288 = $$promoted103;$289 = $$promoted101;$290 = $$promoted99;$291 = $$promoted;$292 = $250;$293 = $251;$294 = $252;$295 = $253;
while(1) {
$135 = $$pre$phiZ2D;
$136 = $135;
$137 = HEAPU8[$136>>0]|(HEAPU8[$136+1>>0]<<8)|(HEAPU8[$136+2>>0]<<16)|(HEAPU8[$136+3>>0]<<24);
$138 = (($135) + 4)|0;
$139 = $138;
$140 = HEAPU8[$139>>0]|(HEAPU8[$139+1>>0]<<8)|(HEAPU8[$139+2>>0]<<16)|(HEAPU8[$139+3>>0]<<24);
$141 = $17;
$142 = $141;
HEAP8[$142>>0]=$137&255;HEAP8[$142+1>>0]=($137>>8)&255;HEAP8[$142+2>>0]=($137>>16)&255;HEAP8[$142+3>>0]=$137>>24;
$143 = (($141) + 4)|0;
$144 = $143;
HEAP8[$144>>0]=$140&255;HEAP8[$144+1>>0]=($140>>8)&255;HEAP8[$144+2>>0]=($140>>16)&255;HEAP8[$144+3>>0]=$140>>24;
$145 = $$06466 << 3;
$146 = (($1) + ($145)|0);
$147 = $146;
$148 = $147;
$149 = HEAPU8[$148>>0]|(HEAPU8[$148+1>>0]<<8)|(HEAPU8[$148+2>>0]<<16)|(HEAPU8[$148+3>>0]<<24);
$150 = (($147) + 4)|0;
$151 = $150;
$152 = HEAPU8[$151>>0]|(HEAPU8[$151+1>>0]<<8)|(HEAPU8[$151+2>>0]<<16)|(HEAPU8[$151+3>>0]<<24);
$153 = $43;
$154 = $153;
HEAP8[$154>>0]=$149&255;HEAP8[$154+1>>0]=($149>>8)&255;HEAP8[$154+2>>0]=($149>>16)&255;HEAP8[$154+3>>0]=$149>>24;
$155 = (($153) + 4)|0;
$156 = $155;
HEAP8[$156>>0]=$152&255;HEAP8[$156+1>>0]=($152>>8)&255;HEAP8[$156+2>>0]=($152>>16)&255;HEAP8[$156+3>>0]=$152>>24;
$157 = HEAP32[$6>>2]|0;
$158 = ((($157)) + 36|0);
$159 = HEAP32[$158>>2]|0;
$160 = (FUNCTION_TABLE_iiii[$159 & 127]($44,$17,$17)|0);
$161 = ($160>>>0)>($$167>>>0);
$162 = $161 ? $160 : $$167;
$163 = (($164) + 1)<<24>>24;
$165 = ($163<<24>>24)==(0);
if ($165) {
$166 = (($167) + 1)<<24>>24;
$168 = ($166<<24>>24)==(0);
if ($168) {
$212 = (($213) + 1)<<24>>24;
$214 = ($212<<24>>24)==(0);
if ($214) {
$215 = (($216) + 1)<<24>>24;
$217 = ($215<<24>>24)==(0);
if ($217) {
$218 = (($219) + 1)<<24>>24;
$220 = ($218<<24>>24)==(0);
if ($220) {
$221 = (($222) + 1)<<24>>24;
$223 = ($221<<24>>24)==(0);
if ($223) {
$224 = (($225) + 1)<<24>>24;
$226 = ($224<<24>>24)==(0);
$227 = (($228) + 1)<<24>>24;
$spec$select = $226 ? $227 : $229;
$spec$select142 = $226 ? $227 : $230;
$spec$select144 = $226 ? $227 : $231;
$171 = $spec$select144;$174 = $224;$177 = 0;$180 = 0;$183 = 0;$186 = $212;$189 = $166;$204 = $215;$205 = $218;$206 = $221;$207 = $224;$208 = $spec$select;$296 = $spec$select142;$297 = 0;$298 = 0;$299 = 0;$300 = 0;$301 = 0;
} else {
$171 = $231;$174 = $225;$177 = $221;$180 = 0;$183 = 0;$186 = $212;$189 = $166;$204 = $215;$205 = $218;$206 = $221;$207 = $286;$208 = $229;$296 = $230;$297 = 0;$298 = 0;$299 = 0;$300 = 0;$301 = 0;
}
} else {
$171 = $231;$174 = $225;$177 = $222;$180 = $218;$183 = 0;$186 = $212;$189 = $166;$204 = $215;$205 = $218;$206 = $287;$207 = $286;$208 = $229;$296 = $230;$297 = 0;$298 = 0;$299 = 0;$300 = 0;$301 = 0;
}
} else {
$171 = $231;$174 = $225;$177 = $222;$180 = $219;$183 = $215;$186 = $212;$189 = $166;$204 = $215;$205 = $288;$206 = $287;$207 = $286;$208 = $229;$296 = $230;$297 = $215;$298 = 0;$299 = 0;$300 = 0;$301 = 0;
}
} else {
$171 = $231;$174 = $225;$177 = $222;$180 = $219;$183 = $295;$186 = $212;$189 = $166;$204 = $289;$205 = $288;$206 = $287;$207 = $286;$208 = $229;$296 = $230;$297 = $292;$298 = $212;$299 = 0;$300 = $212;$301 = 0;
}
} else {
$171 = $231;$174 = $225;$177 = $222;$180 = $219;$183 = $295;$186 = $290;$189 = $166;$204 = $289;$205 = $288;$206 = $287;$207 = $286;$208 = $229;$296 = $230;$297 = $292;$298 = $293;$299 = $166;$300 = $213;$301 = $166;
}
} else {
$171 = $231;$174 = $225;$177 = $222;$180 = $219;$183 = $295;$186 = $290;$189 = $291;$204 = $289;$205 = $288;$206 = $287;$207 = $286;$208 = $229;$296 = $230;$297 = $292;$298 = $293;$299 = $294;$300 = $213;$301 = $167;
}
$169 = HEAP8[$17>>0]|0;
$170 = $171 ^ $169;
HEAP8[$1>>0] = $170;
$172 = HEAP8[$60>>0]|0;
$173 = $174 ^ $172;
HEAP8[$63>>0] = $173;
$175 = HEAP8[$64>>0]|0;
$176 = $177 ^ $175;
HEAP8[$65>>0] = $176;
$178 = HEAP8[$66>>0]|0;
$179 = $180 ^ $178;
HEAP8[$67>>0] = $179;
$181 = HEAP8[$68>>0]|0;
$182 = $183 ^ $181;
HEAP8[$69>>0] = $182;
$184 = HEAP8[$70>>0]|0;
$185 = $186 ^ $184;
HEAP8[$71>>0] = $185;
$187 = HEAP8[$72>>0]|0;
$188 = $189 ^ $187;
HEAP8[$73>>0] = $188;
$190 = HEAP8[$74>>0]|0;
$191 = $163 ^ $190;
HEAP8[$75>>0] = $191;
$192 = $43;
$193 = $192;
$194 = HEAPU8[$193>>0]|(HEAPU8[$193+1>>0]<<8)|(HEAPU8[$193+2>>0]<<16)|(HEAPU8[$193+3>>0]<<24);
$195 = (($192) + 4)|0;
$196 = $195;
$197 = HEAPU8[$196>>0]|(HEAPU8[$196+1>>0]<<8)|(HEAPU8[$196+2>>0]<<16)|(HEAPU8[$196+3>>0]<<24);
$198 = $146;
$199 = $198;
HEAP8[$199>>0]=$194&255;HEAP8[$199+1>>0]=($194>>8)&255;HEAP8[$199+2>>0]=($194>>16)&255;HEAP8[$199+3>>0]=$194>>24;
$200 = (($198) + 4)|0;
$201 = $200;
HEAP8[$201>>0]=$197&255;HEAP8[$201+1>>0]=($197>>8)&255;HEAP8[$201+2>>0]=($197>>16)&255;HEAP8[$201+3>>0]=$197>>24;
$202 = (($$06466) + 1)|0;
$203 = ($$06466>>>0)<($15>>>0);
if ($203) {
$$06466 = $202;$$167 = $162;$164 = $163;$167 = $301;$213 = $300;$216 = $183;$219 = $180;$222 = $177;$225 = $174;$228 = $171;$229 = $208;$230 = $296;$231 = $171;$286 = $207;$287 = $206;$288 = $205;$289 = $204;$290 = $186;$291 = $189;$292 = $297;$293 = $298;$294 = $299;$295 = $183;
} else {
break;
}
}
HEAP8[$61>>0] = $163;
HEAP8[$62>>0] = $189;
HEAP8[$76>>0] = $186;
HEAP8[$77>>0] = $204;
HEAP8[$78>>0] = $205;
HEAP8[$79>>0] = $206;
HEAP8[$80>>0] = $207;
HEAP8[$5>>0] = $208;
$$1$lcssa = $162;$263 = $296;$264 = $297;$265 = $298;$266 = $299;$267 = $183;$268 = $171;$269 = $171;$270 = $174;$271 = $177;$272 = $180;$273 = $183;$274 = $300;$275 = $301;$276 = $163;
break;
}
}
} while(0);
$209 = (($$06268) + 1)|0;
$exitcond = ($209|0)==(6);
if ($exitcond) {
break;
} else {
$$06169 = $$1$lcssa;$$06268 = $209;$249 = $263;$250 = $264;$251 = $265;$252 = $266;$253 = $267;$254 = $268;$255 = $269;$256 = $270;$257 = $271;$258 = $272;$259 = $273;$260 = $274;$261 = $275;$262 = $276;
}
}
$210 = ($$1$lcssa|0)==(0);
if ($210) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$211 = (($$1$lcssa) + 16)|0;
___gcry_burn_stack($211);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function __gcry_cipher_aeswrap_decrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$07990 = 0, $$08089 = 0, $$08487 = 0, $$08487$us = 0, $$1$lcssa = 0, $$181 = 0, $$188 = 0, $$188$us = 0, $$promoted = 0, $$promoted123 = 0, $$promoted125 = 0, $$promoted127 = 0, $$promoted129 = 0, $$promoted131 = 0, $$promoted133 = 0, $$promoted135 = 0, $10 = 0, $100 = 0, $101 = 0;
var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0;
var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0;
var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0;
var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0;
var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0;
var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0;
var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0;
var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $spec$select = 0, $spec$select137 = 0, $spec$select138 = 0, $spec$select140 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
$6 = ((($0)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($7)) + 20|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(16);
if (!($10)) {
$$0 = 139;
STACKTOP = sp;return ($$0|0);
}
$11 = (($2) + 8)|0;
$12 = ($11>>>0)<($4>>>0);
if ($12) {
$$0 = 200;
STACKTOP = sp;return ($$0|0);
}
$13 = $4 & 7;
$14 = ($13|0)!=(0);
$15 = ($4>>>0)<(24);
$or$cond = $15 | $14;
if ($or$cond) {
$$0 = 45;
STACKTOP = sp;return ($$0|0);
}
$16 = $4 >>> 3;
$17 = ((($0)) + 96|0);
$18 = ((($0)) + 80|0);
$19 = $3;
$20 = $19;
$21 = HEAPU8[$20>>0]|(HEAPU8[$20+1>>0]<<8)|(HEAPU8[$20+2>>0]<<16)|(HEAPU8[$20+3>>0]<<24);
$22 = (($19) + 4)|0;
$23 = $22;
$24 = HEAPU8[$23>>0]|(HEAPU8[$23+1>>0]<<8)|(HEAPU8[$23+2>>0]<<16)|(HEAPU8[$23+3>>0]<<24);
$25 = $17;
$26 = $25;
HEAP8[$26>>0]=$21&255;HEAP8[$26+1>>0]=($21>>8)&255;HEAP8[$26+2>>0]=($21>>16)&255;HEAP8[$26+3>>0]=$21>>24;
$27 = (($25) + 4)|0;
$28 = $27;
HEAP8[$28>>0]=$24&255;HEAP8[$28+1>>0]=($24>>8)&255;HEAP8[$28+2>>0]=($24>>16)&255;HEAP8[$28+3>>0]=$24>>24;
$29 = ((($3)) + 8|0);
$30 = (($4) + -8)|0;
_memmove(($1|0),($29|0),($30|0))|0;
$31 = (($16) + -1)|0;
$32 = ($31*6)|0;
$33 = $32&255;
$34 = ((($5)) + 7|0);
HEAP8[$34>>0] = $33;
$35 = $32 >>> 8;
$36 = $35&255;
$37 = ((($5)) + 6|0);
HEAP8[$37>>0] = $36;
$38 = $32 >>> 16;
$39 = $38&255;
$40 = ((($5)) + 5|0);
HEAP8[$40>>0] = $39;
$41 = $32 >>> 24;
$42 = $41&255;
$43 = ((($5)) + 4|0);
HEAP8[$43>>0] = $42;
HEAP32[$5>>2] = 0;
$44 = ($31|0)==(0);
$45 = $18;
$46 = $17;
$47 = $46 | $45;
$48 = $47 & 3;
$49 = ($48|0)==(0);
$50 = ((($0)) + 100|0);
$51 = ((($18)) + 4|0);
$52 = ((($0)) + 88|0);
$53 = ((($0)) + 496|0);
$54 = ((($5)) + 3|0);
$55 = ((($5)) + 2|0);
$56 = ((($5)) + 1|0);
$57 = ((($0)) + 97|0);
$58 = ((($18)) + 1|0);
$59 = ((($0)) + 98|0);
$60 = ((($18)) + 2|0);
$61 = ((($0)) + 99|0);
$62 = ((($18)) + 3|0);
$63 = ((($0)) + 100|0);
$64 = ((($18)) + 4|0);
$65 = ((($0)) + 101|0);
$66 = ((($5)) + 5|0);
$67 = ((($18)) + 5|0);
$68 = ((($0)) + 102|0);
$69 = ((($5)) + 6|0);
$70 = ((($18)) + 6|0);
$71 = ((($0)) + 103|0);
$72 = ((($5)) + 7|0);
$73 = ((($18)) + 7|0);
$74 = ((($5)) + 3|0);
$75 = ((($5)) + 2|0);
$76 = ((($5)) + 1|0);
$$07990 = 0;$$08089 = 5;$274 = 0;$275 = $42;$276 = $39;$277 = $36;$278 = $33;$279 = $42;$280 = 0;$281 = 0;$282 = 0;$283 = 0;
while(1) {
do {
if ($44) {
$$1$lcssa = $$07990;$284 = $274;$285 = $275;$286 = $276;$287 = $277;$288 = $278;$289 = $279;$290 = $280;$291 = $281;$292 = $282;$293 = $283;
} else {
if ($49) {
$$08487$us = $31;$$188$us = $$07990;$103 = $278;$108 = $277;$260 = $276;$265 = $280;$268 = $281;$271 = $282;
while(1) {
$77 = HEAP32[$17>>2]|0;
$78 = HEAP32[$5>>2]|0;
$79 = $78 ^ $77;
HEAP32[$18>>2] = $79;
$80 = HEAP32[$50>>2]|0;
$81 = HEAP32[$43>>2]|0;
$82 = $81 ^ $80;
HEAP32[$51>>2] = $82;
$83 = $$08487$us << 3;
$84 = (($83) + -8)|0;
$85 = (($1) + ($84)|0);
$86 = $85;
$87 = $86;
$88 = HEAPU8[$87>>0]|(HEAPU8[$87+1>>0]<<8)|(HEAPU8[$87+2>>0]<<16)|(HEAPU8[$87+3>>0]<<24);
$89 = (($86) + 4)|0;
$90 = $89;
$91 = HEAPU8[$90>>0]|(HEAPU8[$90+1>>0]<<8)|(HEAPU8[$90+2>>0]<<16)|(HEAPU8[$90+3>>0]<<24);
$92 = $52;
$93 = $92;
HEAP8[$93>>0]=$88&255;HEAP8[$93+1>>0]=($88>>8)&255;HEAP8[$93+2>>0]=($88>>16)&255;HEAP8[$93+3>>0]=$88>>24;
$94 = (($92) + 4)|0;
$95 = $94;
HEAP8[$95>>0]=$91&255;HEAP8[$95+1>>0]=($91>>8)&255;HEAP8[$95+2>>0]=($91>>16)&255;HEAP8[$95+3>>0]=$91>>24;
$96 = HEAP32[$6>>2]|0;
$97 = ((($96)) + 40|0);
$98 = HEAP32[$97>>2]|0;
$99 = (FUNCTION_TABLE_iiii[$98 & 127]($53,$18,$18)|0);
$100 = ($99>>>0)>($$188$us>>>0);
$101 = $100 ? $99 : $$188$us;
$102 = (($103) + -1)<<24>>24;
HEAP8[$34>>0] = $102;
$104 = ($103<<24>>24)==(0);
$105 = $78&255;
$106 = $81&255;
if ($104) {
$107 = (($108) + -1)<<24>>24;
HEAP8[$37>>0] = $107;
$109 = ($108<<24>>24)==(0);
if ($109) {
$259 = (($260) + -1)<<24>>24;
HEAP8[$40>>0] = $259;
$261 = ($260<<24>>24)==(0);
if ($261) {
$262 = (($106) + -1)<<24>>24;
HEAP8[$43>>0] = $262;
$263 = ($106<<24>>24)==(0);
if ($263) {
$264 = (($265) + -1)<<24>>24;
HEAP8[$54>>0] = $264;
$266 = ($265<<24>>24)==(0);
if ($266) {
$267 = (($268) + -1)<<24>>24;
HEAP8[$55>>0] = $267;
$269 = ($268<<24>>24)==(0);
if ($269) {
$270 = (($271) + -1)<<24>>24;
HEAP8[$56>>0] = $270;
$272 = ($271<<24>>24)==(0);
if ($272) {
$273 = (($105) + -1)<<24>>24;
HEAP8[$5>>0] = $273;
$294 = $273;$295 = -1;$296 = -1;$297 = -1;$298 = -1;$299 = -1;$300 = -1;
} else {
$294 = $105;$295 = -1;$296 = -1;$297 = -1;$298 = -1;$299 = -1;$300 = $270;
}
} else {
$294 = $105;$295 = -1;$296 = -1;$297 = -1;$298 = -1;$299 = $267;$300 = $271;
}
} else {
$294 = $105;$295 = -1;$296 = -1;$297 = -1;$298 = $264;$299 = $268;$300 = $271;
}
} else {
$294 = $105;$295 = $262;$296 = -1;$297 = -1;$298 = $265;$299 = $268;$300 = $271;
}
} else {
$294 = $105;$295 = $106;$296 = $259;$297 = -1;$298 = $265;$299 = $268;$300 = $271;
}
} else {
$294 = $105;$295 = $106;$296 = $260;$297 = $107;$298 = $265;$299 = $268;$300 = $271;
}
} else {
$294 = $105;$295 = $106;$296 = $260;$297 = $108;$298 = $265;$299 = $268;$300 = $271;
}
$110 = $18;
$111 = $110;
$112 = HEAPU8[$111>>0]|(HEAPU8[$111+1>>0]<<8)|(HEAPU8[$111+2>>0]<<16)|(HEAPU8[$111+3>>0]<<24);
$113 = (($110) + 4)|0;
$114 = $113;
$115 = HEAPU8[$114>>0]|(HEAPU8[$114+1>>0]<<8)|(HEAPU8[$114+2>>0]<<16)|(HEAPU8[$114+3>>0]<<24);
$116 = $17;
$117 = $116;
HEAP8[$117>>0]=$112&255;HEAP8[$117+1>>0]=($112>>8)&255;HEAP8[$117+2>>0]=($112>>16)&255;HEAP8[$117+3>>0]=$112>>24;
$118 = (($116) + 4)|0;
$119 = $118;
HEAP8[$119>>0]=$115&255;HEAP8[$119+1>>0]=($115>>8)&255;HEAP8[$119+2>>0]=($115>>16)&255;HEAP8[$119+3>>0]=$115>>24;
$120 = $52;
$121 = $120;
$122 = HEAPU8[$121>>0]|(HEAPU8[$121+1>>0]<<8)|(HEAPU8[$121+2>>0]<<16)|(HEAPU8[$121+3>>0]<<24);
$123 = (($120) + 4)|0;
$124 = $123;
$125 = HEAPU8[$124>>0]|(HEAPU8[$124+1>>0]<<8)|(HEAPU8[$124+2>>0]<<16)|(HEAPU8[$124+3>>0]<<24);
$126 = $85;
$127 = $126;
HEAP8[$127>>0]=$122&255;HEAP8[$127+1>>0]=($122>>8)&255;HEAP8[$127+2>>0]=($122>>16)&255;HEAP8[$127+3>>0]=$122>>24;
$128 = (($126) + 4)|0;
$129 = $128;
HEAP8[$129>>0]=$125&255;HEAP8[$129+1>>0]=($125>>8)&255;HEAP8[$129+2>>0]=($125>>16)&255;HEAP8[$129+3>>0]=$125>>24;
$130 = (($$08487$us) + -1)|0;
$131 = ($130|0)==(0);
if ($131) {
$$1$lcssa = $101;$284 = $294;$285 = $295;$286 = $296;$287 = $297;$288 = $102;$289 = $295;$290 = $298;$291 = $299;$292 = $300;$293 = $294;
break;
} else {
$$08487$us = $130;$$188$us = $101;$103 = $102;$108 = $297;$260 = $296;$265 = $298;$268 = $299;$271 = $300;
}
}
} else {
$$promoted = HEAP8[$66>>0]|0;
$$promoted123 = HEAP8[$69>>0]|0;
$$promoted125 = HEAP8[$72>>0]|0;
$$promoted127 = HEAP8[$43>>0]|0;
$$promoted129 = HEAP8[$74>>0]|0;
$$promoted131 = HEAP8[$75>>0]|0;
$$promoted133 = HEAP8[$76>>0]|0;
$$promoted135 = HEAP8[$5>>0]|0;
$$08487 = $31;$$188 = $$07990;$134 = $283;$137 = $282;$140 = $281;$143 = $280;$146 = $279;$149 = $$promoted;$152 = $$promoted123;$155 = $$promoted125;$176 = $278;$179 = $277;$245 = $276;$248 = $275;$257 = $274;$258 = $$promoted135;$301 = $$promoted133;$302 = $$promoted131;$303 = $$promoted129;$304 = $$promoted127;
while(1) {
$132 = HEAP8[$17>>0]|0;
$133 = $134 ^ $132;
HEAP8[$18>>0] = $133;
$135 = HEAP8[$57>>0]|0;
$136 = $137 ^ $135;
HEAP8[$58>>0] = $136;
$138 = HEAP8[$59>>0]|0;
$139 = $140 ^ $138;
HEAP8[$60>>0] = $139;
$141 = HEAP8[$61>>0]|0;
$142 = $143 ^ $141;
HEAP8[$62>>0] = $142;
$144 = HEAP8[$63>>0]|0;
$145 = $146 ^ $144;
HEAP8[$64>>0] = $145;
$147 = HEAP8[$65>>0]|0;
$148 = $149 ^ $147;
HEAP8[$67>>0] = $148;
$150 = HEAP8[$68>>0]|0;
$151 = $152 ^ $150;
HEAP8[$70>>0] = $151;
$153 = HEAP8[$71>>0]|0;
$154 = $155 ^ $153;
HEAP8[$73>>0] = $154;
$156 = $$08487 << 3;
$157 = (($156) + -8)|0;
$158 = (($1) + ($157)|0);
$159 = $158;
$160 = $159;
$161 = HEAPU8[$160>>0]|(HEAPU8[$160+1>>0]<<8)|(HEAPU8[$160+2>>0]<<16)|(HEAPU8[$160+3>>0]<<24);
$162 = (($159) + 4)|0;
$163 = $162;
$164 = HEAPU8[$163>>0]|(HEAPU8[$163+1>>0]<<8)|(HEAPU8[$163+2>>0]<<16)|(HEAPU8[$163+3>>0]<<24);
$165 = $52;
$166 = $165;
HEAP8[$166>>0]=$161&255;HEAP8[$166+1>>0]=($161>>8)&255;HEAP8[$166+2>>0]=($161>>16)&255;HEAP8[$166+3>>0]=$161>>24;
$167 = (($165) + 4)|0;
$168 = $167;
HEAP8[$168>>0]=$164&255;HEAP8[$168+1>>0]=($164>>8)&255;HEAP8[$168+2>>0]=($164>>16)&255;HEAP8[$168+3>>0]=$164>>24;
$169 = HEAP32[$6>>2]|0;
$170 = ((($169)) + 40|0);
$171 = HEAP32[$170>>2]|0;
$172 = (FUNCTION_TABLE_iiii[$171 & 127]($53,$18,$18)|0);
$173 = ($172>>>0)>($$188>>>0);
$174 = $173 ? $172 : $$188;
$175 = (($176) + -1)<<24>>24;
$177 = ($176<<24>>24)==(0);
if ($177) {
$178 = (($179) + -1)<<24>>24;
$180 = ($179<<24>>24)==(0);
if ($180) {
$244 = (($245) + -1)<<24>>24;
$246 = ($245<<24>>24)==(0);
if ($246) {
$247 = (($248) + -1)<<24>>24;
$249 = ($248<<24>>24)==(0);
if ($249) {
$250 = (($143) + -1)<<24>>24;
$251 = ($143<<24>>24)==(0);
if ($251) {
$252 = (($140) + -1)<<24>>24;
$253 = ($140<<24>>24)==(0);
if ($253) {
$254 = (($137) + -1)<<24>>24;
$255 = ($137<<24>>24)==(0);
$256 = (($257) + -1)<<24>>24;
$spec$select137 = $255 ? $256 : $258;
$spec$select138 = $255 ? $256 : $257;
$spec$select140 = $255 ? $256 : $134;
$203 = $244;$204 = $178;$205 = $247;$206 = $250;$207 = $252;$208 = $254;$209 = $spec$select137;$305 = $spec$select138;$306 = -1;$307 = -1;$308 = -1;$309 = -1;$310 = -1;$311 = -1;$312 = $254;$313 = $spec$select140;
} else {
$203 = $244;$204 = $178;$205 = $247;$206 = $250;$207 = $252;$208 = $301;$209 = $258;$305 = $257;$306 = -1;$307 = -1;$308 = -1;$309 = -1;$310 = -1;$311 = $252;$312 = $137;$313 = $134;
}
} else {
$203 = $244;$204 = $178;$205 = $247;$206 = $250;$207 = $302;$208 = $301;$209 = $258;$305 = $257;$306 = -1;$307 = -1;$308 = -1;$309 = -1;$310 = $250;$311 = $140;$312 = $137;$313 = $134;
}
} else {
$203 = $244;$204 = $178;$205 = $247;$206 = $303;$207 = $302;$208 = $301;$209 = $258;$305 = $257;$306 = $247;$307 = -1;$308 = -1;$309 = $247;$310 = $143;$311 = $140;$312 = $137;$313 = $134;
}
} else {
$203 = $244;$204 = $178;$205 = $304;$206 = $303;$207 = $302;$208 = $301;$209 = $258;$305 = $257;$306 = $248;$307 = $244;$308 = -1;$309 = $146;$310 = $143;$311 = $140;$312 = $137;$313 = $134;
}
} else {
$203 = $149;$204 = $178;$205 = $304;$206 = $303;$207 = $302;$208 = $301;$209 = $258;$305 = $257;$306 = $248;$307 = $245;$308 = $178;$309 = $146;$310 = $143;$311 = $140;$312 = $137;$313 = $134;
}
} else {
$203 = $149;$204 = $152;$205 = $304;$206 = $303;$207 = $302;$208 = $301;$209 = $258;$305 = $257;$306 = $248;$307 = $245;$308 = $179;$309 = $146;$310 = $143;$311 = $140;$312 = $137;$313 = $134;
}
$181 = $18;
$182 = $181;
$183 = HEAPU8[$182>>0]|(HEAPU8[$182+1>>0]<<8)|(HEAPU8[$182+2>>0]<<16)|(HEAPU8[$182+3>>0]<<24);
$184 = (($181) + 4)|0;
$185 = $184;
$186 = HEAPU8[$185>>0]|(HEAPU8[$185+1>>0]<<8)|(HEAPU8[$185+2>>0]<<16)|(HEAPU8[$185+3>>0]<<24);
$187 = $17;
$188 = $187;
HEAP8[$188>>0]=$183&255;HEAP8[$188+1>>0]=($183>>8)&255;HEAP8[$188+2>>0]=($183>>16)&255;HEAP8[$188+3>>0]=$183>>24;
$189 = (($187) + 4)|0;
$190 = $189;
HEAP8[$190>>0]=$186&255;HEAP8[$190+1>>0]=($186>>8)&255;HEAP8[$190+2>>0]=($186>>16)&255;HEAP8[$190+3>>0]=$186>>24;
$191 = $52;
$192 = $191;
$193 = HEAPU8[$192>>0]|(HEAPU8[$192+1>>0]<<8)|(HEAPU8[$192+2>>0]<<16)|(HEAPU8[$192+3>>0]<<24);
$194 = (($191) + 4)|0;
$195 = $194;
$196 = HEAPU8[$195>>0]|(HEAPU8[$195+1>>0]<<8)|(HEAPU8[$195+2>>0]<<16)|(HEAPU8[$195+3>>0]<<24);
$197 = $158;
$198 = $197;
HEAP8[$198>>0]=$193&255;HEAP8[$198+1>>0]=($193>>8)&255;HEAP8[$198+2>>0]=($193>>16)&255;HEAP8[$198+3>>0]=$193>>24;
$199 = (($197) + 4)|0;
$200 = $199;
HEAP8[$200>>0]=$196&255;HEAP8[$200+1>>0]=($196>>8)&255;HEAP8[$200+2>>0]=($196>>16)&255;HEAP8[$200+3>>0]=$196>>24;
$201 = (($$08487) + -1)|0;
$202 = ($201|0)==(0);
if ($202) {
break;
} else {
$$08487 = $201;$$188 = $174;$134 = $313;$137 = $312;$140 = $311;$143 = $310;$146 = $309;$149 = $203;$152 = $204;$155 = $175;$176 = $175;$179 = $308;$245 = $307;$248 = $306;$257 = $305;$258 = $209;$301 = $208;$302 = $207;$303 = $206;$304 = $205;
}
}
HEAP8[$66>>0] = $203;
HEAP8[$69>>0] = $204;
HEAP8[$72>>0] = $175;
HEAP8[$43>>0] = $205;
HEAP8[$74>>0] = $206;
HEAP8[$75>>0] = $207;
HEAP8[$76>>0] = $208;
HEAP8[$5>>0] = $209;
$$1$lcssa = $174;$284 = $305;$285 = $306;$286 = $307;$287 = $308;$288 = $175;$289 = $309;$290 = $310;$291 = $311;$292 = $312;$293 = $313;
break;
}
}
} while(0);
$210 = (($$08089) + -1)|0;
$211 = ($$08089|0)==(0);
if ($211) {
break;
} else {
$$07990 = $$1$lcssa;$$08089 = $210;$274 = $284;$275 = $285;$276 = $286;$277 = $287;$278 = $288;$279 = $289;$280 = $290;$281 = $291;$282 = $292;$283 = $293;
}
}
$212 = ((($0)) + 56|0);
$213 = HEAP8[$212>>0]|0;
$214 = $213 & 2;
$215 = ($214<<24>>24)==(0);
if ($215) {
$218 = HEAP8[$17>>0]|0;
$219 = ($218<<24>>24)==(-90);
if ($219) {
$220 = ((($0)) + 97|0);
$221 = HEAP8[$220>>0]|0;
$222 = ($221<<24>>24)==(-90);
if ($222) {
$227 = ((($0)) + 98|0);
$228 = HEAP8[$227>>0]|0;
$229 = ($228<<24>>24)==(-90);
if ($229) {
$230 = ((($0)) + 99|0);
$231 = HEAP8[$230>>0]|0;
$232 = ($231<<24>>24)==(-90);
if ($232) {
$233 = HEAP8[$50>>0]|0;
$234 = ($233<<24>>24)==(-90);
if ($234) {
$235 = ((($0)) + 101|0);
$236 = HEAP8[$235>>0]|0;
$237 = ($236<<24>>24)==(-90);
if ($237) {
$238 = ((($0)) + 102|0);
$239 = HEAP8[$238>>0]|0;
$240 = ($239<<24>>24)==(-90);
if ($240) {
$241 = ((($0)) + 103|0);
$242 = HEAP8[$241>>0]|0;
$243 = ($242<<24>>24)!=(-90);
$spec$select = $243&1;
$$181 = $spec$select;
} else {
$$181 = 1;
}
} else {
$$181 = 1;
}
} else {
$$181 = 1;
}
} else {
$$181 = 1;
}
} else {
$$181 = 1;
}
} else {
$$181 = 1;
}
} else {
$$181 = 1;
}
} else {
$216 = ((($0)) + 64|0);
$217 = (_memcmp($17,$216,8)|0);
$$181 = $217;
}
$223 = ($$1$lcssa|0)==(0);
if (!($223)) {
$224 = (($$1$lcssa) + 16)|0;
___gcry_burn_stack($224);
}
$225 = ($$181|0)==(0);
$226 = $225 ? 0 : 10;
$$0 = $226;
STACKTOP = sp;return ($$0|0);
}
function __gcry_cipher_cbc_encrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$ = 0, $$0 = 0, $$0122$lcssa = 0, $$0122173 = 0, $$0122173$us = 0, $$0123 = 0, $$0124$lcssa = 0, $$0124172 = 0, $$0124172$us = 0, $$0127$lcssa = 0, $$0127171 = 0, $$0127171$us = 0, $$0129$lcssa = 0, $$0129164 = 0, $$0131$lcssa = 0, $$0131170 = 0, $$0131170$phi = 0, $$0131170$us = 0, $$0131170$us$phi = 0, $$0134169 = 0;
var $$0134169$us = 0, $$02434$i = 0, $$02434$i149 = 0, $$02533$i = 0, $$02533$i150 = 0, $$026$i = 0, $$026$i153 = 0, $$028$i = 0, $$028$i152 = 0, $$03449$i$us = 0, $$035$i = 0, $$035$i148 = 0, $$03548$i$us = 0, $$03647$i$us = 0, $$037$i$us = 0, $$039$i$us = 0, $$041$i$us = 0, $$050$i$us = 0, $$1 = 0, $$1$i$us = 0;
var $$1$i142 = 0, $$1$i154 = 0, $$1128 = 0, $$1130162 = 0, $$1132$lcssa = 0, $$1132163 = 0, $$12731$i = 0, $$12731$i158 = 0, $$12930$i = 0, $$12930$i159 = 0, $$13845$i = 0, $$13845$i$us = 0, $$14044$i = 0, $$14044$i$us = 0, $$14243$i = 0, $$14243$i$us = 0, $$2 = 0, $$2126 = 0, $$2133161 = 0, $$232$i = 0;
var $$232$i157 = 0, $$246$i = 0, $$246$i$us = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre191 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0;
var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond188 = 0, $or$cond = 0, $or$cond$i140 = 0, $or$cond$i144 = 0, $or$cond136 = 0, $or$cond137 = 0, $or$cond139 = 0;
var $scevgep$i$us = 0, $scevgep$i141 = 0, $scevgep$i145 = 0, $scevgep44$i = 0, $scevgep44$i146 = 0, $scevgep61$i$us = 0, $scevgep63$i$us = 0, $spec$select = 0, $spec$select138 = 0, $spec$select138$us = 0, $uglygep = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($0)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($6)) + 20|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($6)) + 36|0);
$10 = HEAP32[$9>>2]|0;
$11 = (($4>>>0) / ($8>>>0))&-1;
$12 = ((($0)) + 52|0);
$13 = HEAP32[$12>>2]|0;
$14 = $13 & 8;
$15 = ($14|0)==(0);
$16 = $15 ? $4 : $8;
$17 = ($16>>>0)>($2>>>0);
if ($17) {
$$0 = 200;
return ($$0|0);
}
$18 = Math_imul($11, $8)|0;
$19 = (($4) - ($18))|0;
$20 = ($19|0)==(0);
if ($20) {
$$pre191 = $13 & 4;
$$pre$phiZ2D = $$pre191;
} else {
$21 = ($8>>>0)>=($4>>>0);
$22 = $13 & 4;
$23 = ($22|0)==(0);
$or$cond = $21 | $23;
if ($or$cond) {
$$0 = 139;
return ($$0|0);
} else {
$$pre$phiZ2D = $22;
}
}
$24 = ($$pre$phiZ2D|0)!=(0);
$25 = ($8>>>0)<($4>>>0);
$or$cond136 = $25 & $24;
$or$cond137 = $or$cond136 & $20;
$26 = $or$cond137 << 31 >> 31;
$$0123 = (($11) + ($26))|0;
$27 = ((($0)) + 28|0);
$28 = HEAP32[$27>>2]|0;
$29 = ($28|0)==(0|0);
if ($29) {
$38 = ((($0)) + 64|0);
$39 = ($$0123|0)==(0);
if ($39) {
$$1 = 0;$$1128 = $3;$$2126 = $1;$122 = $13;
} else {
$40 = ($8>>>0)>(3);
$41 = (($8) + -4)|0;
$42 = $41 & -4;
$43 = (($42) + 4)|0;
$44 = ((($0)) + 496|0);
$45 = (($41) - ($42))|0;
if ($40) {
$$0122173$us = 0;$$0124172$us = $1;$$0127171$us = $3;$$0131170$us = $38;$$0134169$us = 0;
while(1) {
$46 = $$0124172$us;
$47 = $$0127171$us;
$48 = $$0131170$us;
$49 = $47 | $48;
$50 = $49 | $46;
$51 = $50 & 3;
$52 = ($51|0)==(0);
if ($52) {
$scevgep61$i$us = (($$0131170$us) + ($43)|0);
$$03449$i$us = $$0131170$us;$$03548$i$us = $$0127171$us;$$03647$i$us = $$0124172$us;$$050$i$us = $8;
while(1) {
$53 = ((($$03548$i$us)) + 4|0);
$54 = HEAP32[$$03548$i$us>>2]|0;
$55 = ((($$03449$i$us)) + 4|0);
$56 = HEAP32[$$03449$i$us>>2]|0;
$57 = $56 ^ $54;
$58 = ((($$03647$i$us)) + 4|0);
HEAP32[$$03647$i$us>>2] = $57;
$59 = (($$050$i$us) + -4)|0;
$60 = ($59>>>0)>(3);
if ($60) {
$$03449$i$us = $55;$$03548$i$us = $53;$$03647$i$us = $58;$$050$i$us = $59;
} else {
break;
}
}
$scevgep$i$us = (($$0127171$us) + ($43)|0);
$scevgep63$i$us = (($$0124172$us) + ($43)|0);
$$037$i$us = $scevgep61$i$us;$$039$i$us = $scevgep$i$us;$$041$i$us = $scevgep63$i$us;$$1$i$us = $45;
} else {
$$037$i$us = $$0131170$us;$$039$i$us = $$0127171$us;$$041$i$us = $$0124172$us;$$1$i$us = $8;
}
$61 = ($$1$i$us|0)==(0);
if (!($61)) {
$$13845$i$us = $$037$i$us;$$14044$i$us = $$039$i$us;$$14243$i$us = $$041$i$us;$$246$i$us = $$1$i$us;
while(1) {
$62 = ((($$14044$i$us)) + 1|0);
$63 = HEAP8[$$14044$i$us>>0]|0;
$64 = ((($$13845$i$us)) + 1|0);
$65 = HEAP8[$$13845$i$us>>0]|0;
$66 = $65 ^ $63;
$67 = ((($$14243$i$us)) + 1|0);
HEAP8[$$14243$i$us>>0] = $66;
$68 = (($$246$i$us) + -1)|0;
$69 = ($68|0)==(0);
if ($69) {
break;
} else {
$$13845$i$us = $64;$$14044$i$us = $62;$$14243$i$us = $67;$$246$i$us = $68;
}
}
}
$70 = (FUNCTION_TABLE_iiii[$10 & 127]($44,$$0124172$us,$$0124172$us)|0);
$71 = ($70>>>0)>($$0122173$us>>>0);
$72 = $71 ? $70 : $$0122173$us;
$73 = (($$0127171$us) + ($8)|0);
$74 = HEAP32[$12>>2]|0;
$75 = $74 & 8;
$76 = ($75|0)==(0);
$77 = (($$0124172$us) + ($8)|0);
$spec$select138$us = $76 ? $77 : $$0124172$us;
$78 = (($$0134169$us) + 1)|0;
$79 = ($78>>>0)<($$0123>>>0);
if ($79) {
$$0131170$us$phi = $$0124172$us;$$0122173$us = $72;$$0124172$us = $spec$select138$us;$$0127171$us = $73;$$0134169$us = $78;$$0131170$us = $$0131170$us$phi;
} else {
$$0122$lcssa = $72;$$0124$lcssa = $spec$select138$us;$$0127$lcssa = $73;$$0131$lcssa = $$0124172$us;$170 = $74;
break;
}
}
} else {
$80 = ($8|0)==(0);
$$0122173 = 0;$$0124172 = $1;$$0127171 = $3;$$0131170 = $38;$$0134169 = 0;
while(1) {
if (!($80)) {
$$13845$i = $$0131170;$$14044$i = $$0127171;$$14243$i = $$0124172;$$246$i = $8;
while(1) {
$81 = ((($$14044$i)) + 1|0);
$82 = HEAP8[$$14044$i>>0]|0;
$83 = ((($$13845$i)) + 1|0);
$84 = HEAP8[$$13845$i>>0]|0;
$85 = $84 ^ $82;
$86 = ((($$14243$i)) + 1|0);
HEAP8[$$14243$i>>0] = $85;
$87 = (($$246$i) + -1)|0;
$88 = ($87|0)==(0);
if ($88) {
break;
} else {
$$13845$i = $83;$$14044$i = $81;$$14243$i = $86;$$246$i = $87;
}
}
}
$89 = (FUNCTION_TABLE_iiii[$10 & 127]($44,$$0124172,$$0124172)|0);
$90 = ($89>>>0)>($$0122173>>>0);
$91 = $90 ? $89 : $$0122173;
$92 = (($$0127171) + ($8)|0);
$93 = HEAP32[$12>>2]|0;
$94 = $93 & 8;
$95 = ($94|0)==(0);
$96 = (($$0124172) + ($8)|0);
$spec$select138 = $95 ? $96 : $$0124172;
$97 = (($$0134169) + 1)|0;
$98 = ($97>>>0)<($$0123>>>0);
if ($98) {
$$0131170$phi = $$0124172;$$0122173 = $91;$$0124172 = $spec$select138;$$0127171 = $92;$$0134169 = $97;$$0131170 = $$0131170$phi;
} else {
$$0122$lcssa = $91;$$0124$lcssa = $spec$select138;$$0127$lcssa = $92;$$0131$lcssa = $$0124172;$170 = $93;
break;
}
}
}
$99 = ($$0131$lcssa|0)==($38|0);
if ($99) {
$$1 = $$0122$lcssa;$$1128 = $$0127$lcssa;$$2126 = $$0124$lcssa;$122 = $170;
} else {
$100 = $38;
$101 = $$0131$lcssa;
$102 = $101 | $100;
$103 = $102 & 3;
$104 = ($103|0)==(0);
$105 = ($8>>>0)>(3);
$or$cond$i144 = $105 & $104;
if ($or$cond$i144) {
$106 = (($8) + -4)|0;
$107 = $106 & -4;
$108 = (($107) + 4)|0;
$scevgep$i145 = (($$0131$lcssa) + ($108)|0);
$$02434$i149 = $$0131$lcssa;$$02533$i150 = $38;$$035$i148 = $8;
while(1) {
$109 = ((($$02434$i149)) + 4|0);
$110 = HEAP32[$$02434$i149>>2]|0;
$111 = ((($$02533$i150)) + 4|0);
HEAP32[$$02533$i150>>2] = $110;
$112 = (($$035$i148) + -4)|0;
$113 = ($112>>>0)>(3);
if ($113) {
$$02434$i149 = $109;$$02533$i150 = $111;$$035$i148 = $112;
} else {
break;
}
}
$scevgep44$i146 = (($38) + ($108)|0);
$114 = (($106) - ($107))|0;
$$026$i153 = $scevgep$i145;$$028$i152 = $scevgep44$i146;$$1$i154 = $114;
} else {
$$026$i153 = $$0131$lcssa;$$028$i152 = $38;$$1$i154 = $8;
}
$115 = ($$1$i154|0)==(0);
if ($115) {
$$1 = $$0122$lcssa;$$1128 = $$0127$lcssa;$$2126 = $$0124$lcssa;$122 = $170;
} else {
$$12731$i158 = $$026$i153;$$12930$i159 = $$028$i152;$$232$i157 = $$1$i154;
while(1) {
$116 = ((($$12731$i158)) + 1|0);
$117 = HEAP8[$$12731$i158>>0]|0;
$118 = ((($$12930$i159)) + 1|0);
HEAP8[$$12930$i159>>0] = $117;
$119 = (($$232$i157) + -1)|0;
$120 = ($119|0)==(0);
if ($120) {
break;
} else {
$$12731$i158 = $116;$$12930$i159 = $118;$$232$i157 = $119;
}
}
$$pre = HEAP32[$12>>2]|0;
$$1 = $$0122$lcssa;$$1128 = $$0127$lcssa;$$2126 = $$0124$lcssa;$122 = $$pre;
}
}
}
} else {
$30 = ((($0)) + 496|0);
$31 = ((($0)) + 64|0);
FUNCTION_TABLE_viiiiii[$28 & 63]($30,$31,$1,$3,$$0123,$14);
$32 = Math_imul($$0123, $8)|0;
$33 = (($3) + ($32)|0);
$34 = HEAP32[$12>>2]|0;
$35 = $34 & 8;
$36 = ($35|0)==(0);
$37 = (($1) + ($32)|0);
$spec$select = $36 ? $37 : $1;
$$1 = 0;$$1128 = $33;$$2126 = $spec$select;$122 = $34;
}
$121 = $122 & 4;
$123 = ($121|0)!=(0);
$or$cond139 = $25 & $123;
if ($or$cond139) {
$$ = $20 ? $8 : $19;
$124 = (0 - ($8))|0;
$125 = (($$2126) + ($124)|0);
$126 = ((($0)) + 64|0);
$127 = ($$|0)==(0);
if ($127) {
$$0129$lcssa = 0;$$1132$lcssa = $126;
} else {
$128 = (($$) + 64)|0;
$$0129164 = 0;$$1132163 = $126;
while(1) {
$129 = (($$1128) + ($$0129164)|0);
$130 = HEAP8[$129>>0]|0;
$131 = (($125) + ($$0129164)|0);
$132 = HEAP8[$131>>0]|0;
$133 = (($$2126) + ($$0129164)|0);
HEAP8[$133>>0] = $132;
$134 = ((($$1132163)) + 1|0);
$135 = HEAP8[$$1132163>>0]|0;
$136 = $135 ^ $130;
HEAP8[$131>>0] = $136;
$137 = (($$0129164) + 1)|0;
$exitcond188 = ($137|0)==($$|0);
if ($exitcond188) {
break;
} else {
$$0129164 = $137;$$1132163 = $134;
}
}
$uglygep = (($0) + ($128)|0);
$$0129$lcssa = $$;$$1132$lcssa = $uglygep;
}
$138 = ($$0129$lcssa>>>0)<($8>>>0);
if ($138) {
$$1130162 = $$0129$lcssa;$$2133161 = $$1132$lcssa;
while(1) {
$139 = ((($$2133161)) + 1|0);
$140 = HEAP8[$$2133161>>0]|0;
$141 = (($125) + ($$1130162)|0);
HEAP8[$141>>0] = $140;
$142 = (($$1130162) + 1)|0;
$exitcond = ($142|0)==($8|0);
if ($exitcond) {
break;
} else {
$$1130162 = $142;$$2133161 = $139;
}
}
}
$143 = ((($0)) + 496|0);
$144 = (FUNCTION_TABLE_iiii[$10 & 127]($143,$125,$125)|0);
$145 = ($144>>>0)>($$1>>>0);
$146 = $145 ? $144 : $$1;
$147 = $126;
$148 = $125;
$149 = $148 | $147;
$150 = $149 & 3;
$151 = ($150|0)==(0);
$152 = ($8>>>0)>(3);
$or$cond$i140 = $152 & $151;
if ($or$cond$i140) {
$153 = (($8) + -4)|0;
$154 = $153 & -4;
$155 = (($154) + 4)|0;
$scevgep$i141 = (($125) + ($155)|0);
$$02434$i = $125;$$02533$i = $126;$$035$i = $8;
while(1) {
$156 = ((($$02434$i)) + 4|0);
$157 = HEAP32[$$02434$i>>2]|0;
$158 = ((($$02533$i)) + 4|0);
HEAP32[$$02533$i>>2] = $157;
$159 = (($$035$i) + -4)|0;
$160 = ($159>>>0)>(3);
if ($160) {
$$02434$i = $156;$$02533$i = $158;$$035$i = $159;
} else {
break;
}
}
$scevgep44$i = (($126) + ($155)|0);
$161 = (($153) - ($154))|0;
$$026$i = $scevgep$i141;$$028$i = $scevgep44$i;$$1$i142 = $161;
} else {
$$026$i = $125;$$028$i = $126;$$1$i142 = $8;
}
$162 = ($$1$i142|0)==(0);
if ($162) {
$$2 = $146;
} else {
$$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i142;
while(1) {
$163 = ((($$12731$i)) + 1|0);
$164 = HEAP8[$$12731$i>>0]|0;
$165 = ((($$12930$i)) + 1|0);
HEAP8[$$12930$i>>0] = $164;
$166 = (($$232$i) + -1)|0;
$167 = ($166|0)==(0);
if ($167) {
$$2 = $146;
break;
} else {
$$12731$i = $163;$$12930$i = $165;$$232$i = $166;
}
}
}
} else {
$$2 = $$1;
}
$168 = ($$2|0)==(0);
if ($168) {
$$0 = 0;
return ($$0|0);
}
$169 = (($$2) + 16)|0;
___gcry_burn_stack($169);
$$0 = 0;
return ($$0|0);
}
function __gcry_cipher_cbc_decrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$ = 0, $$0122218 = 0, $$0122218$us = 0, $$0125 = 0, $$0126217 = 0, $$0126217$us = 0, $$0128214 = 0, $$0129216 = 0, $$0129216$us = 0, $$0130215 = 0, $$0130215$us = 0, $$02434$i = 0, $$02434$i147 = 0, $$02434$i185 = 0, $$02434$i202 = 0, $$02533$i = 0, $$02533$i148 = 0, $$02533$i186 = 0, $$02533$i203 = 0, $$026$i = 0;
var $$026$i151 = 0, $$026$i189 = 0, $$026$i206 = 0, $$028$i = 0, $$028$i150 = 0, $$028$i188 = 0, $$028$i205 = 0, $$03449$i = 0, $$03449$i165 = 0, $$035$i = 0, $$035$i146 = 0, $$035$i184 = 0, $$035$i201 = 0, $$03548$i = 0, $$03548$i166 = 0, $$037$i = 0, $$037$i171 = 0, $$041$i = 0, $$041$i169 = 0, $$050$i = 0;
var $$050$i139$us = 0, $$050$i164 = 0, $$05270$i$us = 0, $$05369$i$us = 0, $$05468$i$us = 0, $$05567$i$us = 0, $$056$i$us = 0, $$058$i$us = 0, $$060$i$us = 0, $$071$i$us = 0, $$1 = 0, $$1$i = 0, $$1$i135 = 0, $$1$i140$us = 0, $$1$i152 = 0, $$1$i172 = 0, $$1$i190 = 0, $$1$i207 = 0, $$1124 = 0, $$1127 = 0;
var $$1131 = 0, $$12731$i = 0, $$12731$i156 = 0, $$12731$i194 = 0, $$12731$i211 = 0, $$12930$i = 0, $$12930$i157 = 0, $$12930$i195 = 0, $$12930$i212 = 0, $$13845$i = 0, $$13845$i176 = 0, $$14044$i = 0, $$14044$i177 = 0, $$15165$i = 0, $$15165$i$us = 0, $$15764$i = 0, $$15764$i$us = 0, $$15963$i = 0, $$15963$i$us = 0, $$16162$i = 0;
var $$16162$i$us = 0, $$2 = 0, $$232$i = 0, $$232$i155 = 0, $$232$i193 = 0, $$232$i210 = 0, $$246$i = 0, $$246$i175 = 0, $$266$i = 0, $$266$i$us = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phi241Z2D = 0, $$pre$phiZ2D = 0, $$pre240 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0;
var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0;
var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0;
var $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0;
var $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0;
var $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0;
var $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0;
var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0;
var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond232 = 0, $exitcond237 = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i133 = 0, $or$cond$i142 = 0;
var $or$cond$i159 = 0, $or$cond$i180 = 0, $or$cond$i197 = 0, $or$cond132 = 0, $scevgep = 0, $scevgep$i = 0, $scevgep$i134 = 0, $scevgep$i138$us = 0, $scevgep$i143 = 0, $scevgep$i160 = 0, $scevgep$i181 = 0, $scevgep$i198 = 0, $scevgep231 = 0, $scevgep236 = 0, $scevgep44$i = 0, $scevgep44$i144 = 0, $scevgep44$i182 = 0, $scevgep44$i199 = 0, $scevgep61$i = 0, $scevgep61$i161 = 0;
var $scevgep84$i = 0, $scevgep86$i$us = 0, $scevgep88$i = 0, $spec$select = 0, $spec$select$v = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($0)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($6)) + 20|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($6)) + 40|0);
$10 = HEAP32[$9>>2]|0;
$11 = (($4>>>0) / ($8>>>0))&-1;
$12 = ($2>>>0)<($4>>>0);
if ($12) {
$$0125 = 200;
return ($$0125|0);
}
$13 = Math_imul($11, $8)|0;
$14 = (($4) - ($13))|0;
$15 = ($14|0)==(0);
if ($15) {
$$phi$trans$insert = ((($0)) + 52|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$$pre240 = $$pre & 4;
$$pre$phi241Z2D = $$pre240;$$pre$phiZ2D = $$phi$trans$insert;
} else {
$16 = ($8>>>0)<($4>>>0);
if (!($16)) {
$$0125 = 139;
return ($$0125|0);
}
$17 = ((($0)) + 52|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 & 4;
$20 = ($19|0)==(0);
if ($20) {
$$0125 = 139;
return ($$0125|0);
} else {
$$pre$phi241Z2D = $19;$$pre$phiZ2D = $17;
}
}
$21 = ($$pre$phi241Z2D|0)!=(0);
$22 = ($8>>>0)<($4>>>0);
$or$cond = $22 & $21;
if ($or$cond) {
$spec$select$v = $15 ? -2 : -1;
$spec$select = (($spec$select$v) + ($11))|0;
$23 = ((($0)) + 96|0);
$24 = ((($0)) + 64|0);
$25 = $23;
$26 = $24;
$27 = $26 | $25;
$28 = $27 & 3;
$29 = ($28|0)==(0);
$30 = ($8>>>0)>(3);
$or$cond$i = $29 & $30;
if ($or$cond$i) {
$31 = (($8) + -4)|0;
$32 = $31 & -4;
$33 = (($32) + 4)|0;
$scevgep$i = (($24) + ($33)|0);
$$02434$i = $24;$$02533$i = $23;$$035$i = $8;
while(1) {
$34 = ((($$02434$i)) + 4|0);
$35 = HEAP32[$$02434$i>>2]|0;
$36 = ((($$02533$i)) + 4|0);
HEAP32[$$02533$i>>2] = $35;
$37 = (($$035$i) + -4)|0;
$38 = ($37>>>0)>(3);
if ($38) {
$$02434$i = $34;$$02533$i = $36;$$035$i = $37;
} else {
break;
}
}
$scevgep44$i = (((($0)) + 96|0) + ($33)|0);
$39 = (($31) - ($32))|0;
$$026$i = $scevgep$i;$$028$i = $scevgep44$i;$$1$i = $39;
} else {
$$026$i = $24;$$028$i = $23;$$1$i = $8;
}
$40 = ($$1$i|0)==(0);
if ($40) {
$$1124 = $spec$select;
} else {
$$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i;
while(1) {
$41 = ((($$12731$i)) + 1|0);
$42 = HEAP8[$$12731$i>>0]|0;
$43 = ((($$12930$i)) + 1|0);
HEAP8[$$12930$i>>0] = $42;
$44 = (($$232$i) + -1)|0;
$45 = ($44|0)==(0);
if ($45) {
$$1124 = $spec$select;
break;
} else {
$$12731$i = $41;$$12930$i = $43;$$232$i = $44;
}
}
}
} else {
$$1124 = $11;
}
$46 = ((($0)) + 32|0);
$47 = HEAP32[$46>>2]|0;
$48 = ($47|0)==(0|0);
do {
if ($48) {
$54 = ($$1124|0)==(0);
if ($54) {
$$1 = 0;$$1127 = $1;$$1131 = $3;
} else {
$55 = ((($0)) + 496|0);
$56 = ((($0)) + 96|0);
$57 = ((($0)) + 64|0);
$58 = $56;
$59 = $57;
$60 = $59 | $58;
$61 = ($8>>>0)>(3);
$62 = (($8) + -4)|0;
$63 = $62 & -4;
$64 = (($63) + 4)|0;
$scevgep84$i = (((($0)) + 96|0) + ($64)|0);
$scevgep88$i = (($57) + ($64)|0);
$65 = (($62) - ($63))|0;
$66 = Math_imul($$1124, $8)|0;
$scevgep = (($3) + ($66)|0);
if (!($61)) {
$100 = ($8|0)==(0);
$$0122218 = 0;$$0126217 = $1;$$0129216 = 0;$$0130215 = $3;
while(1) {
$101 = (FUNCTION_TABLE_iiii[$10 & 127]($55,$56,$$0130215)|0);
$102 = ($101>>>0)>($$0122218>>>0);
$103 = $102 ? $101 : $$0122218;
if (!($100)) {
$$15165$i = $$0126217;$$15764$i = $57;$$15963$i = $$0130215;$$16162$i = $56;$$266$i = $8;
while(1) {
$104 = ((($$15963$i)) + 1|0);
$105 = HEAP8[$$15963$i>>0]|0;
$106 = HEAP8[$$15764$i>>0]|0;
$107 = ((($$16162$i)) + 1|0);
$108 = HEAP8[$$16162$i>>0]|0;
$109 = $108 ^ $106;
$110 = ((($$15165$i)) + 1|0);
HEAP8[$$15165$i>>0] = $109;
$111 = ((($$15764$i)) + 1|0);
HEAP8[$$15764$i>>0] = $105;
$112 = (($$266$i) + -1)|0;
$113 = ($112|0)==(0);
if ($113) {
break;
} else {
$$15165$i = $110;$$15764$i = $111;$$15963$i = $104;$$16162$i = $107;$$266$i = $112;
}
}
}
$114 = (($$0130215) + ($8)|0);
$115 = (($$0126217) + ($8)|0);
$116 = (($$0129216) + 1)|0;
$exitcond237 = ($116|0)==($$1124|0);
if ($exitcond237) {
break;
} else {
$$0122218 = $103;$$0126217 = $115;$$0129216 = $116;$$0130215 = $114;
}
}
$scevgep236 = (($1) + ($66)|0);
$$1 = $103;$$1127 = $scevgep236;$$1131 = $scevgep;
break;
}
$$0122218$us = 0;$$0126217$us = $1;$$0129216$us = 0;$$0130215$us = $3;
while(1) {
$67 = (FUNCTION_TABLE_iiii[$10 & 127]($55,$56,$$0130215$us)|0);
$68 = ($67>>>0)>($$0122218$us>>>0);
$69 = $68 ? $67 : $$0122218$us;
$70 = $$0130215$us;
$71 = $$0126217$us;
$72 = $60 | $70;
$73 = $72 | $71;
$74 = $73 & 3;
$75 = ($74|0)==(0);
if ($75) {
$scevgep$i138$us = (($$0130215$us) + ($64)|0);
$$05270$i$us = $56;$$05369$i$us = $$0130215$us;$$05468$i$us = $57;$$05567$i$us = $$0126217$us;$$071$i$us = $8;
while(1) {
$76 = ((($$05369$i$us)) + 4|0);
$77 = HEAP32[$$05369$i$us>>2]|0;
$78 = HEAP32[$$05468$i$us>>2]|0;
$79 = ((($$05270$i$us)) + 4|0);
$80 = HEAP32[$$05270$i$us>>2]|0;
$81 = $80 ^ $78;
$82 = ((($$05567$i$us)) + 4|0);
HEAP32[$$05567$i$us>>2] = $81;
$83 = ((($$05468$i$us)) + 4|0);
HEAP32[$$05468$i$us>>2] = $77;
$84 = (($$071$i$us) + -4)|0;
$85 = ($84>>>0)>(3);
if ($85) {
$$05270$i$us = $79;$$05369$i$us = $76;$$05468$i$us = $83;$$05567$i$us = $82;$$071$i$us = $84;
} else {
break;
}
}
$scevgep86$i$us = (($$0126217$us) + ($64)|0);
$$050$i139$us = $scevgep86$i$us;$$056$i$us = $scevgep88$i;$$058$i$us = $scevgep$i138$us;$$060$i$us = $scevgep84$i;$$1$i140$us = $65;
} else {
$$050$i139$us = $$0126217$us;$$056$i$us = $57;$$058$i$us = $$0130215$us;$$060$i$us = $56;$$1$i140$us = $8;
}
$86 = ($$1$i140$us|0)==(0);
if (!($86)) {
$$15165$i$us = $$050$i139$us;$$15764$i$us = $$056$i$us;$$15963$i$us = $$058$i$us;$$16162$i$us = $$060$i$us;$$266$i$us = $$1$i140$us;
while(1) {
$87 = ((($$15963$i$us)) + 1|0);
$88 = HEAP8[$$15963$i$us>>0]|0;
$89 = HEAP8[$$15764$i$us>>0]|0;
$90 = ((($$16162$i$us)) + 1|0);
$91 = HEAP8[$$16162$i$us>>0]|0;
$92 = $91 ^ $89;
$93 = ((($$15165$i$us)) + 1|0);
HEAP8[$$15165$i$us>>0] = $92;
$94 = ((($$15764$i$us)) + 1|0);
HEAP8[$$15764$i$us>>0] = $88;
$95 = (($$266$i$us) + -1)|0;
$96 = ($95|0)==(0);
if ($96) {
break;
} else {
$$15165$i$us = $93;$$15764$i$us = $94;$$15963$i$us = $87;$$16162$i$us = $90;$$266$i$us = $95;
}
}
}
$97 = (($$0130215$us) + ($8)|0);
$98 = (($$0126217$us) + ($8)|0);
$99 = (($$0129216$us) + 1)|0;
$exitcond232 = ($99|0)==($$1124|0);
if ($exitcond232) {
break;
} else {
$$0122218$us = $69;$$0126217$us = $98;$$0129216$us = $99;$$0130215$us = $97;
}
}
$scevgep231 = (($1) + ($66)|0);
$$1 = $69;$$1127 = $scevgep231;$$1131 = $scevgep;
}
} else {
$49 = ((($0)) + 496|0);
$50 = ((($0)) + 64|0);
FUNCTION_TABLE_viiiii[$47 & 127]($49,$50,$1,$3,$$1124);
$51 = Math_imul($$1124, $8)|0;
$52 = (($3) + ($51)|0);
$53 = (($1) + ($51)|0);
$$1 = 0;$$1127 = $53;$$1131 = $52;
}
} while(0);
$117 = HEAP32[$$pre$phiZ2D>>2]|0;
$118 = $117 & 4;
$119 = ($118|0)!=(0);
$or$cond132 = $22 & $119;
if ($or$cond132) {
$$ = $15 ? $8 : $14;
$120 = ((($0)) + 96|0);
$121 = ((($0)) + 64|0);
$122 = $120;
$123 = $121;
$124 = $123 | $122;
$125 = $124 & 3;
$126 = ($125|0)==(0);
$127 = ($8>>>0)>(3);
$or$cond$i180 = $126 & $127;
if ($or$cond$i180) {
$128 = (($8) + -4)|0;
$129 = $128 & -4;
$130 = (($129) + 4)|0;
$scevgep$i181 = (($121) + ($130)|0);
$$02434$i185 = $121;$$02533$i186 = $120;$$035$i184 = $8;
while(1) {
$131 = ((($$02434$i185)) + 4|0);
$132 = HEAP32[$$02434$i185>>2]|0;
$133 = ((($$02533$i186)) + 4|0);
HEAP32[$$02533$i186>>2] = $132;
$134 = (($$035$i184) + -4)|0;
$135 = ($134>>>0)>(3);
if ($135) {
$$02434$i185 = $131;$$02533$i186 = $133;$$035$i184 = $134;
} else {
break;
}
}
$scevgep44$i182 = (((($0)) + 96|0) + ($130)|0);
$136 = (($128) - ($129))|0;
$$026$i189 = $scevgep$i181;$$028$i188 = $scevgep44$i182;$$1$i190 = $136;
} else {
$$026$i189 = $121;$$028$i188 = $120;$$1$i190 = $8;
}
$137 = ($$1$i190|0)==(0);
if (!($137)) {
$$12731$i194 = $$026$i189;$$12930$i195 = $$028$i188;$$232$i193 = $$1$i190;
while(1) {
$138 = ((($$12731$i194)) + 1|0);
$139 = HEAP8[$$12731$i194>>0]|0;
$140 = ((($$12930$i195)) + 1|0);
HEAP8[$$12930$i195>>0] = $139;
$141 = (($$232$i193) + -1)|0;
$142 = ($141|0)==(0);
if ($142) {
break;
} else {
$$12731$i194 = $138;$$12930$i195 = $140;$$232$i193 = $141;
}
}
}
$143 = (($$1131) + ($8)|0);
$144 = $143;
$145 = $144 | $123;
$146 = $145 & 3;
$147 = ($146|0)==(0);
$148 = ($$>>>0)>(3);
$or$cond$i197 = $148 & $147;
if ($or$cond$i197) {
$149 = (($$) + -4)|0;
$150 = $149 & -4;
$151 = (($150) + 4)|0;
$scevgep$i198 = (($143) + ($151)|0);
$$02434$i202 = $143;$$02533$i203 = $121;$$035$i201 = $$;
while(1) {
$152 = ((($$02434$i202)) + 4|0);
$153 = HEAP32[$$02434$i202>>2]|0;
$154 = ((($$02533$i203)) + 4|0);
HEAP32[$$02533$i203>>2] = $153;
$155 = (($$035$i201) + -4)|0;
$156 = ($155>>>0)>(3);
if ($156) {
$$02434$i202 = $152;$$02533$i203 = $154;$$035$i201 = $155;
} else {
break;
}
}
$scevgep44$i199 = (($121) + ($151)|0);
$157 = (($149) - ($150))|0;
$$026$i206 = $scevgep$i198;$$028$i205 = $scevgep44$i199;$$1$i207 = $157;
} else {
$$026$i206 = $143;$$028$i205 = $121;$$1$i207 = $$;
}
$158 = ($$1$i207|0)==(0);
if (!($158)) {
$$12731$i211 = $$026$i206;$$12930$i212 = $$028$i205;$$232$i210 = $$1$i207;
while(1) {
$159 = ((($$12731$i211)) + 1|0);
$160 = HEAP8[$$12731$i211>>0]|0;
$161 = ((($$12930$i212)) + 1|0);
HEAP8[$$12930$i212>>0] = $160;
$162 = (($$232$i210) + -1)|0;
$163 = ($162|0)==(0);
if ($163) {
break;
} else {
$$12731$i211 = $159;$$12930$i212 = $161;$$232$i210 = $162;
}
}
}
$164 = ((($0)) + 496|0);
$165 = (FUNCTION_TABLE_iiii[$10 & 127]($164,$$1127,$$1131)|0);
$166 = ($165>>>0)>($$1>>>0);
$167 = $166 ? $165 : $$1;
$168 = $$1127;
$169 = $168 | $123;
$170 = $169 & 3;
$171 = ($170|0)==(0);
$or$cond$i159 = $148 & $171;
if ($or$cond$i159) {
$172 = (($$) + -4)|0;
$173 = $172 & -4;
$174 = (($173) + 4)|0;
$scevgep$i160 = (($$1127) + ($174)|0);
$$03449$i165 = $121;$$03548$i166 = $$1127;$$050$i164 = $$;
while(1) {
$175 = ((($$03548$i166)) + 4|0);
$176 = HEAP32[$$03548$i166>>2]|0;
$177 = ((($$03449$i165)) + 4|0);
$178 = HEAP32[$$03449$i165>>2]|0;
$179 = $178 ^ $176;
HEAP32[$$03548$i166>>2] = $179;
$180 = (($$050$i164) + -4)|0;
$181 = ($180>>>0)>(3);
if ($181) {
$$03449$i165 = $177;$$03548$i166 = $175;$$050$i164 = $180;
} else {
break;
}
}
$scevgep61$i161 = (($121) + ($174)|0);
$182 = (($172) - ($173))|0;
$$037$i171 = $scevgep61$i161;$$041$i169 = $scevgep$i160;$$1$i172 = $182;
} else {
$$037$i171 = $121;$$041$i169 = $$1127;$$1$i172 = $$;
}
$183 = ($$1$i172|0)==(0);
if (!($183)) {
$$13845$i176 = $$037$i171;$$14044$i177 = $$041$i169;$$246$i175 = $$1$i172;
while(1) {
$184 = ((($$14044$i177)) + 1|0);
$185 = HEAP8[$$14044$i177>>0]|0;
$186 = ((($$13845$i176)) + 1|0);
$187 = HEAP8[$$13845$i176>>0]|0;
$188 = $187 ^ $185;
HEAP8[$$14044$i177>>0] = $188;
$189 = (($$246$i175) + -1)|0;
$190 = ($189|0)==(0);
if ($190) {
break;
} else {
$$13845$i176 = $186;$$14044$i177 = $184;$$246$i175 = $189;
}
}
}
$191 = (($$1127) + ($8)|0);
$192 = $191;
$193 = $192 | $168;
$194 = $193 & 3;
$195 = ($194|0)==(0);
$or$cond$i142 = $148 & $195;
if ($or$cond$i142) {
$196 = (($$) + -4)|0;
$197 = $196 & -4;
$198 = (($197) + 4)|0;
$scevgep$i143 = (($$1127) + ($198)|0);
$$02434$i147 = $$1127;$$02533$i148 = $191;$$035$i146 = $$;
while(1) {
$199 = ((($$02434$i147)) + 4|0);
$200 = HEAP32[$$02434$i147>>2]|0;
$201 = ((($$02533$i148)) + 4|0);
HEAP32[$$02533$i148>>2] = $200;
$202 = (($$035$i146) + -4)|0;
$203 = ($202>>>0)>(3);
if ($203) {
$$02434$i147 = $199;$$02533$i148 = $201;$$035$i146 = $202;
} else {
break;
}
}
$scevgep44$i144 = (($191) + ($198)|0);
$204 = (($196) - ($197))|0;
$$026$i151 = $scevgep$i143;$$028$i150 = $scevgep44$i144;$$1$i152 = $204;
} else {
$$026$i151 = $$1127;$$028$i150 = $191;$$1$i152 = $$;
}
$205 = ($$1$i152|0)==(0);
if (!($205)) {
$$12731$i156 = $$026$i151;$$12930$i157 = $$028$i150;$$232$i155 = $$1$i152;
while(1) {
$206 = ((($$12731$i156)) + 1|0);
$207 = HEAP8[$$12731$i156>>0]|0;
$208 = ((($$12930$i157)) + 1|0);
HEAP8[$$12930$i157>>0] = $207;
$209 = (($$232$i155) + -1)|0;
$210 = ($209|0)==(0);
if ($210) {
break;
} else {
$$12731$i156 = $206;$$12930$i157 = $208;$$232$i155 = $209;
}
}
}
$211 = ($$>>>0)<($8>>>0);
if ($211) {
$$0128214 = $$;
while(1) {
$212 = (($$1127) + ($$0128214)|0);
$213 = HEAP8[$212>>0]|0;
$214 = (($121) + ($$0128214)|0);
HEAP8[$214>>0] = $213;
$215 = (($$0128214) + 1)|0;
$exitcond = ($215|0)==($8|0);
if ($exitcond) {
break;
} else {
$$0128214 = $215;
}
}
}
$216 = (FUNCTION_TABLE_iiii[$10 & 127]($164,$$1127,$121)|0);
$217 = ($216>>>0)>($167>>>0);
$218 = $217 ? $216 : $167;
$219 = $168 | $122;
$220 = $219 & 3;
$221 = ($220|0)==(0);
$or$cond$i133 = $127 & $221;
if ($or$cond$i133) {
$222 = (($8) + -4)|0;
$223 = $222 & -4;
$224 = (($223) + 4)|0;
$scevgep$i134 = (($$1127) + ($224)|0);
$$03449$i = $120;$$03548$i = $$1127;$$050$i = $8;
while(1) {
$225 = ((($$03548$i)) + 4|0);
$226 = HEAP32[$$03548$i>>2]|0;
$227 = ((($$03449$i)) + 4|0);
$228 = HEAP32[$$03449$i>>2]|0;
$229 = $228 ^ $226;
HEAP32[$$03548$i>>2] = $229;
$230 = (($$050$i) + -4)|0;
$231 = ($230>>>0)>(3);
if ($231) {
$$03449$i = $227;$$03548$i = $225;$$050$i = $230;
} else {
break;
}
}
$scevgep61$i = (((($0)) + 96|0) + ($224)|0);
$232 = (($222) - ($223))|0;
$$037$i = $scevgep61$i;$$041$i = $scevgep$i134;$$1$i135 = $232;
} else {
$$037$i = $120;$$041$i = $$1127;$$1$i135 = $8;
}
$233 = ($$1$i135|0)==(0);
if ($233) {
$$2 = $218;
} else {
$$13845$i = $$037$i;$$14044$i = $$041$i;$$246$i = $$1$i135;
while(1) {
$234 = ((($$14044$i)) + 1|0);
$235 = HEAP8[$$14044$i>>0]|0;
$236 = ((($$13845$i)) + 1|0);
$237 = HEAP8[$$13845$i>>0]|0;
$238 = $237 ^ $235;
HEAP8[$$14044$i>>0] = $238;
$239 = (($$246$i) + -1)|0;
$240 = ($239|0)==(0);
if ($240) {
$$2 = $218;
break;
} else {
$$13845$i = $236;$$14044$i = $234;$$246$i = $239;
}
}
}
} else {
$$2 = $$1;
}
$241 = ($$2|0)==(0);
if ($241) {
$$0125 = 0;
return ($$0125|0);
}
$242 = (($$2) + 16)|0;
___gcry_burn_stack($242);
$$0125 = 0;
return ($$0125|0);
}
function __gcry_cipher_ccm_set_nonce($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0;
var label = 0, sp = 0, stop = 0;
sp = STACKTOP;
$3 = (15 - ($2))|0;
$4 = (($3) + 255)|0;
$5 = ($1|0)==(0|0);
if ($5) {
$$0 = 45;
return ($$0|0);
}
$$off = (($3) + -2)|0;
$6 = ($$off>>>0)>(6);
if ($6) {
$$0 = 139;
return ($$0|0);
}
$7 = ((($0)) + 128|0);
_memset(($7|0),0,368)|0;
$8 = ((($0)) + 56|0);
HEAP32[$8>>2] = 0;
$9 = ((($0)) + 64|0);
$10 = ((($0)) + 80|0);
$11 = $4&255;
dest=$9; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
HEAP8[$10>>0] = $11;
$12 = ((($10)) + 1|0);
_memcpy(($12|0),($1|0),($2|0))|0;
$13 = (($2) + 1)|0;
$14 = (($10) + ($13)|0);
_memset(($14|0),0,($3|0))|0;
HEAP8[$9>>0] = $11;
$15 = ((($9)) + 1|0);
_memcpy(($15|0),($1|0),($2|0))|0;
$16 = (($9) + ($13)|0);
_memset(($16|0),0,($3|0))|0;
$17 = ((($0)) + 184|0);
$18 = HEAP8[$17>>0]|0;
$19 = $18 | 1;
HEAP8[$17>>0] = $19;
$$0 = 0;
return ($$0|0);
}
function _do_cbc_mac($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$0107 = 0, $$0108 = 0, $$0121 = 0, $$0127 = 0, $$1109145 = 0, $$1122 = 0, $$1128144 = 0, $$1146 = 0, $$2 = 0, $$2110 = 0, $$2123160 = 0, $$2129 = 0, $$3111161 = 0, $$3124 = 0, $$3162 = 0, $$4 = 0, $$4112 = 0, $$4125 = 0, $$6 = 0;
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
var $263 = 0, $264 = 0, $265 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
var $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $scevgep177 = 0, $scevgep182 = 0, $scevgep183 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$4 = sp;
$5 = ((($0)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($6)) + 36|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($0)) + 164|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($2|0)==(0);
if ($11) {
$12 = ($10|0)!=(0);
$13 = ($3|0)!=(0);
$or$cond = $13 & $12;
if (!($or$cond)) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
$14 = ((($0)) + 148|0);
$15 = ($3|0)==(0);
$16 = ((($0)) + 64|0);
$17 = $16;
$18 = $14;
$19 = $17 | $18;
$20 = $19 & 3;
$21 = ($20|0)==(0);
$22 = ((($0)) + 28|0);
$23 = ((($16)) + 4|0);
$24 = ((($0)) + 152|0);
$25 = ((($0)) + 72|0);
$26 = ((($0)) + 156|0);
$27 = ((($0)) + 76|0);
$28 = ((($0)) + 160|0);
$29 = ((($0)) + 496|0);
$30 = ((($16)) + 1|0);
$31 = ((($0)) + 149|0);
$32 = ((($16)) + 2|0);
$33 = ((($0)) + 150|0);
$34 = ((($16)) + 3|0);
$35 = ((($0)) + 151|0);
$36 = ((($16)) + 4|0);
$37 = ((($0)) + 152|0);
$38 = ((($16)) + 5|0);
$39 = ((($0)) + 153|0);
$40 = ((($16)) + 6|0);
$41 = ((($0)) + 154|0);
$42 = ((($16)) + 7|0);
$43 = ((($0)) + 155|0);
$44 = ((($0)) + 72|0);
$45 = ((($0)) + 156|0);
$46 = ((($0)) + 73|0);
$47 = ((($0)) + 157|0);
$48 = ((($0)) + 74|0);
$49 = ((($0)) + 158|0);
$50 = ((($0)) + 75|0);
$51 = ((($0)) + 159|0);
$52 = ((($0)) + 76|0);
$53 = ((($0)) + 160|0);
$54 = ((($0)) + 77|0);
$55 = ((($0)) + 161|0);
$56 = ((($0)) + 78|0);
$57 = ((($0)) + 162|0);
$58 = ((($0)) + 79|0);
$59 = ((($0)) + 163|0);
$60 = ((($4)) + 8|0);
$61 = ((($16)) + 1|0);
$62 = ((($16)) + 2|0);
$63 = ((($16)) + 3|0);
$64 = ((($16)) + 4|0);
$65 = ((($16)) + 5|0);
$66 = ((($16)) + 6|0);
$67 = ((($16)) + 7|0);
$68 = ((($0)) + 72|0);
$69 = ((($0)) + 73|0);
$70 = ((($0)) + 74|0);
$71 = ((($0)) + 75|0);
$72 = ((($0)) + 76|0);
$73 = ((($0)) + 77|0);
$74 = ((($0)) + 78|0);
$75 = ((($0)) + 79|0);
$$0107 = $1;$$0108 = $2;$$0121 = 0;$$0127 = $10;
while(1) {
$76 = (($$0108) + ($$0127))|0;
$77 = ($76>>>0)<(16);
$78 = ($$0127|0)!=(0);
$or$cond3 = $78 | $77;
if ($or$cond3) {
$79 = ($$0108|0)!=(0);
$80 = ($$0127>>>0)<(16);
$81 = $80 & $79;
if ($81) {
$$1109145 = $$0108;$$1128144 = $$0127;$$1146 = $$0107;
while(1) {
$82 = ((($$1146)) + 1|0);
$83 = HEAP8[$$1146>>0]|0;
$84 = (($$1128144) + 1)|0;
$85 = (($14) + ($$1128144)|0);
HEAP8[$85>>0] = $83;
$86 = (($$1109145) + -1)|0;
$87 = ($86|0)!=(0);
$88 = ($84>>>0)<(16);
$89 = $88 & $87;
if ($89) {
$$1109145 = $86;$$1128144 = $84;$$1146 = $82;
} else {
$$2 = $82;$$2110 = $86;$$2129 = $84;
break;
}
}
} else {
$$2 = $$0107;$$2110 = $$0108;$$2129 = $$0127;
}
} else {
$$2 = $$0107;$$2110 = $$0108;$$2129 = 0;
}
$90 = ($$2110|0)==(0);
if ($90) {
if ($15) {
$$4125 = $$0121;$$6 = $$2129;
break;
}
$91 = ($$2129>>>0)<(16);
if ($91) {
$scevgep177 = (($14) + ($$2129)|0);
$92 = (16 - ($$2129))|0;
_memset(($scevgep177|0),0,($92|0))|0;
label = 13;
} else {
label = 13;
}
} else {
$93 = ($$2129|0)==(0);
if ($93) {
$$1122 = $$0121;
} else {
label = 13;
}
}
if ((label|0) == 13) {
label = 0;
if ($21) {
$94 = HEAP32[$16>>2]|0;
$95 = HEAP32[$14>>2]|0;
$96 = $95 ^ $94;
HEAP32[$16>>2] = $96;
$97 = HEAP32[$23>>2]|0;
$98 = HEAP32[$24>>2]|0;
$99 = $98 ^ $97;
HEAP32[$23>>2] = $99;
$100 = HEAP32[$25>>2]|0;
$101 = HEAP32[$26>>2]|0;
$102 = $101 ^ $100;
HEAP32[$25>>2] = $102;
$103 = HEAP32[$27>>2]|0;
$104 = HEAP32[$28>>2]|0;
$105 = $104 ^ $103;
HEAP32[$27>>2] = $105;
} else {
$106 = HEAP8[$16>>0]|0;
$107 = HEAP8[$14>>0]|0;
$108 = $107 ^ $106;
HEAP8[$16>>0] = $108;
$109 = HEAP8[$30>>0]|0;
$110 = HEAP8[$31>>0]|0;
$111 = $110 ^ $109;
HEAP8[$30>>0] = $111;
$112 = HEAP8[$32>>0]|0;
$113 = HEAP8[$33>>0]|0;
$114 = $113 ^ $112;
HEAP8[$32>>0] = $114;
$115 = HEAP8[$34>>0]|0;
$116 = HEAP8[$35>>0]|0;
$117 = $116 ^ $115;
HEAP8[$34>>0] = $117;
$118 = HEAP8[$36>>0]|0;
$119 = HEAP8[$37>>0]|0;
$120 = $119 ^ $118;
HEAP8[$36>>0] = $120;
$121 = HEAP8[$38>>0]|0;
$122 = HEAP8[$39>>0]|0;
$123 = $122 ^ $121;
HEAP8[$38>>0] = $123;
$124 = HEAP8[$40>>0]|0;
$125 = HEAP8[$41>>0]|0;
$126 = $125 ^ $124;
HEAP8[$40>>0] = $126;
$127 = HEAP8[$42>>0]|0;
$128 = HEAP8[$43>>0]|0;
$129 = $128 ^ $127;
HEAP8[$42>>0] = $129;
$130 = HEAP8[$44>>0]|0;
$131 = HEAP8[$45>>0]|0;
$132 = $131 ^ $130;
HEAP8[$44>>0] = $132;
$133 = HEAP8[$46>>0]|0;
$134 = HEAP8[$47>>0]|0;
$135 = $134 ^ $133;
HEAP8[$46>>0] = $135;
$136 = HEAP8[$48>>0]|0;
$137 = HEAP8[$49>>0]|0;
$138 = $137 ^ $136;
HEAP8[$48>>0] = $138;
$139 = HEAP8[$50>>0]|0;
$140 = HEAP8[$51>>0]|0;
$141 = $140 ^ $139;
HEAP8[$50>>0] = $141;
$142 = HEAP8[$52>>0]|0;
$143 = HEAP8[$53>>0]|0;
$144 = $143 ^ $142;
HEAP8[$52>>0] = $144;
$145 = HEAP8[$54>>0]|0;
$146 = HEAP8[$55>>0]|0;
$147 = $146 ^ $145;
HEAP8[$54>>0] = $147;
$148 = HEAP8[$56>>0]|0;
$149 = HEAP8[$57>>0]|0;
$150 = $149 ^ $148;
HEAP8[$56>>0] = $150;
$151 = HEAP8[$58>>0]|0;
$152 = HEAP8[$59>>0]|0;
$153 = $152 ^ $151;
HEAP8[$58>>0] = $153;
}
$154 = (FUNCTION_TABLE_iiii[$8 & 127]($29,$16,$16)|0);
$155 = ($$0121>>>0)>($154>>>0);
$156 = $155 ? $$0121 : $154;
$$1122 = $156;
}
$157 = HEAP32[$22>>2]|0;
$158 = ($157|0)==(0|0);
if ($158) {
$171 = ($$2110>>>0)>(15);
if ($171) {
$172 = (($$2110) + -16)|0;
$173 = $172 & -16;
$scevgep182 = ((($$2)) + 16|0);
$$2123160 = $$1122;$$3111161 = $$2110;$$3162 = $$2;
while(1) {
$174 = $$3162;
$175 = $174 | $17;
$176 = $175 & 3;
$177 = ($176|0)==(0);
if ($177) {
$178 = HEAP32[$16>>2]|0;
$179 = ((($$3162)) + 4|0);
$180 = HEAP32[$$3162>>2]|0;
$181 = $180 ^ $178;
HEAP32[$16>>2] = $181;
$182 = HEAP32[$23>>2]|0;
$183 = ((($$3162)) + 8|0);
$184 = HEAP32[$179>>2]|0;
$185 = $184 ^ $182;
HEAP32[$23>>2] = $185;
$186 = HEAP32[$25>>2]|0;
$187 = ((($$3162)) + 12|0);
$188 = HEAP32[$183>>2]|0;
$189 = $188 ^ $186;
HEAP32[$25>>2] = $189;
$190 = HEAP32[$27>>2]|0;
$191 = HEAP32[$187>>2]|0;
$192 = $191 ^ $190;
HEAP32[$27>>2] = $192;
} else {
$193 = HEAP8[$16>>0]|0;
$194 = ((($$3162)) + 1|0);
$195 = HEAP8[$$3162>>0]|0;
$196 = $195 ^ $193;
HEAP8[$16>>0] = $196;
$197 = HEAP8[$61>>0]|0;
$198 = ((($$3162)) + 2|0);
$199 = HEAP8[$194>>0]|0;
$200 = $199 ^ $197;
HEAP8[$61>>0] = $200;
$201 = HEAP8[$62>>0]|0;
$202 = ((($$3162)) + 3|0);
$203 = HEAP8[$198>>0]|0;
$204 = $203 ^ $201;
HEAP8[$62>>0] = $204;
$205 = HEAP8[$63>>0]|0;
$206 = ((($$3162)) + 4|0);
$207 = HEAP8[$202>>0]|0;
$208 = $207 ^ $205;
HEAP8[$63>>0] = $208;
$209 = HEAP8[$64>>0]|0;
$210 = ((($$3162)) + 5|0);
$211 = HEAP8[$206>>0]|0;
$212 = $211 ^ $209;
HEAP8[$64>>0] = $212;
$213 = HEAP8[$65>>0]|0;
$214 = ((($$3162)) + 6|0);
$215 = HEAP8[$210>>0]|0;
$216 = $215 ^ $213;
HEAP8[$65>>0] = $216;
$217 = HEAP8[$66>>0]|0;
$218 = ((($$3162)) + 7|0);
$219 = HEAP8[$214>>0]|0;
$220 = $219 ^ $217;
HEAP8[$66>>0] = $220;
$221 = HEAP8[$67>>0]|0;
$222 = ((($$3162)) + 8|0);
$223 = HEAP8[$218>>0]|0;
$224 = $223 ^ $221;
HEAP8[$67>>0] = $224;
$225 = HEAP8[$68>>0]|0;
$226 = ((($$3162)) + 9|0);
$227 = HEAP8[$222>>0]|0;
$228 = $227 ^ $225;
HEAP8[$68>>0] = $228;
$229 = HEAP8[$69>>0]|0;
$230 = ((($$3162)) + 10|0);
$231 = HEAP8[$226>>0]|0;
$232 = $231 ^ $229;
HEAP8[$69>>0] = $232;
$233 = HEAP8[$70>>0]|0;
$234 = ((($$3162)) + 11|0);
$235 = HEAP8[$230>>0]|0;
$236 = $235 ^ $233;
HEAP8[$70>>0] = $236;
$237 = HEAP8[$71>>0]|0;
$238 = ((($$3162)) + 12|0);
$239 = HEAP8[$234>>0]|0;
$240 = $239 ^ $237;
HEAP8[$71>>0] = $240;
$241 = HEAP8[$72>>0]|0;
$242 = ((($$3162)) + 13|0);
$243 = HEAP8[$238>>0]|0;
$244 = $243 ^ $241;
HEAP8[$72>>0] = $244;
$245 = HEAP8[$73>>0]|0;
$246 = ((($$3162)) + 14|0);
$247 = HEAP8[$242>>0]|0;
$248 = $247 ^ $245;
HEAP8[$73>>0] = $248;
$249 = HEAP8[$74>>0]|0;
$250 = ((($$3162)) + 15|0);
$251 = HEAP8[$246>>0]|0;
$252 = $251 ^ $249;
HEAP8[$74>>0] = $252;
$253 = HEAP8[$75>>0]|0;
$254 = HEAP8[$250>>0]|0;
$255 = $254 ^ $253;
HEAP8[$75>>0] = $255;
}
$256 = (FUNCTION_TABLE_iiii[$8 & 127]($29,$16,$16)|0);
$257 = ($$2123160>>>0)>($256>>>0);
$258 = $257 ? $$2123160 : $256;
$259 = (($$3111161) + -16)|0;
$260 = ((($$3162)) + 16|0);
$261 = ($259>>>0)>(15);
if ($261) {
$$2123160 = $258;$$3111161 = $259;$$3162 = $260;
} else {
break;
}
}
$262 = (($172) - ($173))|0;
$scevgep183 = (($scevgep182) + ($173)|0);
$$3124 = $258;$$4 = $scevgep183;$$4112 = $262;
} else {
$$3124 = $$1122;$$4 = $$2;$$4112 = $$2110;
}
} else {
$159 = $$2110 >>> 4;
FUNCTION_TABLE_viiiiii[$157 & 63]($29,$16,$4,$$2,$159,1);
$160 = $$2110 & -16;
$161 = (($$2) + ($160)|0);
$162 = (($$2110) - ($160))|0;
$163 = $4;
$164 = $163;
HEAP32[$164>>2] = 0;
$165 = (($163) + 4)|0;
$166 = $165;
HEAP32[$166>>2] = 0;
$167 = $60;
$168 = $167;
HEAP32[$168>>2] = 0;
$169 = (($167) + 4)|0;
$170 = $169;
HEAP32[$170>>2] = 0;
$$3124 = $$1122;$$4 = $161;$$4112 = $162;
}
$263 = ($$4112|0)==(0);
if ($263) {
$$4125 = $$3124;$$6 = 0;
break;
} else {
$$0107 = $$4;$$0108 = $$4112;$$0121 = $$3124;$$0127 = 0;
}
}
HEAP32[$9>>2] = $$6;
$264 = ($$4125|0)==(0);
$265 = (($$4125) + 16)|0;
$spec$select = $264 ? 0 : $265;
$$0 = $spec$select;
STACKTOP = sp;return ($$0|0);
}
function __gcry_cipher_ccm_encrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ($2>>>0)<($4>>>0);
if ($5) {
$$0 = 200;
return ($$0|0);
}
$6 = ((($0)) + 184|0);
$7 = HEAP8[$6>>0]|0;
$8 = $7 & 1;
$9 = ($8<<24>>24)==(0);
if ($9) {
$$0 = 156;
return ($$0|0);
}
$10 = ((($0)) + 56|0);
$11 = HEAP8[$10>>0]|0;
$12 = $11 & 4;
$13 = ($12<<24>>24)!=(0);
$14 = $7 & 2;
$15 = ($14<<24>>24)==(0);
$or$cond = $15 | $13;
if ($or$cond) {
$$0 = 156;
return ($$0|0);
}
$16 = ((($0)) + 136|0);
$17 = $16;
$18 = $17;
$19 = HEAP32[$18>>2]|0;
$20 = (($17) + 4)|0;
$21 = $20;
$22 = HEAP32[$21>>2]|0;
$23 = ($19|0)==(0);
$24 = ($22|0)==(0);
$25 = $23 & $24;
if (!($25)) {
$$0 = 156;
return ($$0|0);
}
$26 = ((($0)) + 128|0);
$27 = $26;
$28 = $27;
$29 = HEAP32[$28>>2]|0;
$30 = (($27) + 4)|0;
$31 = $30;
$32 = HEAP32[$31>>2]|0;
$33 = ($32>>>0)<(0);
$34 = ($29>>>0)<($4>>>0);
$35 = ($32|0)==(0);
$36 = $35 & $34;
$37 = $33 | $36;
if ($37) {
$$0 = 139;
return ($$0|0);
}
$38 = (_i64Subtract(($29|0),($32|0),($4|0),0)|0);
$39 = tempRet0;
$40 = $26;
$41 = $40;
HEAP32[$41>>2] = $38;
$42 = (($40) + 4)|0;
$43 = $42;
HEAP32[$43>>2] = $39;
$44 = (_do_cbc_mac($0,$3,$4,0)|0);
$45 = ($44|0)==(0);
if (!($45)) {
$46 = (($44) + 20)|0;
___gcry_burn_stack($46);
}
$47 = (__gcry_cipher_ctr_encrypt($0,$1,$2,$3,$4)|0);
$$0 = $47;
return ($$0|0);
}
function __gcry_cipher_ccm_decrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ($2>>>0)<($4>>>0);
if ($5) {
$$0 = 200;
return ($$0|0);
}
$6 = ((($0)) + 184|0);
$7 = HEAP8[$6>>0]|0;
$8 = $7 & 1;
$9 = ($8<<24>>24)==(0);
if ($9) {
$$0 = 156;
return ($$0|0);
}
$10 = ((($0)) + 56|0);
$11 = HEAP8[$10>>0]|0;
$12 = $11 & 4;
$13 = ($12<<24>>24)!=(0);
$14 = $7 & 2;
$15 = ($14<<24>>24)==(0);
$or$cond = $15 | $13;
if ($or$cond) {
$$0 = 156;
return ($$0|0);
}
$16 = ((($0)) + 136|0);
$17 = $16;
$18 = $17;
$19 = HEAP32[$18>>2]|0;
$20 = (($17) + 4)|0;
$21 = $20;
$22 = HEAP32[$21>>2]|0;
$23 = ($19|0)==(0);
$24 = ($22|0)==(0);
$25 = $23 & $24;
if (!($25)) {
$$0 = 156;
return ($$0|0);
}
$26 = ((($0)) + 128|0);
$27 = $26;
$28 = $27;
$29 = HEAP32[$28>>2]|0;
$30 = (($27) + 4)|0;
$31 = $30;
$32 = HEAP32[$31>>2]|0;
$33 = ($32>>>0)<(0);
$34 = ($29>>>0)<($4>>>0);
$35 = ($32|0)==(0);
$36 = $35 & $34;
$37 = $33 | $36;
if ($37) {
$$0 = 139;
return ($$0|0);
}
$38 = (__gcry_cipher_ctr_encrypt($0,$1,$2,$3,$4)|0);
$39 = ($38|0)==(0);
if (!($39)) {
$$0 = $38;
return ($$0|0);
}
$40 = $26;
$41 = $40;
$42 = HEAP32[$41>>2]|0;
$43 = (($40) + 4)|0;
$44 = $43;
$45 = HEAP32[$44>>2]|0;
$46 = (_i64Subtract(($42|0),($45|0),($4|0),0)|0);
$47 = tempRet0;
$48 = $26;
$49 = $48;
HEAP32[$49>>2] = $46;
$50 = (($48) + 4)|0;
$51 = $50;
HEAP32[$51>>2] = $47;
$52 = (_do_cbc_mac($0,$1,$4,0)|0);
$53 = ($52|0)==(0);
if ($53) {
$$0 = 0;
return ($$0|0);
}
$54 = (($52) + 20)|0;
___gcry_burn_stack($54);
$$0 = 0;
return ($$0|0);
}
function __gcry_cipher_cfb_encrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$0134259 = 0, $$0134259$us = 0, $$0135 = 0, $$0139 = 0, $$0143 = 0, $$02434$i = 0, $$02434$i240 = 0, $$02533$i = 0, $$02533$i241 = 0, $$026$i = 0, $$026$i244 = 0, $$028$i = 0, $$028$i243 = 0, $$03449$i = 0, $$03449$i153 = 0, $$03449$i174 = 0, $$03449$i199 = 0, $$03449$i220$us = 0, $$035$i = 0;
var $$035$i239 = 0, $$03548$i = 0, $$03548$i154 = 0, $$03548$i175 = 0, $$03548$i200 = 0, $$03548$i221$us = 0, $$03647$i = 0, $$03647$i155 = 0, $$03647$i176 = 0, $$03647$i201 = 0, $$03647$i222$us = 0, $$037$i = 0, $$037$i159 = 0, $$037$i205 = 0, $$037$i226$us = 0, $$039$i = 0, $$039$i158 = 0, $$039$i204 = 0, $$039$i225$us = 0, $$041$i = 0;
var $$041$i157 = 0, $$041$i203 = 0, $$041$i224$us = 0, $$050$i = 0, $$050$i152 = 0, $$050$i173 = 0, $$050$i198 = 0, $$050$i219$us = 0, $$1 = 0, $$1$i = 0, $$1$i160 = 0, $$1$i191 = 0, $$1$i206 = 0, $$1$i227$us = 0, $$1$i245 = 0, $$1136258 = 0, $$1136258$us = 0, $$1140257 = 0, $$1140257$us = 0, $$1144256 = 0;
var $$1144256$us = 0, $$12731$i = 0, $$12731$i249 = 0, $$12930$i = 0, $$12930$i250 = 0, $$13845$i = 0, $$13845$i164 = 0, $$13845$i185 = 0, $$13845$i185$ph = 0, $$13845$i210 = 0, $$13845$i231 = 0, $$13845$i231$us = 0, $$14044$i = 0, $$14044$i165 = 0, $$14044$i186 = 0, $$14044$i186$ph = 0, $$14044$i211 = 0, $$14044$i232 = 0, $$14044$i232$us = 0, $$14243$i = 0;
var $$14243$i166 = 0, $$14243$i187 = 0, $$14243$i187$ph = 0, $$14243$i212 = 0, $$14243$i233 = 0, $$14243$i233$us = 0, $$2 = 0, $$2137 = 0, $$2141 = 0, $$2145 = 0, $$232$i = 0, $$232$i248 = 0, $$246$i = 0, $$246$i163 = 0, $$246$i184 = 0, $$246$i184$ph = 0, $$246$i209 = 0, $$246$i230 = 0, $$246$i230$us = 0, $$3 = 0;
var $$3138 = 0, $$3142 = 0, $$3146 = 0, $$pre = 0, $$pre271 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0;
var $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0;
var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0;
var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond$i = 0, $or$cond$i147 = 0, $or$cond$i168 = 0, $or$cond$i189 = 0, $or$cond$i193 = 0, $or$cond$i235 = 0, $scevgep$i = 0, $scevgep$i148 = 0, $scevgep$i169 = 0;
var $scevgep$i190 = 0, $scevgep$i194 = 0, $scevgep$i215$us = 0, $scevgep$i236 = 0, $scevgep44$i = 0, $scevgep44$i237 = 0, $scevgep61$i = 0, $scevgep61$i149 = 0, $scevgep61$i170 = 0, $scevgep61$i195 = 0, $scevgep61$i216 = 0, $scevgep63$i = 0, $scevgep63$i150 = 0, $scevgep63$i171 = 0, $scevgep63$i196 = 0, $scevgep63$i217$us = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($0)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($6)) + 36|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($6)) + 20|0);
$10 = HEAP32[$9>>2]|0;
$11 = $10 << 1;
$12 = ($2>>>0)<($4>>>0);
if ($12) {
$$0 = 200;
return ($$0|0);
}
$13 = ((($0)) + 112|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14>>>0)<($4>>>0);
if (!($15)) {
$16 = ((($0)) + 64|0);
$17 = (($16) + ($10)|0);
$18 = (0 - ($14))|0;
$19 = (($17) + ($18)|0);
$20 = $3;
$21 = $1;
$22 = $19;
$23 = $20 | $21;
$24 = $23 | $22;
$25 = $24 & 3;
$26 = ($25|0)==(0);
$27 = ($4>>>0)>(3);
$or$cond$i = $27 & $26;
if ($or$cond$i) {
$28 = (($4) + -4)|0;
$29 = $28 & -4;
$30 = (($29) + 4)|0;
$scevgep61$i = (($19) + ($30)|0);
$$03449$i = $3;$$03548$i = $19;$$03647$i = $1;$$050$i = $4;
while(1) {
$31 = ((($$03449$i)) + 4|0);
$32 = HEAP32[$$03449$i>>2]|0;
$33 = ((($$03548$i)) + 4|0);
$34 = HEAP32[$$03548$i>>2]|0;
$35 = $34 ^ $32;
HEAP32[$$03548$i>>2] = $35;
$36 = ((($$03647$i)) + 4|0);
HEAP32[$$03647$i>>2] = $35;
$37 = (($$050$i) + -4)|0;
$38 = ($37>>>0)>(3);
if ($38) {
$$03449$i = $31;$$03548$i = $33;$$03647$i = $36;$$050$i = $37;
} else {
break;
}
}
$scevgep$i = (($3) + ($30)|0);
$scevgep63$i = (($1) + ($30)|0);
$39 = (($28) - ($29))|0;
$$037$i = $scevgep$i;$$039$i = $scevgep61$i;$$041$i = $scevgep63$i;$$1$i = $39;
} else {
$$037$i = $3;$$039$i = $19;$$041$i = $1;$$1$i = $4;
}
$40 = ($$1$i|0)==(0);
if ($40) {
$50 = $14;
} else {
$$13845$i = $$037$i;$$14044$i = $$039$i;$$14243$i = $$041$i;$$246$i = $$1$i;
while(1) {
$41 = ((($$13845$i)) + 1|0);
$42 = HEAP8[$$13845$i>>0]|0;
$43 = ((($$14044$i)) + 1|0);
$44 = HEAP8[$$14044$i>>0]|0;
$45 = $44 ^ $42;
HEAP8[$$14044$i>>0] = $45;
$46 = ((($$14243$i)) + 1|0);
HEAP8[$$14243$i>>0] = $45;
$47 = (($$246$i) + -1)|0;
$48 = ($47|0)==(0);
if ($48) {
break;
} else {
$$13845$i = $41;$$14044$i = $43;$$14243$i = $46;$$246$i = $47;
}
}
$$pre = HEAP32[$13>>2]|0;
$50 = $$pre;
}
$49 = (($50) - ($4))|0;
HEAP32[$13>>2] = $49;
$$0 = 0;
return ($$0|0);
}
$51 = ($14|0)==(0);
if ($51) {
$$0135 = $1;$$0139 = $3;$$0143 = $4;
} else {
$52 = (($4) - ($14))|0;
$53 = ((($0)) + 64|0);
$54 = (($53) + ($10)|0);
$55 = (0 - ($14))|0;
$56 = (($54) + ($55)|0);
$57 = $3;
$58 = $1;
$59 = $56;
$60 = $57 | $58;
$61 = $60 | $59;
$62 = $61 & 3;
$63 = ($62|0)==(0);
$64 = ($14>>>0)>(3);
$or$cond$i168 = $64 & $63;
if ($or$cond$i168) {
$65 = (($14) + -4)|0;
$66 = $65 & -4;
$67 = (($66) + 4)|0;
$scevgep61$i170 = (($56) + ($67)|0);
$$03449$i174 = $3;$$03548$i175 = $56;$$03647$i176 = $1;$$050$i173 = $14;
while(1) {
$68 = ((($$03449$i174)) + 4|0);
$69 = HEAP32[$$03449$i174>>2]|0;
$70 = ((($$03548$i175)) + 4|0);
$71 = HEAP32[$$03548$i175>>2]|0;
$72 = $71 ^ $69;
HEAP32[$$03548$i175>>2] = $72;
$73 = ((($$03647$i176)) + 4|0);
HEAP32[$$03647$i176>>2] = $72;
$74 = (($$050$i173) + -4)|0;
$75 = ($74>>>0)>(3);
if ($75) {
$$03449$i174 = $68;$$03548$i175 = $70;$$03647$i176 = $73;$$050$i173 = $74;
} else {
break;
}
}
$scevgep$i169 = (($3) + ($67)|0);
$scevgep63$i171 = (($1) + ($67)|0);
$76 = (($65) - ($66))|0;
$77 = ($76|0)==(0);
if ($77) {
$87 = $14;
} else {
$$13845$i185$ph = $scevgep$i169;$$14044$i186$ph = $scevgep61$i170;$$14243$i187$ph = $scevgep63$i171;$$246$i184$ph = $76;
label = 17;
}
} else {
$$13845$i185$ph = $3;$$14044$i186$ph = $56;$$14243$i187$ph = $1;$$246$i184$ph = $14;
label = 17;
}
if ((label|0) == 17) {
$$13845$i185 = $$13845$i185$ph;$$14044$i186 = $$14044$i186$ph;$$14243$i187 = $$14243$i187$ph;$$246$i184 = $$246$i184$ph;
while(1) {
$78 = ((($$13845$i185)) + 1|0);
$79 = HEAP8[$$13845$i185>>0]|0;
$80 = ((($$14044$i186)) + 1|0);
$81 = HEAP8[$$14044$i186>>0]|0;
$82 = $81 ^ $79;
HEAP8[$$14044$i186>>0] = $82;
$83 = ((($$14243$i187)) + 1|0);
HEAP8[$$14243$i187>>0] = $82;
$84 = (($$246$i184) + -1)|0;
$85 = ($84|0)==(0);
if ($85) {
break;
} else {
$$13845$i185 = $78;$$14044$i186 = $80;$$14243$i187 = $83;$$246$i184 = $84;
}
}
$$pre271 = HEAP32[$13>>2]|0;
$87 = $$pre271;
}
$86 = (($1) + ($87)|0);
$88 = (($3) + ($87)|0);
HEAP32[$13>>2] = 0;
$$0135 = $86;$$0139 = $88;$$0143 = $52;
}
$89 = ($$0143>>>0)<($11>>>0);
L34: do {
if ($89) {
$$1 = 0;$$2137 = $$0135;$$2141 = $$0139;$$2145 = $$0143;
} else {
$90 = ((($0)) + 20|0);
$91 = HEAP32[$90>>2]|0;
$92 = ($91|0)==(0|0);
if (!($92)) {
$93 = (($$0143>>>0) / ($10>>>0))&-1;
$94 = ((($0)) + 496|0);
$95 = ((($0)) + 64|0);
FUNCTION_TABLE_viiiii[$91 & 127]($94,$95,$$0135,$$0139,$93);
$96 = Math_imul($93, $10)|0;
$97 = (($$0135) + ($96)|0);
$98 = (($$0139) + ($96)|0);
$99 = (($$0143) - ($96))|0;
$$1 = 0;$$2137 = $97;$$2141 = $98;$$2145 = $99;
break;
}
$100 = ((($0)) + 496|0);
$101 = ((($0)) + 64|0);
$102 = $101;
$103 = ($10>>>0)>(3);
$104 = (($10) + -4)|0;
$105 = $104 & -4;
$106 = (($105) + 4)|0;
$scevgep61$i216 = (($101) + ($106)|0);
$107 = (($104) - ($105))|0;
if (!($103)) {
$138 = ($10|0)==(0);
$$0134259 = 0;$$1136258 = $$0135;$$1140257 = $$0139;$$1144256 = $$0143;
while(1) {
$139 = (FUNCTION_TABLE_iiii[$8 & 127]($100,$101,$101)|0);
$140 = ($139>>>0)>($$0134259>>>0);
$141 = $140 ? $139 : $$0134259;
if (!($138)) {
$$13845$i231 = $$1140257;$$14044$i232 = $101;$$14243$i233 = $$1136258;$$246$i230 = $10;
while(1) {
$142 = ((($$13845$i231)) + 1|0);
$143 = HEAP8[$$13845$i231>>0]|0;
$144 = ((($$14044$i232)) + 1|0);
$145 = HEAP8[$$14044$i232>>0]|0;
$146 = $145 ^ $143;
HEAP8[$$14044$i232>>0] = $146;
$147 = ((($$14243$i233)) + 1|0);
HEAP8[$$14243$i233>>0] = $146;
$148 = (($$246$i230) + -1)|0;
$149 = ($148|0)==(0);
if ($149) {
break;
} else {
$$13845$i231 = $142;$$14044$i232 = $144;$$14243$i233 = $147;$$246$i230 = $148;
}
}
}
$150 = (($$1136258) + ($10)|0);
$151 = (($$1140257) + ($10)|0);
$152 = (($$1144256) - ($10))|0;
$153 = ($152>>>0)<($11>>>0);
if ($153) {
$$1 = $141;$$2137 = $150;$$2141 = $151;$$2145 = $152;
break L34;
} else {
$$0134259 = $141;$$1136258 = $150;$$1140257 = $151;$$1144256 = $152;
}
}
}
$$0134259$us = 0;$$1136258$us = $$0135;$$1140257$us = $$0139;$$1144256$us = $$0143;
while(1) {
$108 = (FUNCTION_TABLE_iiii[$8 & 127]($100,$101,$101)|0);
$109 = ($108>>>0)>($$0134259$us>>>0);
$110 = $109 ? $108 : $$0134259$us;
$111 = $$1140257$us;
$112 = $$1136258$us;
$113 = $111 | $102;
$114 = $113 | $112;
$115 = $114 & 3;
$116 = ($115|0)==(0);
if ($116) {
$scevgep$i215$us = (($$1140257$us) + ($106)|0);
$$03449$i220$us = $$1140257$us;$$03548$i221$us = $101;$$03647$i222$us = $$1136258$us;$$050$i219$us = $10;
while(1) {
$117 = ((($$03449$i220$us)) + 4|0);
$118 = HEAP32[$$03449$i220$us>>2]|0;
$119 = ((($$03548$i221$us)) + 4|0);
$120 = HEAP32[$$03548$i221$us>>2]|0;
$121 = $120 ^ $118;
HEAP32[$$03548$i221$us>>2] = $121;
$122 = ((($$03647$i222$us)) + 4|0);
HEAP32[$$03647$i222$us>>2] = $121;
$123 = (($$050$i219$us) + -4)|0;
$124 = ($123>>>0)>(3);
if ($124) {
$$03449$i220$us = $117;$$03548$i221$us = $119;$$03647$i222$us = $122;$$050$i219$us = $123;
} else {
break;
}
}
$scevgep63$i217$us = (($$1136258$us) + ($106)|0);
$$037$i226$us = $scevgep$i215$us;$$039$i225$us = $scevgep61$i216;$$041$i224$us = $scevgep63$i217$us;$$1$i227$us = $107;
} else {
$$037$i226$us = $$1140257$us;$$039$i225$us = $101;$$041$i224$us = $$1136258$us;$$1$i227$us = $10;
}
$125 = ($$1$i227$us|0)==(0);
if (!($125)) {
$$13845$i231$us = $$037$i226$us;$$14044$i232$us = $$039$i225$us;$$14243$i233$us = $$041$i224$us;$$246$i230$us = $$1$i227$us;
while(1) {
$126 = ((($$13845$i231$us)) + 1|0);
$127 = HEAP8[$$13845$i231$us>>0]|0;
$128 = ((($$14044$i232$us)) + 1|0);
$129 = HEAP8[$$14044$i232$us>>0]|0;
$130 = $129 ^ $127;
HEAP8[$$14044$i232$us>>0] = $130;
$131 = ((($$14243$i233$us)) + 1|0);
HEAP8[$$14243$i233$us>>0] = $130;
$132 = (($$246$i230$us) + -1)|0;
$133 = ($132|0)==(0);
if ($133) {
break;
} else {
$$13845$i231$us = $126;$$14044$i232$us = $128;$$14243$i233$us = $131;$$246$i230$us = $132;
}
}
}
$134 = (($$1136258$us) + ($10)|0);
$135 = (($$1140257$us) + ($10)|0);
$136 = (($$1144256$us) - ($10))|0;
$137 = ($136>>>0)<($11>>>0);
if ($137) {
$$1 = $110;$$2137 = $134;$$2141 = $135;$$2145 = $136;
break;
} else {
$$0134259$us = $110;$$1136258$us = $134;$$1140257$us = $135;$$1144256$us = $136;
}
}
}
} while(0);
$154 = ($$2145>>>0)<($10>>>0);
if ($154) {
$$2 = $$1;$$3138 = $$2137;$$3142 = $$2141;$$3146 = $$2145;
} else {
$155 = ((($0)) + 96|0);
$156 = ((($0)) + 64|0);
$157 = $155;
$158 = $156;
$159 = $158 | $157;
$160 = $159 & 3;
$161 = ($160|0)==(0);
$162 = ($10>>>0)>(3);
$or$cond$i235 = $161 & $162;
if ($or$cond$i235) {
$163 = (($10) + -4)|0;
$164 = $163 & -4;
$165 = (($164) + 4)|0;
$scevgep$i236 = (($156) + ($165)|0);
$$02434$i240 = $156;$$02533$i241 = $155;$$035$i239 = $10;
while(1) {
$166 = ((($$02434$i240)) + 4|0);
$167 = HEAP32[$$02434$i240>>2]|0;
$168 = ((($$02533$i241)) + 4|0);
HEAP32[$$02533$i241>>2] = $167;
$169 = (($$035$i239) + -4)|0;
$170 = ($169>>>0)>(3);
if ($170) {
$$02434$i240 = $166;$$02533$i241 = $168;$$035$i239 = $169;
} else {
break;
}
}
$scevgep44$i237 = (((($0)) + 96|0) + ($165)|0);
$171 = (($163) - ($164))|0;
$$026$i244 = $scevgep$i236;$$028$i243 = $scevgep44$i237;$$1$i245 = $171;
} else {
$$026$i244 = $156;$$028$i243 = $155;$$1$i245 = $10;
}
$172 = ($$1$i245|0)==(0);
if (!($172)) {
$$12731$i249 = $$026$i244;$$12930$i250 = $$028$i243;$$232$i248 = $$1$i245;
while(1) {
$173 = ((($$12731$i249)) + 1|0);
$174 = HEAP8[$$12731$i249>>0]|0;
$175 = ((($$12930$i250)) + 1|0);
HEAP8[$$12930$i250>>0] = $174;
$176 = (($$232$i248) + -1)|0;
$177 = ($176|0)==(0);
if ($177) {
break;
} else {
$$12731$i249 = $173;$$12930$i250 = $175;$$232$i248 = $176;
}
}
}
$178 = ((($0)) + 496|0);
$179 = (FUNCTION_TABLE_iiii[$8 & 127]($178,$156,$156)|0);
$180 = ($179>>>0)>($$1>>>0);
$181 = $180 ? $179 : $$1;
$182 = $$2141;
$183 = $$2137;
$184 = $182 | $158;
$185 = $184 | $183;
$186 = $185 & 3;
$187 = ($186|0)==(0);
$or$cond$i193 = $162 & $187;
if ($or$cond$i193) {
$188 = (($10) + -4)|0;
$189 = $188 & -4;
$190 = (($189) + 4)|0;
$scevgep61$i195 = (($156) + ($190)|0);
$$03449$i199 = $$2141;$$03548$i200 = $156;$$03647$i201 = $$2137;$$050$i198 = $10;
while(1) {
$191 = ((($$03449$i199)) + 4|0);
$192 = HEAP32[$$03449$i199>>2]|0;
$193 = ((($$03548$i200)) + 4|0);
$194 = HEAP32[$$03548$i200>>2]|0;
$195 = $194 ^ $192;
HEAP32[$$03548$i200>>2] = $195;
$196 = ((($$03647$i201)) + 4|0);
HEAP32[$$03647$i201>>2] = $195;
$197 = (($$050$i198) + -4)|0;
$198 = ($197>>>0)>(3);
if ($198) {
$$03449$i199 = $191;$$03548$i200 = $193;$$03647$i201 = $196;$$050$i198 = $197;
} else {
break;
}
}
$scevgep$i194 = (($$2141) + ($190)|0);
$scevgep63$i196 = (($$2137) + ($190)|0);
$199 = (($188) - ($189))|0;
$$037$i205 = $scevgep$i194;$$039$i204 = $scevgep61$i195;$$041$i203 = $scevgep63$i196;$$1$i206 = $199;
} else {
$$037$i205 = $$2141;$$039$i204 = $156;$$041$i203 = $$2137;$$1$i206 = $10;
}
$200 = ($$1$i206|0)==(0);
if (!($200)) {
$$13845$i210 = $$037$i205;$$14044$i211 = $$039$i204;$$14243$i212 = $$041$i203;$$246$i209 = $$1$i206;
while(1) {
$201 = ((($$13845$i210)) + 1|0);
$202 = HEAP8[$$13845$i210>>0]|0;
$203 = ((($$14044$i211)) + 1|0);
$204 = HEAP8[$$14044$i211>>0]|0;
$205 = $204 ^ $202;
HEAP8[$$14044$i211>>0] = $205;
$206 = ((($$14243$i212)) + 1|0);
HEAP8[$$14243$i212>>0] = $205;
$207 = (($$246$i209) + -1)|0;
$208 = ($207|0)==(0);
if ($208) {
break;
} else {
$$13845$i210 = $201;$$14044$i211 = $203;$$14243$i212 = $206;$$246$i209 = $207;
}
}
}
$209 = (($$2137) + ($10)|0);
$210 = (($$2141) + ($10)|0);
$211 = (($$2145) - ($10))|0;
$$2 = $181;$$3138 = $209;$$3142 = $210;$$3146 = $211;
}
$212 = ($$3146|0)==(0);
if ($212) {
$$3 = $$2;
} else {
$213 = ((($0)) + 96|0);
$214 = ((($0)) + 64|0);
$215 = $213;
$216 = $214;
$217 = $216 | $215;
$218 = $217 & 3;
$219 = ($218|0)==(0);
$220 = ($10>>>0)>(3);
$or$cond$i189 = $219 & $220;
if ($or$cond$i189) {
$221 = (($10) + -4)|0;
$222 = $221 & -4;
$223 = (($222) + 4)|0;
$scevgep$i190 = (($214) + ($223)|0);
$$02434$i = $214;$$02533$i = $213;$$035$i = $10;
while(1) {
$224 = ((($$02434$i)) + 4|0);
$225 = HEAP32[$$02434$i>>2]|0;
$226 = ((($$02533$i)) + 4|0);
HEAP32[$$02533$i>>2] = $225;
$227 = (($$035$i) + -4)|0;
$228 = ($227>>>0)>(3);
if ($228) {
$$02434$i = $224;$$02533$i = $226;$$035$i = $227;
} else {
break;
}
}
$scevgep44$i = (((($0)) + 96|0) + ($223)|0);
$229 = (($221) - ($222))|0;
$$026$i = $scevgep$i190;$$028$i = $scevgep44$i;$$1$i191 = $229;
} else {
$$026$i = $214;$$028$i = $213;$$1$i191 = $10;
}
$230 = ($$1$i191|0)==(0);
if (!($230)) {
$$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i191;
while(1) {
$231 = ((($$12731$i)) + 1|0);
$232 = HEAP8[$$12731$i>>0]|0;
$233 = ((($$12930$i)) + 1|0);
HEAP8[$$12930$i>>0] = $232;
$234 = (($$232$i) + -1)|0;
$235 = ($234|0)==(0);
if ($235) {
break;
} else {
$$12731$i = $231;$$12930$i = $233;$$232$i = $234;
}
}
}
$236 = ((($0)) + 496|0);
$237 = (FUNCTION_TABLE_iiii[$8 & 127]($236,$214,$214)|0);
$238 = ($237>>>0)>($$2>>>0);
$239 = $238 ? $237 : $$2;
$240 = (($10) - ($$3146))|0;
HEAP32[$13>>2] = $240;
$241 = $$3142;
$242 = $$3138;
$243 = $241 | $216;
$244 = $243 | $242;
$245 = $244 & 3;
$246 = ($245|0)==(0);
$247 = ($$3146>>>0)>(3);
$or$cond$i147 = $247 & $246;
if ($or$cond$i147) {
$248 = (($$3146) + -4)|0;
$249 = $248 & -4;
$250 = (($249) + 4)|0;
$scevgep61$i149 = (($214) + ($250)|0);
$$03449$i153 = $$3142;$$03548$i154 = $214;$$03647$i155 = $$3138;$$050$i152 = $$3146;
while(1) {
$251 = ((($$03449$i153)) + 4|0);
$252 = HEAP32[$$03449$i153>>2]|0;
$253 = ((($$03548$i154)) + 4|0);
$254 = HEAP32[$$03548$i154>>2]|0;
$255 = $254 ^ $252;
HEAP32[$$03548$i154>>2] = $255;
$256 = ((($$03647$i155)) + 4|0);
HEAP32[$$03647$i155>>2] = $255;
$257 = (($$050$i152) + -4)|0;
$258 = ($257>>>0)>(3);
if ($258) {
$$03449$i153 = $251;$$03548$i154 = $253;$$03647$i155 = $256;$$050$i152 = $257;
} else {
break;
}
}
$scevgep$i148 = (($$3142) + ($250)|0);
$scevgep63$i150 = (($$3138) + ($250)|0);
$259 = (($248) - ($249))|0;
$$037$i159 = $scevgep$i148;$$039$i158 = $scevgep61$i149;$$041$i157 = $scevgep63$i150;$$1$i160 = $259;
} else {
$$037$i159 = $$3142;$$039$i158 = $214;$$041$i157 = $$3138;$$1$i160 = $$3146;
}
$260 = ($$1$i160|0)==(0);
if ($260) {
$$3 = $239;
} else {
$$13845$i164 = $$037$i159;$$14044$i165 = $$039$i158;$$14243$i166 = $$041$i157;$$246$i163 = $$1$i160;
while(1) {
$261 = ((($$13845$i164)) + 1|0);
$262 = HEAP8[$$13845$i164>>0]|0;
$263 = ((($$14044$i165)) + 1|0);
$264 = HEAP8[$$14044$i165>>0]|0;
$265 = $264 ^ $262;
HEAP8[$$14044$i165>>0] = $265;
$266 = ((($$14243$i166)) + 1|0);
HEAP8[$$14243$i166>>0] = $265;
$267 = (($$246$i163) + -1)|0;
$268 = ($267|0)==(0);
if ($268) {
$$3 = $239;
break;
} else {
$$13845$i164 = $261;$$14044$i165 = $263;$$14243$i166 = $266;$$246$i163 = $267;
}
}
}
}
$269 = ($$3|0)==(0);
if ($269) {
$$0 = 0;
return ($$0|0);
}
$270 = (($$3) + 16)|0;
___gcry_burn_stack($270);
$$0 = 0;
return ($$0|0);
}
function __gcry_cipher_cfb_decrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$0134256 = 0, $$0134256$us = 0, $$0135 = 0, $$0139 = 0, $$0143 = 0, $$02434$i = 0, $$02434$i236 = 0, $$02533$i = 0, $$02533$i237 = 0, $$026$i = 0, $$026$i240 = 0, $$028$i = 0, $$028$i239 = 0, $$035$i = 0, $$035$i235 = 0, $$050$i$i = 0, $$050$i$i159 = 0, $$050$i$i201 = 0, $$050$i$i222$us = 0;
var $$05270$i$i = 0, $$05270$i$i151 = 0, $$05270$i$i172 = 0, $$05270$i$i193 = 0, $$05270$i$i214$us = 0, $$05468$i$i = 0, $$05468$i$i152 = 0, $$05468$i$i173 = 0, $$05468$i$i194 = 0, $$05468$i$i215$us = 0, $$05567$i$i = 0, $$05567$i$i153 = 0, $$05567$i$i174 = 0, $$05567$i$i195 = 0, $$05567$i$i216$us = 0, $$056$i$i = 0, $$056$i$i158 = 0, $$056$i$i200 = 0, $$056$i$i221$us = 0, $$060$i$i = 0;
var $$060$i$i157 = 0, $$060$i$i199 = 0, $$060$i$i220$us = 0, $$071$i$i = 0, $$071$i$i150 = 0, $$071$i$i171 = 0, $$071$i$i192 = 0, $$071$i$i213$us = 0, $$1 = 0, $$1$i = 0, $$1$i$i = 0, $$1$i$i160 = 0, $$1$i$i202 = 0, $$1$i$i223$us = 0, $$1$i241 = 0, $$1136255 = 0, $$1136255$us = 0, $$1140253 = 0, $$1140253$us = 0, $$1144252 = 0;
var $$1144252$us = 0, $$12731$i = 0, $$12731$i245 = 0, $$12930$i = 0, $$12930$i246 = 0, $$15165$i$i = 0, $$15165$i$i164 = 0, $$15165$i$i185 = 0, $$15165$i$i185$ph = 0, $$15165$i$i206 = 0, $$15165$i$i227 = 0, $$15165$i$i227$us = 0, $$15764$i$i = 0, $$15764$i$i165 = 0, $$15764$i$i186 = 0, $$15764$i$i186$ph = 0, $$15764$i$i207 = 0, $$15764$i$i228 = 0, $$15764$i$i228$us = 0, $$15963$i$i = 0;
var $$15963$i$i166 = 0, $$15963$i$i187 = 0, $$15963$i$i187$ph = 0, $$15963$i$i208 = 0, $$15963$i$i229 = 0, $$15963$i$i229$us = 0, $$2 = 0, $$2137 = 0, $$2141 = 0, $$2145 = 0, $$232$i = 0, $$232$i244 = 0, $$266$i$i = 0, $$266$i$i163 = 0, $$266$i$i184 = 0, $$266$i$i184$ph = 0, $$266$i$i205 = 0, $$266$i$i226 = 0, $$266$i$i226$us = 0, $$3 = 0;
var $$3138 = 0, $$3142 = 0, $$3146 = 0, $$pre = 0, $$pre272 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0;
var $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0;
var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0;
var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond$i = 0, $or$cond$i$i = 0, $or$cond$i$i147 = 0, $or$cond$i$i168 = 0, $or$cond$i$i189 = 0, $or$cond$i231 = 0, $scevgep$i = 0, $scevgep$i$i = 0, $scevgep$i$i154 = 0;
var $scevgep$i$i175 = 0, $scevgep$i$i196 = 0, $scevgep$i$i217$us = 0, $scevgep$i232 = 0, $scevgep44$i = 0, $scevgep44$i233 = 0, $scevgep86$i$i = 0, $scevgep86$i$i148 = 0, $scevgep86$i$i169 = 0, $scevgep86$i$i190 = 0, $scevgep86$i$i211$us = 0, $scevgep88$i$i = 0, $scevgep88$i$i155 = 0, $scevgep88$i$i176 = 0, $scevgep88$i$i197 = 0, $scevgep88$i$i218 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($0)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($6)) + 36|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($6)) + 20|0);
$10 = HEAP32[$9>>2]|0;
$11 = $10 << 1;
$12 = ($2>>>0)<($4>>>0);
if ($12) {
$$0 = 200;
return ($$0|0);
}
$13 = ((($0)) + 112|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14>>>0)<($4>>>0);
if (!($15)) {
$16 = ((($0)) + 64|0);
$17 = (($16) + ($10)|0);
$18 = (0 - ($14))|0;
$19 = (($17) + ($18)|0);
$20 = $3;
$21 = $1;
$22 = $19;
$23 = $20 | $21;
$24 = $23 | $22;
$25 = $24 & 3;
$26 = ($25|0)==(0);
$27 = ($4>>>0)>(3);
$or$cond$i$i = $27 & $26;
if ($or$cond$i$i) {
$28 = (($4) + -4)|0;
$29 = $28 & -4;
$30 = (($29) + 4)|0;
$$05270$i$i = $3;$$05468$i$i = $19;$$05567$i$i = $1;$$071$i$i = $4;
while(1) {
$31 = ((($$05270$i$i)) + 4|0);
$32 = HEAP32[$$05270$i$i>>2]|0;
$33 = HEAP32[$$05468$i$i>>2]|0;
$34 = $33 ^ $32;
$35 = ((($$05567$i$i)) + 4|0);
HEAP32[$$05567$i$i>>2] = $34;
$36 = ((($$05468$i$i)) + 4|0);
HEAP32[$$05468$i$i>>2] = $32;
$37 = (($$071$i$i) + -4)|0;
$38 = ($37>>>0)>(3);
if ($38) {
$$05270$i$i = $31;$$05468$i$i = $36;$$05567$i$i = $35;$$071$i$i = $37;
} else {
break;
}
}
$scevgep86$i$i = (($1) + ($30)|0);
$scevgep$i$i = (($3) + ($30)|0);
$scevgep88$i$i = (($19) + ($30)|0);
$39 = (($28) - ($29))|0;
$$050$i$i = $scevgep86$i$i;$$056$i$i = $scevgep88$i$i;$$060$i$i = $scevgep$i$i;$$1$i$i = $39;
} else {
$$050$i$i = $1;$$056$i$i = $19;$$060$i$i = $3;$$1$i$i = $4;
}
$40 = ($$1$i$i|0)==(0);
if ($40) {
$50 = $14;
} else {
$$15165$i$i = $$050$i$i;$$15764$i$i = $$056$i$i;$$15963$i$i = $$060$i$i;$$266$i$i = $$1$i$i;
while(1) {
$41 = ((($$15963$i$i)) + 1|0);
$42 = HEAP8[$$15963$i$i>>0]|0;
$43 = HEAP8[$$15764$i$i>>0]|0;
$44 = $43 ^ $42;
$45 = ((($$15165$i$i)) + 1|0);
HEAP8[$$15165$i$i>>0] = $44;
$46 = ((($$15764$i$i)) + 1|0);
HEAP8[$$15764$i$i>>0] = $42;
$47 = (($$266$i$i) + -1)|0;
$48 = ($47|0)==(0);
if ($48) {
break;
} else {
$$15165$i$i = $45;$$15764$i$i = $46;$$15963$i$i = $41;$$266$i$i = $47;
}
}
$$pre = HEAP32[$13>>2]|0;
$50 = $$pre;
}
$49 = (($50) - ($4))|0;
HEAP32[$13>>2] = $49;
$$0 = 0;
return ($$0|0);
}
$51 = ($14|0)==(0);
if ($51) {
$$0135 = $1;$$0139 = $3;$$0143 = $4;
} else {
$52 = (($4) - ($14))|0;
$53 = ((($0)) + 64|0);
$54 = (($53) + ($10)|0);
$55 = (0 - ($14))|0;
$56 = (($54) + ($55)|0);
$57 = $3;
$58 = $1;
$59 = $56;
$60 = $57 | $58;
$61 = $60 | $59;
$62 = $61 & 3;
$63 = ($62|0)==(0);
$64 = ($14>>>0)>(3);
$or$cond$i$i168 = $64 & $63;
if ($or$cond$i$i168) {
$65 = (($14) + -4)|0;
$66 = $65 & -4;
$67 = (($66) + 4)|0;
$$05270$i$i172 = $3;$$05468$i$i173 = $56;$$05567$i$i174 = $1;$$071$i$i171 = $14;
while(1) {
$68 = ((($$05270$i$i172)) + 4|0);
$69 = HEAP32[$$05270$i$i172>>2]|0;
$70 = HEAP32[$$05468$i$i173>>2]|0;
$71 = $70 ^ $69;
$72 = ((($$05567$i$i174)) + 4|0);
HEAP32[$$05567$i$i174>>2] = $71;
$73 = ((($$05468$i$i173)) + 4|0);
HEAP32[$$05468$i$i173>>2] = $69;
$74 = (($$071$i$i171) + -4)|0;
$75 = ($74>>>0)>(3);
if ($75) {
$$05270$i$i172 = $68;$$05468$i$i173 = $73;$$05567$i$i174 = $72;$$071$i$i171 = $74;
} else {
break;
}
}
$scevgep86$i$i169 = (($1) + ($67)|0);
$scevgep$i$i175 = (($3) + ($67)|0);
$scevgep88$i$i176 = (($56) + ($67)|0);
$76 = (($65) - ($66))|0;
$77 = ($76|0)==(0);
if ($77) {
$87 = $14;
} else {
$$15165$i$i185$ph = $scevgep86$i$i169;$$15764$i$i186$ph = $scevgep88$i$i176;$$15963$i$i187$ph = $scevgep$i$i175;$$266$i$i184$ph = $76;
label = 17;
}
} else {
$$15165$i$i185$ph = $1;$$15764$i$i186$ph = $56;$$15963$i$i187$ph = $3;$$266$i$i184$ph = $14;
label = 17;
}
if ((label|0) == 17) {
$$15165$i$i185 = $$15165$i$i185$ph;$$15764$i$i186 = $$15764$i$i186$ph;$$15963$i$i187 = $$15963$i$i187$ph;$$266$i$i184 = $$266$i$i184$ph;
while(1) {
$78 = ((($$15963$i$i187)) + 1|0);
$79 = HEAP8[$$15963$i$i187>>0]|0;
$80 = HEAP8[$$15764$i$i186>>0]|0;
$81 = $80 ^ $79;
$82 = ((($$15165$i$i185)) + 1|0);
HEAP8[$$15165$i$i185>>0] = $81;
$83 = ((($$15764$i$i186)) + 1|0);
HEAP8[$$15764$i$i186>>0] = $79;
$84 = (($$266$i$i184) + -1)|0;
$85 = ($84|0)==(0);
if ($85) {
break;
} else {
$$15165$i$i185 = $82;$$15764$i$i186 = $83;$$15963$i$i187 = $78;$$266$i$i184 = $84;
}
}
$$pre272 = HEAP32[$13>>2]|0;
$87 = $$pre272;
}
$86 = (($1) + ($87)|0);
$88 = (($3) + ($87)|0);
HEAP32[$13>>2] = 0;
$$0135 = $86;$$0139 = $88;$$0143 = $52;
}
$89 = ($$0143>>>0)<($11>>>0);
L34: do {
if ($89) {
$$1 = 0;$$2137 = $$0135;$$2141 = $$0139;$$2145 = $$0143;
} else {
$90 = ((($0)) + 24|0);
$91 = HEAP32[$90>>2]|0;
$92 = ($91|0)==(0|0);
if (!($92)) {
$93 = (($$0143>>>0) / ($10>>>0))&-1;
$94 = ((($0)) + 496|0);
$95 = ((($0)) + 64|0);
FUNCTION_TABLE_viiiii[$91 & 127]($94,$95,$$0135,$$0139,$93);
$96 = Math_imul($93, $10)|0;
$97 = (($$0135) + ($96)|0);
$98 = (($$0139) + ($96)|0);
$99 = (($$0143) - ($96))|0;
$$1 = 0;$$2137 = $97;$$2141 = $98;$$2145 = $99;
break;
}
$100 = ((($0)) + 496|0);
$101 = ((($0)) + 64|0);
$102 = $101;
$103 = ($10>>>0)>(3);
$104 = (($10) + -4)|0;
$105 = $104 & -4;
$106 = (($105) + 4)|0;
$scevgep88$i$i218 = (($101) + ($106)|0);
$107 = (($104) - ($105))|0;
if (!($103)) {
$138 = ($10|0)==(0);
$$0134256 = 0;$$1136255 = $$0135;$$1140253 = $$0139;$$1144252 = $$0143;
while(1) {
$139 = (FUNCTION_TABLE_iiii[$8 & 127]($100,$101,$101)|0);
$140 = ($139>>>0)>($$0134256>>>0);
$141 = $140 ? $139 : $$0134256;
if (!($138)) {
$$15165$i$i227 = $$1136255;$$15764$i$i228 = $101;$$15963$i$i229 = $$1140253;$$266$i$i226 = $10;
while(1) {
$142 = ((($$15963$i$i229)) + 1|0);
$143 = HEAP8[$$15963$i$i229>>0]|0;
$144 = HEAP8[$$15764$i$i228>>0]|0;
$145 = $144 ^ $143;
$146 = ((($$15165$i$i227)) + 1|0);
HEAP8[$$15165$i$i227>>0] = $145;
$147 = ((($$15764$i$i228)) + 1|0);
HEAP8[$$15764$i$i228>>0] = $143;
$148 = (($$266$i$i226) + -1)|0;
$149 = ($148|0)==(0);
if ($149) {
break;
} else {
$$15165$i$i227 = $146;$$15764$i$i228 = $147;$$15963$i$i229 = $142;$$266$i$i226 = $148;
}
}
}
$150 = (($$1136255) + ($10)|0);
$151 = (($$1140253) + ($10)|0);
$152 = (($$1144252) - ($10))|0;
$153 = ($152>>>0)<($11>>>0);
if ($153) {
$$1 = $141;$$2137 = $150;$$2141 = $151;$$2145 = $152;
break L34;
} else {
$$0134256 = $141;$$1136255 = $150;$$1140253 = $151;$$1144252 = $152;
}
}
}
$$0134256$us = 0;$$1136255$us = $$0135;$$1140253$us = $$0139;$$1144252$us = $$0143;
while(1) {
$108 = (FUNCTION_TABLE_iiii[$8 & 127]($100,$101,$101)|0);
$109 = ($108>>>0)>($$0134256$us>>>0);
$110 = $109 ? $108 : $$0134256$us;
$111 = $$1140253$us;
$112 = $$1136255$us;
$113 = $111 | $102;
$114 = $113 | $112;
$115 = $114 & 3;
$116 = ($115|0)==(0);
if ($116) {
$$05270$i$i214$us = $$1140253$us;$$05468$i$i215$us = $101;$$05567$i$i216$us = $$1136255$us;$$071$i$i213$us = $10;
while(1) {
$117 = ((($$05270$i$i214$us)) + 4|0);
$118 = HEAP32[$$05270$i$i214$us>>2]|0;
$119 = HEAP32[$$05468$i$i215$us>>2]|0;
$120 = $119 ^ $118;
$121 = ((($$05567$i$i216$us)) + 4|0);
HEAP32[$$05567$i$i216$us>>2] = $120;
$122 = ((($$05468$i$i215$us)) + 4|0);
HEAP32[$$05468$i$i215$us>>2] = $118;
$123 = (($$071$i$i213$us) + -4)|0;
$124 = ($123>>>0)>(3);
if ($124) {
$$05270$i$i214$us = $117;$$05468$i$i215$us = $122;$$05567$i$i216$us = $121;$$071$i$i213$us = $123;
} else {
break;
}
}
$scevgep86$i$i211$us = (($$1136255$us) + ($106)|0);
$scevgep$i$i217$us = (($$1140253$us) + ($106)|0);
$$050$i$i222$us = $scevgep86$i$i211$us;$$056$i$i221$us = $scevgep88$i$i218;$$060$i$i220$us = $scevgep$i$i217$us;$$1$i$i223$us = $107;
} else {
$$050$i$i222$us = $$1136255$us;$$056$i$i221$us = $101;$$060$i$i220$us = $$1140253$us;$$1$i$i223$us = $10;
}
$125 = ($$1$i$i223$us|0)==(0);
if (!($125)) {
$$15165$i$i227$us = $$050$i$i222$us;$$15764$i$i228$us = $$056$i$i221$us;$$15963$i$i229$us = $$060$i$i220$us;$$266$i$i226$us = $$1$i$i223$us;
while(1) {
$126 = ((($$15963$i$i229$us)) + 1|0);
$127 = HEAP8[$$15963$i$i229$us>>0]|0;
$128 = HEAP8[$$15764$i$i228$us>>0]|0;
$129 = $128 ^ $127;
$130 = ((($$15165$i$i227$us)) + 1|0);
HEAP8[$$15165$i$i227$us>>0] = $129;
$131 = ((($$15764$i$i228$us)) + 1|0);
HEAP8[$$15764$i$i228$us>>0] = $127;
$132 = (($$266$i$i226$us) + -1)|0;
$133 = ($132|0)==(0);
if ($133) {
break;
} else {
$$15165$i$i227$us = $130;$$15764$i$i228$us = $131;$$15963$i$i229$us = $126;$$266$i$i226$us = $132;
}
}
}
$134 = (($$1136255$us) + ($10)|0);
$135 = (($$1140253$us) + ($10)|0);
$136 = (($$1144252$us) - ($10))|0;
$137 = ($136>>>0)<($11>>>0);
if ($137) {
$$1 = $110;$$2137 = $134;$$2141 = $135;$$2145 = $136;
break;
} else {
$$0134256$us = $110;$$1136255$us = $134;$$1140253$us = $135;$$1144252$us = $136;
}
}
}
} while(0);
$154 = ($$2145>>>0)<($10>>>0);
if ($154) {
$$2 = $$1;$$3138 = $$2137;$$3142 = $$2141;$$3146 = $$2145;
} else {
$155 = ((($0)) + 96|0);
$156 = ((($0)) + 64|0);
$157 = $155;
$158 = $156;
$159 = $158 | $157;
$160 = $159 & 3;
$161 = ($160|0)==(0);
$162 = ($10>>>0)>(3);
$or$cond$i231 = $161 & $162;
if ($or$cond$i231) {
$163 = (($10) + -4)|0;
$164 = $163 & -4;
$165 = (($164) + 4)|0;
$scevgep$i232 = (($156) + ($165)|0);
$$02434$i236 = $156;$$02533$i237 = $155;$$035$i235 = $10;
while(1) {
$166 = ((($$02434$i236)) + 4|0);
$167 = HEAP32[$$02434$i236>>2]|0;
$168 = ((($$02533$i237)) + 4|0);
HEAP32[$$02533$i237>>2] = $167;
$169 = (($$035$i235) + -4)|0;
$170 = ($169>>>0)>(3);
if ($170) {
$$02434$i236 = $166;$$02533$i237 = $168;$$035$i235 = $169;
} else {
break;
}
}
$scevgep44$i233 = (((($0)) + 96|0) + ($165)|0);
$171 = (($163) - ($164))|0;
$$026$i240 = $scevgep$i232;$$028$i239 = $scevgep44$i233;$$1$i241 = $171;
} else {
$$026$i240 = $156;$$028$i239 = $155;$$1$i241 = $10;
}
$172 = ($$1$i241|0)==(0);
if (!($172)) {
$$12731$i245 = $$026$i240;$$12930$i246 = $$028$i239;$$232$i244 = $$1$i241;
while(1) {
$173 = ((($$12731$i245)) + 1|0);
$174 = HEAP8[$$12731$i245>>0]|0;
$175 = ((($$12930$i246)) + 1|0);
HEAP8[$$12930$i246>>0] = $174;
$176 = (($$232$i244) + -1)|0;
$177 = ($176|0)==(0);
if ($177) {
break;
} else {
$$12731$i245 = $173;$$12930$i246 = $175;$$232$i244 = $176;
}
}
}
$178 = ((($0)) + 496|0);
$179 = (FUNCTION_TABLE_iiii[$8 & 127]($178,$156,$156)|0);
$180 = ($179>>>0)>($$1>>>0);
$181 = $180 ? $179 : $$1;
$182 = $$2141;
$183 = $$2137;
$184 = $182 | $158;
$185 = $184 | $183;
$186 = $185 & 3;
$187 = ($186|0)==(0);
$or$cond$i$i189 = $162 & $187;
if ($or$cond$i$i189) {
$188 = (($10) + -4)|0;
$189 = $188 & -4;
$190 = (($189) + 4)|0;
$$05270$i$i193 = $$2141;$$05468$i$i194 = $156;$$05567$i$i195 = $$2137;$$071$i$i192 = $10;
while(1) {
$191 = ((($$05270$i$i193)) + 4|0);
$192 = HEAP32[$$05270$i$i193>>2]|0;
$193 = HEAP32[$$05468$i$i194>>2]|0;
$194 = $193 ^ $192;
$195 = ((($$05567$i$i195)) + 4|0);
HEAP32[$$05567$i$i195>>2] = $194;
$196 = ((($$05468$i$i194)) + 4|0);
HEAP32[$$05468$i$i194>>2] = $192;
$197 = (($$071$i$i192) + -4)|0;
$198 = ($197>>>0)>(3);
if ($198) {
$$05270$i$i193 = $191;$$05468$i$i194 = $196;$$05567$i$i195 = $195;$$071$i$i192 = $197;
} else {
break;
}
}
$scevgep86$i$i190 = (($$2137) + ($190)|0);
$scevgep$i$i196 = (($$2141) + ($190)|0);
$scevgep88$i$i197 = (($156) + ($190)|0);
$199 = (($188) - ($189))|0;
$$050$i$i201 = $scevgep86$i$i190;$$056$i$i200 = $scevgep88$i$i197;$$060$i$i199 = $scevgep$i$i196;$$1$i$i202 = $199;
} else {
$$050$i$i201 = $$2137;$$056$i$i200 = $156;$$060$i$i199 = $$2141;$$1$i$i202 = $10;
}
$200 = ($$1$i$i202|0)==(0);
if (!($200)) {
$$15165$i$i206 = $$050$i$i201;$$15764$i$i207 = $$056$i$i200;$$15963$i$i208 = $$060$i$i199;$$266$i$i205 = $$1$i$i202;
while(1) {
$201 = ((($$15963$i$i208)) + 1|0);
$202 = HEAP8[$$15963$i$i208>>0]|0;
$203 = HEAP8[$$15764$i$i207>>0]|0;
$204 = $203 ^ $202;
$205 = ((($$15165$i$i206)) + 1|0);
HEAP8[$$15165$i$i206>>0] = $204;
$206 = ((($$15764$i$i207)) + 1|0);
HEAP8[$$15764$i$i207>>0] = $202;
$207 = (($$266$i$i205) + -1)|0;
$208 = ($207|0)==(0);
if ($208) {
break;
} else {
$$15165$i$i206 = $205;$$15764$i$i207 = $206;$$15963$i$i208 = $201;$$266$i$i205 = $207;
}
}
}
$209 = (($$2137) + ($10)|0);
$210 = (($$2141) + ($10)|0);
$211 = (($$2145) - ($10))|0;
$$2 = $181;$$3138 = $209;$$3142 = $210;$$3146 = $211;
}
$212 = ($$3146|0)==(0);
if ($212) {
$$3 = $$2;
} else {
$213 = ((($0)) + 96|0);
$214 = ((($0)) + 64|0);
$215 = $213;
$216 = $214;
$217 = $216 | $215;
$218 = $217 & 3;
$219 = ($218|0)==(0);
$220 = ($10>>>0)>(3);
$or$cond$i = $219 & $220;
if ($or$cond$i) {
$221 = (($10) + -4)|0;
$222 = $221 & -4;
$223 = (($222) + 4)|0;
$scevgep$i = (($214) + ($223)|0);
$$02434$i = $214;$$02533$i = $213;$$035$i = $10;
while(1) {
$224 = ((($$02434$i)) + 4|0);
$225 = HEAP32[$$02434$i>>2]|0;
$226 = ((($$02533$i)) + 4|0);
HEAP32[$$02533$i>>2] = $225;
$227 = (($$035$i) + -4)|0;
$228 = ($227>>>0)>(3);
if ($228) {
$$02434$i = $224;$$02533$i = $226;$$035$i = $227;
} else {
break;
}
}
$scevgep44$i = (((($0)) + 96|0) + ($223)|0);
$229 = (($221) - ($222))|0;
$$026$i = $scevgep$i;$$028$i = $scevgep44$i;$$1$i = $229;
} else {
$$026$i = $214;$$028$i = $213;$$1$i = $10;
}
$230 = ($$1$i|0)==(0);
if (!($230)) {
$$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i;
while(1) {
$231 = ((($$12731$i)) + 1|0);
$232 = HEAP8[$$12731$i>>0]|0;
$233 = ((($$12930$i)) + 1|0);
HEAP8[$$12930$i>>0] = $232;
$234 = (($$232$i) + -1)|0;
$235 = ($234|0)==(0);
if ($235) {
break;
} else {
$$12731$i = $231;$$12930$i = $233;$$232$i = $234;
}
}
}
$236 = ((($0)) + 496|0);
$237 = (FUNCTION_TABLE_iiii[$8 & 127]($236,$214,$214)|0);
$238 = ($237>>>0)>($$2>>>0);
$239 = $238 ? $237 : $$2;
$240 = (($10) - ($$3146))|0;
HEAP32[$13>>2] = $240;
$241 = $$3142;
$242 = $$3138;
$243 = $241 | $216;
$244 = $243 | $242;
$245 = $244 & 3;
$246 = ($245|0)==(0);
$247 = ($$3146>>>0)>(3);
$or$cond$i$i147 = $247 & $246;
if ($or$cond$i$i147) {
$248 = (($$3146) + -4)|0;
$249 = $248 & -4;
$250 = (($249) + 4)|0;
$$05270$i$i151 = $$3142;$$05468$i$i152 = $214;$$05567$i$i153 = $$3138;$$071$i$i150 = $$3146;
while(1) {
$251 = ((($$05270$i$i151)) + 4|0);
$252 = HEAP32[$$05270$i$i151>>2]|0;
$253 = HEAP32[$$05468$i$i152>>2]|0;
$254 = $253 ^ $252;
$255 = ((($$05567$i$i153)) + 4|0);
HEAP32[$$05567$i$i153>>2] = $254;
$256 = ((($$05468$i$i152)) + 4|0);
HEAP32[$$05468$i$i152>>2] = $252;
$257 = (($$071$i$i150) + -4)|0;
$258 = ($257>>>0)>(3);
if ($258) {
$$05270$i$i151 = $251;$$05468$i$i152 = $256;$$05567$i$i153 = $255;$$071$i$i150 = $257;
} else {
break;
}
}
$scevgep86$i$i148 = (($$3138) + ($250)|0);
$scevgep$i$i154 = (($$3142) + ($250)|0);
$scevgep88$i$i155 = (($214) + ($250)|0);
$259 = (($248) - ($249))|0;
$$050$i$i159 = $scevgep86$i$i148;$$056$i$i158 = $scevgep88$i$i155;$$060$i$i157 = $scevgep$i$i154;$$1$i$i160 = $259;
} else {
$$050$i$i159 = $$3138;$$056$i$i158 = $214;$$060$i$i157 = $$3142;$$1$i$i160 = $$3146;
}
$260 = ($$1$i$i160|0)==(0);
if ($260) {
$$3 = $239;
} else {
$$15165$i$i164 = $$050$i$i159;$$15764$i$i165 = $$056$i$i158;$$15963$i$i166 = $$060$i$i157;$$266$i$i163 = $$1$i$i160;
while(1) {
$261 = ((($$15963$i$i166)) + 1|0);
$262 = HEAP8[$$15963$i$i166>>0]|0;
$263 = HEAP8[$$15764$i$i165>>0]|0;
$264 = $263 ^ $262;
$265 = ((($$15165$i$i164)) + 1|0);
HEAP8[$$15165$i$i164>>0] = $264;
$266 = ((($$15764$i$i165)) + 1|0);
HEAP8[$$15764$i$i165>>0] = $262;
$267 = (($$266$i$i163) + -1)|0;
$268 = ($267|0)==(0);
if ($268) {
$$3 = $239;
break;
} else {
$$15165$i$i164 = $265;$$15764$i$i165 = $266;$$15963$i$i166 = $261;$$266$i$i163 = $267;
}
}
}
}
$269 = ($$3|0)==(0);
if ($269) {
$$0 = 0;
return ($$0|0);
}
$270 = (($$3) + 16)|0;
___gcry_burn_stack($270);
$$0 = 0;
return ($$0|0);
}
function __gcry_cipher_cmac_set_subkeys($0) {
$0 = $0|0;
var $$06683$us$i = 0, $$067$lcssa99$i = 0, $$06778$i = 0, $$068$lcssa98$i = 0, $$06877$i = 0, $$084$us$i = 0, $$1$i = 0, $$169$i = 0, $$2$i = 0, $$270$i = 0, $$37175$i = 0, $$376$i = 0, $$lcssa2 = 0, $$phi$trans$insert$i = 0, $$pre = 0, $$pre$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0;
var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
var $86 = 0, $87 = 0, $88 = 0, $9 = 0, $scevgep$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($3)) + 20|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5>>>0)>(16);
if ($6) {
__gcry_bug(64349,113,64363);
// unreachable;
}
_memset(($1|0),0,($5|0))|0;
$7 = ((($3)) + 36|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($0)) + 496|0);
$10 = (FUNCTION_TABLE_iiii[$8 & 127]($9,$1,$1)|0);
$11 = ($5|0)==(16);
$12 = (($5) + -1)|0;
$13 = ($12|0)>(-1);
$14 = $11 ? 135 : 27;
$15 = (($1) + ($12)|0);
$16 = ((($0)) + 128|0);
if ($13) {
$$06683$us$i = $12;$$084$us$i = 0;
while(1) {
$17 = (($1) + ($$06683$us$i)|0);
$18 = HEAP8[$17>>0]|0;
$19 = $$084$us$i&255;
$20 = $18&255;
$21 = $20 << 1;
$22 = ($18&255) >>> 7;
$23 = $21 | $19;
$24 = $23&255;
HEAP8[$17>>0] = $24;
$25 = (((($16)) + 1|0) + ($$06683$us$i)|0);
HEAP8[$25>>0] = $24;
$26 = (($$06683$us$i) + -1)|0;
$27 = ($$06683$us$i|0)>(0);
if ($27) {
$$06683$us$i = $26;$$084$us$i = $22;
} else {
break;
}
}
$28 = ($22<<24>>24)==(0);
$29 = $28 ? 0 : $14;
$30 = HEAP8[$15>>0]|0;
$31 = $30&255;
$32 = $29 ^ $31;
$33 = $32&255;
$34 = (((($16)) + 1|0) + ($12)|0);
HEAP8[$34>>0] = $33;
$35 = $32 << 1;
$36 = ($33&255) >>> 7;
$37 = $35&255;
HEAP8[$15>>0] = $37;
$38 = (((($16)) + 17|0) + ($12)|0);
HEAP8[$38>>0] = $37;
$39 = ($12|0)>(0);
if ($39) {
$40 = (($5) + -2)|0;
$72 = $40;$74 = $36;
while(1) {
$$phi$trans$insert$i = (($1) + ($72)|0);
$$pre$i = HEAP8[$$phi$trans$insert$i>>0]|0;
$73 = $74&255;
$75 = $$pre$i&255;
$76 = $75 << 1;
$77 = ($$pre$i&255) >>> 7;
$78 = $76 | $73;
$79 = $78&255;
HEAP8[$$phi$trans$insert$i>>0] = $79;
$80 = (((($16)) + 17|0) + ($72)|0);
HEAP8[$80>>0] = $79;
$81 = (($72) + -1)|0;
$82 = ($72|0)>(0);
if ($82) {
$72 = $81;$74 = $77;
} else {
break;
}
}
$$pre = HEAP8[$15>>0]|0;
$$lcssa2 = $77;$86 = $$pre;
} else {
$$lcssa2 = $36;$86 = $37;
}
$83 = ($$lcssa2<<24>>24)==(0);
$84 = $83 ? 0 : $14;
$85 = $86&255;
$87 = $84 ^ $85;
$88 = $87&255;
HEAP8[$15>>0] = $88;
HEAP8[$38>>0] = $88;
} else {
$41 = HEAP8[$15>>0]|0;
$42 = (((($16)) + 1|0) + ($12)|0);
HEAP8[$42>>0] = $41;
$43 = (((($16)) + 17|0) + ($12)|0);
HEAP8[$43>>0] = $41;
}
$44 = $1;
$45 = $44 & 4;
$46 = ($45|0)==(0);
if ($46) {
$$067$lcssa99$i = 16;$$068$lcssa98$i = $1;
label = 13;
} else {
$$06778$i = 16;$$06877$i = $1;
while(1) {
HEAP8[$$06877$i>>0] = 0;
$47 = ((($$06877$i)) + 1|0);
$48 = (($$06778$i) + -1)|0;
$49 = $47;
$50 = $49 & 7;
$51 = ($50|0)!=(0);
$52 = ($48|0)!=(0);
$53 = $52 & $51;
if ($53) {
$$06778$i = $48;$$06877$i = $47;
} else {
break;
}
}
$54 = ($48>>>0)<(8);
if ($54) {
$$2$i = $48;$$270$i = $47;
} else {
$$067$lcssa99$i = $48;$$068$lcssa98$i = $47;
label = 13;
}
}
if ((label|0) == 13) {
$55 = (($$067$lcssa99$i) + -8)|0;
$56 = $55 & -8;
$$1$i = $$067$lcssa99$i;$$169$i = $$068$lcssa98$i;
while(1) {
$57 = $$169$i;
$58 = $57;
HEAP32[$58>>2] = 0;
$59 = (($57) + 4)|0;
$60 = $59;
HEAP32[$60>>2] = 0;
$61 = (($$1$i) + -8)|0;
$62 = ((($$169$i)) + 8|0);
$63 = ($61>>>0)>(7);
if ($63) {
$$1$i = $61;$$169$i = $62;
} else {
break;
}
}
$64 = (($56) + 8)|0;
$65 = (($55) - ($56))|0;
$scevgep$i = (($$068$lcssa98$i) + ($64)|0);
$$2$i = $65;$$270$i = $scevgep$i;
}
$66 = ($$2$i|0)==(0);
if (!($66)) {
$$37175$i = $$270$i;$$376$i = $$2$i;
while(1) {
HEAP8[$$37175$i>>0] = 0;
$67 = ((($$37175$i)) + 1|0);
$68 = (($$376$i) + -1)|0;
$69 = ($68|0)==(0);
if ($69) {
break;
} else {
$$37175$i = $67;$$376$i = $68;
}
}
}
$70 = ($10|0)==(0);
if ($70) {
STACKTOP = sp;return 0;
}
$71 = (($10) + 16)|0;
___gcry_burn_stack($71);
STACKTOP = sp;return 0;
}
function __gcry_cipher_ctr_encrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$ = 0, $$0 = 0, $$0126 = 0, $$0135 = 0, $$0138 = 0, $$0138$us = 0, $$0140 = 0, $$0143182$us = 0, $$02434$i = 0, $$02533$i = 0, $$03449$i = 0, $$03449$i154 = 0, $$03449$i154$us = 0, $$035$i = 0, $$03548$i = 0, $$03548$i155 = 0, $$03548$i155$us = 0, $$03647$i = 0, $$03647$i156 = 0, $$03647$i156$us = 0;
var $$037$i = 0, $$037$i160 = 0, $$037$i160$us = 0, $$039$i = 0, $$039$i159 = 0, $$039$i159$us = 0, $$041$i = 0, $$041$i158 = 0, $$041$i158$us = 0, $$050$i = 0, $$050$i153 = 0, $$050$i153$us = 0, $$1 = 0, $$1$i = 0, $$1$i161 = 0, $$1$i161$us = 0, $$1136 = 0, $$1141 = 0, $$12731$i = 0, $$12731$i$ph = 0;
var $$12930$i = 0, $$12930$i$ph = 0, $$13845$i = 0, $$13845$i165 = 0, $$13845$i165$us = 0, $$14044$i = 0, $$14044$i166 = 0, $$14044$i166$us = 0, $$14243$i = 0, $$14243$i167 = 0, $$14243$i167$us = 0, $$2 = 0, $$2$us = 0, $$2137 = 0, $$2137$us = 0, $$2142 = 0, $$2142$us = 0, $$232$i = 0, $$232$i$ph = 0, $$246$i = 0;
var $$246$i164 = 0, $$246$i164$us = 0, $$lcssa173 = 0, $$lcssa174 = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $19 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i144 = 0, $or$cond$i148 = 0, $or$cond$i148$us = 0, $scevgep$i = 0, $scevgep$i145 = 0, $scevgep$i149 = 0, $scevgep$i149$us = 0, $scevgep44$i = 0, $scevgep61$i = 0, $scevgep61$i150 = 0, $scevgep61$i150$us = 0, $scevgep63$i = 0, $scevgep63$i151 = 0, $scevgep63$i151$us = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
$6 = ((($0)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($7)) + 36|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($7)) + 20|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($2>>>0)<($4>>>0);
if ($12) {
$$0 = 200;
STACKTOP = sp;return ($$0|0);
}
$13 = ((($0)) + 112|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)==(0);
if ($15) {
$$0126 = $1;$$0135 = $3;$$0140 = $4;
} else {
$16 = ($11>>>0)>($14>>>0);
if (!($16)) {
__gcry_assert_failed(64385,64407,53,64420);
// unreachable;
}
$17 = (($11) - ($14))|0;
$18 = ($14>>>0)>($4>>>0);
$$ = $18 ? $4 : $14;
$19 = (((($0)) + 96|0) + ($17)|0);
$20 = $1;
$21 = $3;
$22 = $21 | $20;
$23 = $19;
$24 = $22 | $23;
$25 = $24 & 3;
$26 = ($25|0)==(0);
$27 = ($$>>>0)>(3);
$or$cond$i = $27 & $26;
if ($or$cond$i) {
$28 = (($$) + -4)|0;
$29 = $28 & -4;
$30 = (($29) + 4)|0;
$scevgep61$i = (($19) + ($30)|0);
$$03449$i = $19;$$03548$i = $3;$$03647$i = $1;$$050$i = $$;
while(1) {
$31 = ((($$03548$i)) + 4|0);
$32 = HEAP32[$$03548$i>>2]|0;
$33 = ((($$03449$i)) + 4|0);
$34 = HEAP32[$$03449$i>>2]|0;
$35 = $34 ^ $32;
$36 = ((($$03647$i)) + 4|0);
HEAP32[$$03647$i>>2] = $35;
$37 = (($$050$i) + -4)|0;
$38 = ($37>>>0)>(3);
if ($38) {
$$03449$i = $33;$$03548$i = $31;$$03647$i = $36;$$050$i = $37;
} else {
break;
}
}
$scevgep$i = (($3) + ($30)|0);
$scevgep63$i = (($1) + ($30)|0);
$39 = (($28) - ($29))|0;
$$037$i = $scevgep61$i;$$039$i = $scevgep$i;$$041$i = $scevgep63$i;$$1$i = $39;
} else {
$$037$i = $19;$$039$i = $3;$$041$i = $1;$$1$i = $$;
}
$40 = ($$1$i|0)==(0);
if ($40) {
$50 = $14;
} else {
$$13845$i = $$037$i;$$14044$i = $$039$i;$$14243$i = $$041$i;$$246$i = $$1$i;
while(1) {
$41 = ((($$14044$i)) + 1|0);
$42 = HEAP8[$$14044$i>>0]|0;
$43 = ((($$13845$i)) + 1|0);
$44 = HEAP8[$$13845$i>>0]|0;
$45 = $44 ^ $42;
$46 = ((($$14243$i)) + 1|0);
HEAP8[$$14243$i>>0] = $45;
$47 = (($$246$i) + -1)|0;
$48 = ($47|0)==(0);
if ($48) {
break;
} else {
$$13845$i = $43;$$14044$i = $41;$$14243$i = $46;$$246$i = $47;
}
}
$$pre = HEAP32[$13>>2]|0;
$50 = $$pre;
}
$49 = (($50) - ($$))|0;
HEAP32[$13>>2] = $49;
$51 = (($3) + ($$)|0);
$52 = (($1) + ($$)|0);
$53 = (($4) - ($$))|0;
$$0126 = $52;$$0135 = $51;$$0140 = $53;
}
$54 = (($$0140>>>0) / ($11>>>0))&-1;
$55 = ($11>>>0)>($$0140>>>0);
if ($55) {
$$1 = $$0126;$$1136 = $$0135;$$1141 = $$0140;
} else {
$56 = ((($0)) + 36|0);
$57 = HEAP32[$56>>2]|0;
$58 = ($57|0)==(0|0);
$59 = Math_imul($54, $11)|0;
if ($58) {
$$1 = $$0126;$$1136 = $$0135;$$1141 = $$0140;
} else {
$60 = (($$0140) - ($59))|0;
$61 = (($$0126) + ($59)|0);
$62 = (($$0135) + ($59)|0);
$63 = ((($0)) + 80|0);
$64 = ((($0)) + 496|0);
FUNCTION_TABLE_viiiii[$57 & 127]($64,$63,$$0126,$$0135,$54);
$$1 = $61;$$1136 = $62;$$1141 = $60;
}
}
$65 = ($$1141|0)==(0);
if ($65) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$66 = ((($0)) + 496|0);
$67 = ((($0)) + 80|0);
$68 = ($11|0)>(0);
if ($68) {
$$0138$us = 0;$$2$us = $$1;$$2137$us = $$1136;$$2142$us = $$1141;
while(1) {
$69 = (FUNCTION_TABLE_iiii[$9 & 127]($66,$5,$67)|0);
$70 = ($69>>>0)>($$0138$us>>>0);
$$0143182$us = $11;
while(1) {
$71 = (($$0143182$us) + -1)|0;
$72 = (($67) + ($71)|0);
$73 = HEAP8[$72>>0]|0;
$74 = (($73) + 1)<<24>>24;
HEAP8[$72>>0] = $74;
$75 = ($74<<24>>24)==(0);
$76 = ($$0143182$us|0)>(1);
$or$cond = $75 & $76;
if ($or$cond) {
$$0143182$us = $71;
} else {
break;
}
}
$77 = $70 ? $69 : $$0138$us;
$78 = ($11>>>0)<($$2142$us>>>0);
$79 = $78 ? $11 : $$2142$us;
$80 = $$2$us;
$81 = $$2137$us;
$82 = $80 | $81;
$83 = $82 & 3;
$84 = ($83|0)==(0);
$85 = ($79>>>0)>(3);
$or$cond$i148$us = $85 & $84;
if ($or$cond$i148$us) {
$86 = (($79) + -4)|0;
$87 = $86 & -4;
$88 = (($87) + 4)|0;
$scevgep61$i150$us = (($5) + ($88)|0);
$$03449$i154$us = $5;$$03548$i155$us = $$2137$us;$$03647$i156$us = $$2$us;$$050$i153$us = $79;
while(1) {
$89 = ((($$03548$i155$us)) + 4|0);
$90 = HEAP32[$$03548$i155$us>>2]|0;
$91 = ((($$03449$i154$us)) + 4|0);
$92 = HEAP32[$$03449$i154$us>>2]|0;
$93 = $92 ^ $90;
$94 = ((($$03647$i156$us)) + 4|0);
HEAP32[$$03647$i156$us>>2] = $93;
$95 = (($$050$i153$us) + -4)|0;
$96 = ($95>>>0)>(3);
if ($96) {
$$03449$i154$us = $91;$$03548$i155$us = $89;$$03647$i156$us = $94;$$050$i153$us = $95;
} else {
break;
}
}
$scevgep$i149$us = (($$2137$us) + ($88)|0);
$scevgep63$i151$us = (($$2$us) + ($88)|0);
$97 = (($86) - ($87))|0;
$$037$i160$us = $scevgep61$i150$us;$$039$i159$us = $scevgep$i149$us;$$041$i158$us = $scevgep63$i151$us;$$1$i161$us = $97;
} else {
$$037$i160$us = $5;$$039$i159$us = $$2137$us;$$041$i158$us = $$2$us;$$1$i161$us = $79;
}
$98 = ($$1$i161$us|0)==(0);
if (!($98)) {
$$13845$i165$us = $$037$i160$us;$$14044$i166$us = $$039$i159$us;$$14243$i167$us = $$041$i158$us;$$246$i164$us = $$1$i161$us;
while(1) {
$99 = ((($$14044$i166$us)) + 1|0);
$100 = HEAP8[$$14044$i166$us>>0]|0;
$101 = ((($$13845$i165$us)) + 1|0);
$102 = HEAP8[$$13845$i165$us>>0]|0;
$103 = $102 ^ $100;
$104 = ((($$14243$i167$us)) + 1|0);
HEAP8[$$14243$i167$us>>0] = $103;
$105 = (($$246$i164$us) + -1)|0;
$106 = ($105|0)==(0);
if ($106) {
break;
} else {
$$13845$i165$us = $101;$$14044$i166$us = $99;$$14243$i167$us = $104;$$246$i164$us = $105;
}
}
}
$107 = (($$2142$us) - ($79))|0;
$108 = (($$2$us) + ($79)|0);
$109 = (($$2137$us) + ($79)|0);
$110 = ($107|0)==(0);
if ($110) {
$$lcssa173 = $77;$$lcssa174 = $79;
break;
} else {
$$0138$us = $77;$$2$us = $108;$$2137$us = $109;$$2142$us = $107;
}
}
} else {
$$0138 = 0;$$2 = $$1;$$2137 = $$1136;$$2142 = $$1141;
while(1) {
$111 = (FUNCTION_TABLE_iiii[$9 & 127]($66,$5,$67)|0);
$112 = ($111>>>0)>($$0138>>>0);
$113 = $112 ? $111 : $$0138;
$114 = ($11>>>0)<($$2142>>>0);
$115 = $114 ? $11 : $$2142;
$116 = $$2;
$117 = $$2137;
$118 = $116 | $117;
$119 = $118 & 3;
$120 = ($119|0)==(0);
$121 = ($115>>>0)>(3);
$or$cond$i148 = $121 & $120;
if ($or$cond$i148) {
$122 = (($115) + -4)|0;
$123 = $122 & -4;
$124 = (($123) + 4)|0;
$scevgep61$i150 = (($5) + ($124)|0);
$$03449$i154 = $5;$$03548$i155 = $$2137;$$03647$i156 = $$2;$$050$i153 = $115;
while(1) {
$125 = ((($$03548$i155)) + 4|0);
$126 = HEAP32[$$03548$i155>>2]|0;
$127 = ((($$03449$i154)) + 4|0);
$128 = HEAP32[$$03449$i154>>2]|0;
$129 = $128 ^ $126;
$130 = ((($$03647$i156)) + 4|0);
HEAP32[$$03647$i156>>2] = $129;
$131 = (($$050$i153) + -4)|0;
$132 = ($131>>>0)>(3);
if ($132) {
$$03449$i154 = $127;$$03548$i155 = $125;$$03647$i156 = $130;$$050$i153 = $131;
} else {
break;
}
}
$scevgep$i149 = (($$2137) + ($124)|0);
$scevgep63$i151 = (($$2) + ($124)|0);
$133 = (($122) - ($123))|0;
$$037$i160 = $scevgep61$i150;$$039$i159 = $scevgep$i149;$$041$i158 = $scevgep63$i151;$$1$i161 = $133;
} else {
$$037$i160 = $5;$$039$i159 = $$2137;$$041$i158 = $$2;$$1$i161 = $115;
}
$134 = ($$1$i161|0)==(0);
if (!($134)) {
$$13845$i165 = $$037$i160;$$14044$i166 = $$039$i159;$$14243$i167 = $$041$i158;$$246$i164 = $$1$i161;
while(1) {
$135 = ((($$14044$i166)) + 1|0);
$136 = HEAP8[$$14044$i166>>0]|0;
$137 = ((($$13845$i165)) + 1|0);
$138 = HEAP8[$$13845$i165>>0]|0;
$139 = $138 ^ $136;
$140 = ((($$14243$i167)) + 1|0);
HEAP8[$$14243$i167>>0] = $139;
$141 = (($$246$i164) + -1)|0;
$142 = ($141|0)==(0);
if ($142) {
break;
} else {
$$13845$i165 = $137;$$14044$i166 = $135;$$14243$i167 = $140;$$246$i164 = $141;
}
}
}
$143 = (($$2142) - ($115))|0;
$144 = (($$2) + ($115)|0);
$145 = (($$2137) + ($115)|0);
$146 = ($143|0)==(0);
if ($146) {
$$lcssa173 = $113;$$lcssa174 = $115;
break;
} else {
$$0138 = $113;$$2 = $144;$$2137 = $145;$$2142 = $143;
}
}
}
$147 = (($11) - ($$lcssa174))|0;
HEAP32[$13>>2] = $147;
$148 = ($147|0)==(0);
do {
if (!($148)) {
$149 = (((($0)) + 96|0) + ($$lcssa174)|0);
$150 = (($5) + ($$lcssa174)|0);
$151 = $149;
$152 = $150;
$153 = $152 | $151;
$154 = $153 & 3;
$155 = ($154|0)==(0);
$156 = ($147>>>0)>(3);
$or$cond$i144 = $156 & $155;
if ($or$cond$i144) {
$157 = (($147) + -4)|0;
$158 = $157 & -4;
$159 = (($158) + 4)|0;
$scevgep$i145 = (($150) + ($159)|0);
$$02434$i = $150;$$02533$i = $149;$$035$i = $147;
while(1) {
$160 = ((($$02434$i)) + 4|0);
$161 = HEAP32[$$02434$i>>2]|0;
$162 = ((($$02533$i)) + 4|0);
HEAP32[$$02533$i>>2] = $161;
$163 = (($$035$i) + -4)|0;
$164 = ($163>>>0)>(3);
if ($164) {
$$02434$i = $160;$$02533$i = $162;$$035$i = $163;
} else {
break;
}
}
$scevgep44$i = (($149) + ($159)|0);
$165 = (($157) - ($158))|0;
$166 = ($165|0)==(0);
if ($166) {
break;
} else {
$$12731$i$ph = $scevgep$i145;$$12930$i$ph = $scevgep44$i;$$232$i$ph = $165;
}
} else {
$$12731$i$ph = $150;$$12930$i$ph = $149;$$232$i$ph = $147;
}
$$12731$i = $$12731$i$ph;$$12930$i = $$12930$i$ph;$$232$i = $$232$i$ph;
while(1) {
$167 = ((($$12731$i)) + 1|0);
$168 = HEAP8[$$12731$i>>0]|0;
$169 = ((($$12930$i)) + 1|0);
HEAP8[$$12930$i>>0] = $168;
$170 = (($$232$i) + -1)|0;
$171 = ($170|0)==(0);
if ($171) {
break;
} else {
$$12731$i = $167;$$12930$i = $169;$$232$i = $170;
}
}
}
} while(0);
$172 = $5;
$173 = $172;
HEAP32[$173>>2] = 0;
$174 = (($172) + 4)|0;
$175 = $174;
HEAP32[$175>>2] = 0;
$176 = ((($5)) + 8|0);
$177 = $176;
$178 = $177;
HEAP32[$178>>2] = 0;
$179 = (($177) + 4)|0;
$180 = $179;
HEAP32[$180>>2] = 0;
$181 = ($$lcssa173|0)==(0);
if ($181) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$182 = (($$lcssa173) + 16)|0;
___gcry_burn_stack($182);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function __gcry_cipher_gcm_encrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $or$cond30 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($0)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($6)) + 20|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(16);
if (!($9)) {
$$0 = 12;
return ($$0|0);
}
$10 = ($2>>>0)<($4>>>0);
if ($10) {
$$0 = 200;
return ($$0|0);
}
$11 = ((($0)) + 128|0);
$12 = ((($0)) + 196|0);
$13 = HEAP8[$12>>0]|0;
$14 = $13 & 4;
$15 = ($14<<24>>24)==(0);
if (!($15)) {
$$0 = 139;
return ($$0|0);
}
$16 = ((($0)) + 56|0);
$17 = HEAP8[$16>>0]|0;
$18 = $17 & 4;
$19 = $13 & 1;
$20 = $18 | $19;
$21 = ($20<<24>>24)==(0);
if (!($21)) {
$$0 = 156;
return ($$0|0);
}
$22 = $17 & 2;
$23 = ($22<<24>>24)==(0);
if ($23) {
(__gcry_cipher_gcm_setiv($0,71184,16)|0);
$$pre = HEAP8[$12>>0]|0;
$25 = $$pre;
} else {
$25 = $13;
}
$24 = $25 & 8;
$26 = ($24<<24>>24)==(0);
if (!($26)) {
$$0 = 156;
return ($$0|0);
}
$27 = $25 & 2;
$28 = ($27<<24>>24)==(0);
if ($28) {
_do_ghash_buf($0,$11,0,0,1);
$29 = HEAP8[$12>>0]|0;
$30 = $29 | 2;
HEAP8[$12>>0] = $30;
$43 = $30;
} else {
$43 = $25;
}
$31 = ((($0)) + 172|0);
$32 = HEAP32[$31>>2]|0;
$33 = (($32) + ($4))|0;
HEAP32[$31>>2] = $33;
$34 = ($33>>>0)<($4>>>0);
$35 = ((($0)) + 176|0);
$36 = HEAP32[$35>>2]|0;
if ($34) {
$37 = (($36) + 1)|0;
HEAP32[$35>>2] = $37;
$39 = $37;
} else {
$39 = $36;
}
$38 = ($39>>>0)>(15);
if (!($38)) {
$40 = ($39|0)==(15);
$41 = ($33>>>0)>(4294967264);
$or$cond30 = $41 & $40;
if (!($or$cond30)) {
$44 = (__gcry_cipher_ctr_encrypt($0,$1,$2,$3,$4)|0);
$45 = ($44|0)==(0);
if (!($45)) {
$$0 = $44;
return ($$0|0);
}
_do_ghash_buf($0,$11,$1,$4,0);
$$0 = 0;
return ($$0|0);
}
}
$42 = $43 | 4;
HEAP8[$12>>0] = $42;
$$0 = 139;
return ($$0|0);
}
function __gcry_cipher_gcm_setiv($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$1$i = 0, $$pre = 0, $$pre$i = 0, $$pre$phi141$iZ2D = 0, $$pre$phi142$iZ2D = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$3 = sp + 16|0;
$4 = sp;
$5 = ((($0)) + 56|0);
$6 = HEAP8[$5>>0]|0;
$7 = $6 & -7;
HEAP8[$5>>0] = $7;
$8 = ((($0)) + 196|0);
$9 = HEAP8[$8>>0]|0;
$10 = $9 & -9;
HEAP8[$8>>0] = $10;
$11 = (__gcry_fips_mode()|0);
$12 = ($11|0)==(0);
$$pre = HEAP8[$8>>0]|0;
if ($12) {
$17 = $$pre;
} else {
$13 = $$pre | 8;
HEAP8[$8>>0] = $13;
$17 = $13;
}
$14 = ((($0)) + 128|0);
$15 = ((($0)) + 164|0);
;HEAP32[$14>>2]=0|0;HEAP32[$14+4>>2]=0|0;HEAP32[$14+8>>2]=0|0;HEAP32[$14+12>>2]=0|0;
;HEAP32[$15>>2]=0|0;HEAP32[$15+4>>2]=0|0;HEAP32[$15+8>>2]=0|0;HEAP32[$15+12>>2]=0|0;
$16 = $17 & -8;
HEAP8[$8>>0] = $16;
switch ($2|0) {
case 12: {
$39 = ((($0)) + 80|0);
dest=$39; src=$1; stop=dest+12|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$40 = ((($0)) + 94|0);
HEAP8[$40>>0] = 0;
$41 = ((($0)) + 93|0);
HEAP8[$41>>0] = 0;
$42 = ((($0)) + 92|0);
HEAP8[$42>>0] = 0;
$43 = ((($0)) + 95|0);
HEAP8[$43>>0] = 1;
$$pre$phi141$iZ2D = $39;$$pre$phi142$iZ2D = $42;
break;
}
case 0: {
$$1$i = 139;
STACKTOP = sp;return ($$1$i|0);
break;
}
default: {
$18 = ((($0)) + 80|0);
;HEAP32[$18>>2]=0|0;HEAP32[$18+4>>2]=0|0;HEAP32[$18+8>>2]=0|0;HEAP32[$18+12>>2]=0|0;
_do_ghash_buf($0,$18,$1,$2,1);
$19 = $2 << 3;
$20 = (_llvm_bswap_i32(($19|0))|0);
$21 = ((($4)) + 12|0);
HEAP32[$21>>2] = $20;
$22 = $2 >>> 29;
$23 = (_llvm_bswap_i32(($22|0))|0);
$24 = ((($4)) + 8|0);
HEAP32[$24>>2] = $23;
$25 = ((($4)) + 4|0);
HEAP32[$25>>2] = 0;
HEAP32[$4>>2] = 0;
_do_ghash_buf($0,$18,$4,16,1);
$26 = $3;
$27 = $26;
HEAP32[$27>>2] = 0;
$28 = (($26) + 4)|0;
$29 = $28;
HEAP32[$29>>2] = 0;
$30 = $4;
$31 = $30;
HEAP32[$31>>2] = 0;
$32 = (($30) + 4)|0;
$33 = $32;
HEAP32[$33>>2] = 0;
$34 = ((($4)) + 8|0);
$35 = $34;
$36 = $35;
HEAP32[$36>>2] = 0;
$37 = (($35) + 4)|0;
$38 = $37;
HEAP32[$38>>2] = 0;
$$pre$i = ((($0)) + 92|0);
$$pre$phi141$iZ2D = $18;$$pre$phi142$iZ2D = $$pre$i;
}
}
$44 = ((($0)) + 12|0);
$45 = HEAP32[$44>>2]|0;
$46 = ((($45)) + 36|0);
$47 = HEAP32[$46>>2]|0;
$48 = ((($0)) + 496|0);
$49 = ((($0)) + 180|0);
(FUNCTION_TABLE_iiii[$47 & 127]($48,$49,$$pre$phi141$iZ2D)|0);
$50 = HEAP32[$$pre$phi142$iZ2D>>2]|0;
$51 = (_llvm_bswap_i32(($50|0))|0);
$52 = (($51) + 1)|0;
$53 = (_llvm_bswap_i32(($52|0))|0);
HEAP32[$$pre$phi142$iZ2D>>2] = $53;
$54 = ((($0)) + 112|0);
HEAP32[$54>>2] = 0;
$55 = HEAP8[$5>>0]|0;
$56 = $55 & -7;
$57 = $56 | 2;
HEAP8[$5>>0] = $57;
$$1$i = 0;
STACKTOP = sp;return ($$1$i|0);
}
function _do_ghash_buf($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$0$us = 0, $$02434$i = 0, $$02434$i$us = 0, $$02533$i = 0, $$02533$i$us = 0, $$026$i = 0, $$026$i$us = 0, $$028$i = 0, $$028$i$us = 0, $$035$i = 0, $$035$i$us = 0, $$070 = 0, $$070$us = 0, $$073 = 0, $$073$us = 0, $$076 = 0, $$076$us = 0, $$1 = 0, $$1$i = 0;
var $$1$i$us = 0, $$1$us = 0, $$12731$i = 0, $$12731$i$us = 0, $$12930$i = 0, $$12930$i$us = 0, $$171 = 0, $$171$us9193 = 0, $$174 = 0, $$174$us9094 = 0, $$177 = 0, $$2 = 0, $$2$us = 0, $$232$i = 0, $$232$i$us = 0, $$272 = 0, $$272$us = 0, $$275 = 0, $$275$us = 0, $$3 = 0;
var $$5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i$us = 0, $or$cond3 = 0, $or$cond3$us = 0;
var $or$cond82 = 0, $scevgep$i = 0, $scevgep$i$us = 0, $scevgep44$i = 0, $scevgep44$i$us = 0, $scevgep87 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($0)) + 160|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($0)) + 224|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($3|0)==(0);
L1: do {
if ($9) {
$10 = ($6|0)!=(0);
$11 = ($4|0)!=(0);
$or$cond = $11 & $10;
if ($or$cond) {
$12 = ((($0)) + 144|0);
$89 = $12;
label = 20;
break;
} else {
return;
}
} else {
$13 = ($4|0)==(0);
$14 = ((($0)) + 144|0);
if ($13) {
$$0$us = 0;$$070$us = $2;$$073$us = $3;$$076$us = $6;
L8: while(1) {
$15 = (($$073$us) + ($$076$us))|0;
$16 = ($15>>>0)<(16);
$17 = ($$076$us|0)!=(0);
$or$cond3$us = $17 | $16;
L10: do {
if ($or$cond3$us) {
$18 = (16 - ($$076$us))|0;
$19 = ($18>>>0)<($$073$us>>>0);
$20 = $19 ? $18 : $$073$us;
$21 = (((($0)) + 144|0) + ($$076$us)|0);
$22 = $21;
$23 = $$070$us;
$24 = $23 | $22;
$25 = $24 & 3;
$26 = ($25|0)==(0);
$27 = ($20>>>0)>(3);
$or$cond$i$us = $27 & $26;
if ($or$cond$i$us) {
$28 = (($20) + -4)|0;
$29 = $28 & -4;
$30 = (($29) + 4)|0;
$scevgep$i$us = (($$070$us) + ($30)|0);
$$02434$i$us = $$070$us;$$02533$i$us = $21;$$035$i$us = $20;
while(1) {
$31 = ((($$02434$i$us)) + 4|0);
$32 = HEAP32[$$02434$i$us>>2]|0;
$33 = ((($$02533$i$us)) + 4|0);
HEAP32[$$02533$i$us>>2] = $32;
$34 = (($$035$i$us) + -4)|0;
$35 = ($34>>>0)>(3);
if ($35) {
$$02434$i$us = $31;$$02533$i$us = $33;$$035$i$us = $34;
} else {
break;
}
}
$scevgep44$i$us = (($21) + ($30)|0);
$36 = (($28) - ($29))|0;
$$026$i$us = $scevgep$i$us;$$028$i$us = $scevgep44$i$us;$$1$i$us = $36;
} else {
$$026$i$us = $$070$us;$$028$i$us = $21;$$1$i$us = $20;
}
$37 = ($$1$i$us|0)==(0);
if (!($37)) {
$$12731$i$us = $$026$i$us;$$12930$i$us = $$028$i$us;$$232$i$us = $$1$i$us;
while(1) {
$38 = ((($$12731$i$us)) + 1|0);
$39 = HEAP8[$$12731$i$us>>0]|0;
$40 = ((($$12930$i$us)) + 1|0);
HEAP8[$$12930$i$us>>0] = $39;
$41 = (($$232$i$us) + -1)|0;
$42 = ($41|0)==(0);
if ($42) {
break;
} else {
$$12731$i$us = $38;$$12930$i$us = $40;$$232$i$us = $41;
}
}
}
$43 = (($20) + ($$076$us))|0;
$44 = (($$070$us) + ($20)|0);
$45 = (($$073$us) - ($20))|0;
$46 = ($45|0)==(0);
if ($46) {
$$3 = $$0$us;$$5 = $43;
break L1;
}
switch ($43|0) {
case 0: {
$$1$us = $$0$us;$$171$us9193 = $44;$$174$us9094 = $45;
break L10;
break;
}
case 16: {
break;
}
default: {
break L8;
}
}
$47 = (FUNCTION_TABLE_iiiii[$8 & 127]($0,$1,$14,1)|0);
$$1$us = $47;$$171$us9193 = $44;$$174$us9094 = $45;
} else {
$$1$us = $$0$us;$$171$us9193 = $$070$us;$$174$us9094 = $$073$us;
}
} while(0);
$48 = $$174$us9094 >>> 4;
$49 = ($48|0)==(0);
$50 = $$174$us9094 & -16;
if ($49) {
$$2$us = $$1$us;$$272$us = $$171$us9193;$$275$us = $$174$us9094;
} else {
$51 = (($$174$us9094) - ($50))|0;
$52 = (($$171$us9193) + ($50)|0);
$53 = (FUNCTION_TABLE_iiiii[$8 & 127]($0,$1,$$171$us9193,$48)|0);
$$2$us = $53;$$272$us = $52;$$275$us = $51;
}
$54 = ($$275$us|0)==(0);
if ($54) {
$$3 = $$2$us;$$5 = 0;
break L1;
} else {
$$0$us = $$2$us;$$070$us = $$272$us;$$073$us = $$275$us;$$076$us = 0;
}
}
__gcry_assert_failed(64445,64465,499,64478);
// unreachable;
} else {
$89 = $14;
label = 20;
}
}
} while(0);
L30: do {
if ((label|0) == 20) {
$$0 = 0;$$070 = $2;$$073 = $3;$$076 = $6;
L32: while(1) {
$55 = (($$073) + ($$076))|0;
$56 = ($55>>>0)<(16);
$57 = ($$076|0)!=(0);
$or$cond3 = $57 | $56;
if ($or$cond3) {
$58 = (16 - ($$076))|0;
$59 = ($58>>>0)<($$073>>>0);
$60 = $59 ? $58 : $$073;
$61 = (((($0)) + 144|0) + ($$076)|0);
$62 = $61;
$63 = $$070;
$64 = $63 | $62;
$65 = $64 & 3;
$66 = ($65|0)==(0);
$67 = ($60>>>0)>(3);
$or$cond$i = $67 & $66;
if ($or$cond$i) {
$68 = (($60) + -4)|0;
$69 = $68 & -4;
$70 = (($69) + 4)|0;
$scevgep$i = (($$070) + ($70)|0);
$$02434$i = $$070;$$02533$i = $61;$$035$i = $60;
while(1) {
$71 = ((($$02434$i)) + 4|0);
$72 = HEAP32[$$02434$i>>2]|0;
$73 = ((($$02533$i)) + 4|0);
HEAP32[$$02533$i>>2] = $72;
$74 = (($$035$i) + -4)|0;
$75 = ($74>>>0)>(3);
if ($75) {
$$02434$i = $71;$$02533$i = $73;$$035$i = $74;
} else {
break;
}
}
$scevgep44$i = (($61) + ($70)|0);
$76 = (($68) - ($69))|0;
$$026$i = $scevgep$i;$$028$i = $scevgep44$i;$$1$i = $76;
} else {
$$026$i = $$070;$$028$i = $61;$$1$i = $60;
}
$77 = ($$1$i|0)==(0);
if (!($77)) {
$$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i;
while(1) {
$78 = ((($$12731$i)) + 1|0);
$79 = HEAP8[$$12731$i>>0]|0;
$80 = ((($$12930$i)) + 1|0);
HEAP8[$$12930$i>>0] = $79;
$81 = (($$232$i) + -1)|0;
$82 = ($81|0)==(0);
if ($82) {
break;
} else {
$$12731$i = $78;$$12930$i = $80;$$232$i = $81;
}
}
}
$83 = (($60) + ($$076))|0;
$84 = (($$070) + ($60)|0);
$85 = (($$073) - ($60))|0;
$$171 = $84;$$174 = $85;$$177 = $83;
} else {
$$171 = $$070;$$174 = $$073;$$177 = 0;
}
$86 = ($$174|0)==(0);
$87 = ($$177>>>0)<(16);
$or$cond82 = $86 & $87;
if ($or$cond82) {
$scevgep87 = (((($0)) + 144|0) + ($$177)|0);
$88 = (16 - ($$177))|0;
_memset(($scevgep87|0),0,($88|0))|0;
label = 34;
} else {
switch ($$177|0) {
case 0: {
$$1 = $$0;
break;
}
case 16: {
label = 34;
break;
}
default: {
break L32;
}
}
}
if ((label|0) == 34) {
label = 0;
$90 = (FUNCTION_TABLE_iiiii[$8 & 127]($0,$1,$89,1)|0);
$$1 = $90;
}
$91 = $$174 >>> 4;
$92 = ($91|0)==(0);
$93 = $$174 & -16;
if ($92) {
$$2 = $$1;$$272 = $$171;$$275 = $$174;
} else {
$94 = (($$174) - ($93))|0;
$95 = (($$171) + ($93)|0);
$96 = (FUNCTION_TABLE_iiiii[$8 & 127]($0,$1,$$171,$91)|0);
$$2 = $96;$$272 = $95;$$275 = $94;
}
$97 = ($$275|0)==(0);
if ($97) {
$$3 = $$2;$$5 = 0;
break L30;
} else {
$$0 = $$2;$$070 = $$272;$$073 = $$275;$$076 = 0;
}
}
__gcry_assert_failed(64445,64465,499,64478);
// unreachable;
}
} while(0);
HEAP32[$5>>2] = $$5;
$98 = ($$3|0)==(0);
if ($98) {
return;
}
___gcry_burn_stack($$3);
return;
}
function __gcry_cipher_gcm_decrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $or$cond26 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($0)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($6)) + 20|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(16);
if (!($9)) {
$$0 = 12;
return ($$0|0);
}
$10 = ($2>>>0)<($4>>>0);
if ($10) {
$$0 = 200;
return ($$0|0);
}
$11 = ((($0)) + 128|0);
$12 = ((($0)) + 196|0);
$13 = HEAP8[$12>>0]|0;
$14 = $13 & 4;
$15 = ($14<<24>>24)==(0);
if (!($15)) {
$$0 = 139;
return ($$0|0);
}
$16 = ((($0)) + 56|0);
$17 = HEAP8[$16>>0]|0;
$18 = $17 & 4;
$19 = $13 & 1;
$20 = $18 | $19;
$21 = ($20<<24>>24)==(0);
if (!($21)) {
$$0 = 156;
return ($$0|0);
}
$22 = $17 & 2;
$23 = ($22<<24>>24)==(0);
if ($23) {
(__gcry_cipher_gcm_setiv($0,71200,16)|0);
$$pre = HEAP8[$12>>0]|0;
$25 = $$pre;
} else {
$25 = $13;
}
$24 = $25 & 2;
$26 = ($24<<24>>24)==(0);
if ($26) {
_do_ghash_buf($0,$11,0,0,1);
$27 = HEAP8[$12>>0]|0;
$28 = $27 | 2;
HEAP8[$12>>0] = $28;
$41 = $28;
} else {
$41 = $25;
}
$29 = ((($0)) + 172|0);
$30 = HEAP32[$29>>2]|0;
$31 = (($30) + ($4))|0;
HEAP32[$29>>2] = $31;
$32 = ($31>>>0)<($4>>>0);
$33 = ((($0)) + 176|0);
$34 = HEAP32[$33>>2]|0;
if ($32) {
$35 = (($34) + 1)|0;
HEAP32[$33>>2] = $35;
$37 = $35;
} else {
$37 = $34;
}
$36 = ($37>>>0)>(15);
if (!($36)) {
$38 = ($37|0)==(15);
$39 = ($31>>>0)>(4294967264);
$or$cond26 = $39 & $38;
if (!($or$cond26)) {
_do_ghash_buf($0,$11,$3,$4,0);
$42 = (__gcry_cipher_ctr_encrypt($0,$1,$2,$3,$4)|0);
$$0 = $42;
return ($$0|0);
}
}
$40 = $41 | 4;
HEAP8[$12>>0] = $40;
$$0 = 139;
return ($$0|0);
}
function __gcry_cipher_gcm_setkey($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0;
var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
var $225 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 208|0);
;HEAP32[$1>>2]=0|0;HEAP32[$1+4>>2]=0|0;HEAP32[$1+8>>2]=0|0;HEAP32[$1+12>>2]=0|0;
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($3)) + 36|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($0)) + 496|0);
(FUNCTION_TABLE_iiii[$5 & 127]($6,$1,$1)|0);
$7 = ((($0)) + 224|0);
HEAP32[$7>>2] = 82;
$8 = ((($0)) + 228|0);
;HEAP32[$8>>2]=0|0;HEAP32[$8+4>>2]=0|0;HEAP32[$8+8>>2]=0|0;HEAP32[$8+12>>2]=0|0;
$9 = HEAP8[$1>>0]|0;
$10 = $9&255;
$11 = $10 << 24;
$12 = ((($1)) + 1|0);
$13 = HEAP8[$12>>0]|0;
$14 = $13&255;
$15 = $14 << 16;
$16 = $15 | $11;
$17 = ((($1)) + 2|0);
$18 = HEAP8[$17>>0]|0;
$19 = $18&255;
$20 = $19 << 8;
$21 = $16 | $20;
$22 = ((($1)) + 3|0);
$23 = HEAP8[$22>>0]|0;
$24 = $23&255;
$25 = $21 | $24;
$26 = ((($0)) + 356|0);
HEAP32[$26>>2] = $25;
$27 = ((($1)) + 4|0);
$28 = HEAP8[$27>>0]|0;
$29 = $28&255;
$30 = $29 << 24;
$31 = ((($1)) + 5|0);
$32 = HEAP8[$31>>0]|0;
$33 = $32&255;
$34 = $33 << 16;
$35 = $34 | $30;
$36 = ((($1)) + 6|0);
$37 = HEAP8[$36>>0]|0;
$38 = $37&255;
$39 = $38 << 8;
$40 = $35 | $39;
$41 = ((($1)) + 7|0);
$42 = HEAP8[$41>>0]|0;
$43 = $42&255;
$44 = $40 | $43;
$45 = ((($0)) + 360|0);
HEAP32[$45>>2] = $44;
$46 = ((($0)) + 216|0);
$47 = HEAP8[$46>>0]|0;
$48 = $47&255;
$49 = $48 << 24;
$50 = ((($0)) + 217|0);
$51 = HEAP8[$50>>0]|0;
$52 = $51&255;
$53 = $52 << 16;
$54 = $53 | $49;
$55 = ((($0)) + 218|0);
$56 = HEAP8[$55>>0]|0;
$57 = $56&255;
$58 = $57 << 8;
$59 = $54 | $58;
$60 = ((($0)) + 219|0);
$61 = HEAP8[$60>>0]|0;
$62 = $61&255;
$63 = $59 | $62;
$64 = ((($0)) + 364|0);
HEAP32[$64>>2] = $63;
$65 = ((($0)) + 220|0);
$66 = HEAP8[$65>>0]|0;
$67 = $66&255;
$68 = $67 << 24;
$69 = ((($0)) + 221|0);
$70 = HEAP8[$69>>0]|0;
$71 = $70&255;
$72 = $71 << 16;
$73 = $72 | $68;
$74 = ((($0)) + 222|0);
$75 = HEAP8[$74>>0]|0;
$76 = $75&255;
$77 = $76 << 8;
$78 = $73 | $77;
$79 = ((($0)) + 223|0);
$80 = HEAP8[$79>>0]|0;
$81 = $80&255;
$82 = $78 | $81;
$83 = ((($0)) + 368|0);
HEAP32[$83>>2] = $82;
$84 = ((($0)) + 292|0);
$85 = ((($0)) + 296|0);
$86 = ((($0)) + 300|0);
$87 = ((($0)) + 304|0);
$88 = $81 & 1;
$89 = ($88|0)==(0);
$90 = $89 ? 0 : -520093696;
$91 = $82 >>> 1;
$92 = $62 << 31;
$93 = $91 | $92;
HEAP32[$87>>2] = $93;
$94 = $63 >>> 1;
$95 = $43 << 31;
$96 = $94 | $95;
HEAP32[$86>>2] = $96;
$97 = $44 >>> 1;
$98 = $24 << 31;
$99 = $97 | $98;
HEAP32[$85>>2] = $99;
$100 = $25 >>> 1;
$101 = $90 ^ $100;
HEAP32[$84>>2] = $101;
$102 = ((($0)) + 260|0);
$103 = ((($0)) + 264|0);
$104 = ((($0)) + 268|0);
$105 = ((($0)) + 272|0);
$106 = $81 & 2;
$107 = ($106|0)==(0);
$108 = $107 ? 0 : -520093696;
$109 = $93 >>> 1;
$110 = $94 << 31;
$111 = $109 | $110;
HEAP32[$105>>2] = $111;
$112 = $96 >>> 1;
$113 = $97 << 31;
$114 = $112 | $113;
HEAP32[$104>>2] = $114;
$115 = $99 >>> 1;
$116 = $100 << 31;
$117 = $115 | $116;
HEAP32[$103>>2] = $117;
$118 = $101 >>> 1;
$119 = $118 ^ $108;
HEAP32[$102>>2] = $119;
$120 = ((($0)) + 244|0);
$121 = ((($0)) + 248|0);
$122 = ((($0)) + 252|0);
$123 = ((($0)) + 256|0);
$124 = $81 & 4;
$125 = ($124|0)==(0);
$126 = $125 ? 0 : -520093696;
$127 = $111 >>> 1;
$128 = $112 << 31;
$129 = $127 | $128;
HEAP32[$123>>2] = $129;
$130 = $114 >>> 1;
$131 = $115 << 31;
$132 = $130 | $131;
HEAP32[$122>>2] = $132;
$133 = $117 >>> 1;
$134 = $118 << 31;
$135 = $134 | $133;
HEAP32[$121>>2] = $135;
$136 = $119 >>> 1;
$137 = $136 ^ $126;
HEAP32[$120>>2] = $137;
$138 = $137 ^ $119;
$139 = ((($0)) + 276|0);
HEAP32[$139>>2] = $138;
$140 = $135 ^ $117;
$141 = ((($0)) + 280|0);
HEAP32[$141>>2] = $140;
$142 = $132 ^ $114;
$143 = ((($0)) + 284|0);
HEAP32[$143>>2] = $142;
$144 = $129 ^ $111;
$145 = ((($0)) + 288|0);
HEAP32[$145>>2] = $144;
$146 = $137 ^ $101;
$147 = ((($0)) + 308|0);
HEAP32[$147>>2] = $146;
$148 = $135 ^ $99;
$149 = ((($0)) + 312|0);
HEAP32[$149>>2] = $148;
$150 = $132 ^ $96;
$151 = ((($0)) + 316|0);
HEAP32[$151>>2] = $150;
$152 = $129 ^ $93;
$153 = ((($0)) + 320|0);
HEAP32[$153>>2] = $152;
$154 = $119 ^ $101;
$155 = ((($0)) + 324|0);
HEAP32[$155>>2] = $154;
$156 = $117 ^ $99;
$157 = ((($0)) + 328|0);
HEAP32[$157>>2] = $156;
$158 = $114 ^ $96;
$159 = ((($0)) + 332|0);
HEAP32[$159>>2] = $158;
$160 = $111 ^ $93;
$161 = ((($0)) + 336|0);
HEAP32[$161>>2] = $160;
$162 = $138 ^ $101;
$163 = ((($0)) + 340|0);
HEAP32[$163>>2] = $162;
$164 = $140 ^ $99;
$165 = ((($0)) + 344|0);
HEAP32[$165>>2] = $164;
$166 = $142 ^ $96;
$167 = ((($0)) + 348|0);
HEAP32[$167>>2] = $166;
$168 = $144 ^ $93;
$169 = ((($0)) + 352|0);
HEAP32[$169>>2] = $168;
$170 = $137 ^ $25;
$171 = ((($0)) + 372|0);
HEAP32[$171>>2] = $170;
$172 = $135 ^ $44;
$173 = ((($0)) + 376|0);
HEAP32[$173>>2] = $172;
$174 = $132 ^ $63;
$175 = ((($0)) + 380|0);
HEAP32[$175>>2] = $174;
$176 = $129 ^ $82;
$177 = ((($0)) + 384|0);
HEAP32[$177>>2] = $176;
$178 = $119 ^ $25;
$179 = ((($0)) + 388|0);
HEAP32[$179>>2] = $178;
$180 = $117 ^ $44;
$181 = ((($0)) + 392|0);
HEAP32[$181>>2] = $180;
$182 = $114 ^ $63;
$183 = ((($0)) + 396|0);
HEAP32[$183>>2] = $182;
$184 = $111 ^ $82;
$185 = ((($0)) + 400|0);
HEAP32[$185>>2] = $184;
$186 = $138 ^ $25;
$187 = ((($0)) + 404|0);
HEAP32[$187>>2] = $186;
$188 = $140 ^ $44;
$189 = ((($0)) + 408|0);
HEAP32[$189>>2] = $188;
$190 = $142 ^ $63;
$191 = ((($0)) + 412|0);
HEAP32[$191>>2] = $190;
$192 = $144 ^ $82;
$193 = ((($0)) + 416|0);
HEAP32[$193>>2] = $192;
$194 = $101 ^ $25;
$195 = ((($0)) + 420|0);
HEAP32[$195>>2] = $194;
$196 = $99 ^ $44;
$197 = ((($0)) + 424|0);
HEAP32[$197>>2] = $196;
$198 = $96 ^ $63;
$199 = ((($0)) + 428|0);
HEAP32[$199>>2] = $198;
$200 = $93 ^ $82;
$201 = ((($0)) + 432|0);
HEAP32[$201>>2] = $200;
$202 = $146 ^ $25;
$203 = ((($0)) + 436|0);
HEAP32[$203>>2] = $202;
$204 = $148 ^ $44;
$205 = ((($0)) + 440|0);
HEAP32[$205>>2] = $204;
$206 = $150 ^ $63;
$207 = ((($0)) + 444|0);
HEAP32[$207>>2] = $206;
$208 = $152 ^ $82;
$209 = ((($0)) + 448|0);
HEAP32[$209>>2] = $208;
$210 = $154 ^ $25;
$211 = ((($0)) + 452|0);
HEAP32[$211>>2] = $210;
$212 = $156 ^ $44;
$213 = ((($0)) + 456|0);
HEAP32[$213>>2] = $212;
$214 = $158 ^ $63;
$215 = ((($0)) + 460|0);
HEAP32[$215>>2] = $214;
$216 = $160 ^ $82;
$217 = ((($0)) + 464|0);
HEAP32[$217>>2] = $216;
$218 = $162 ^ $25;
$219 = ((($0)) + 468|0);
HEAP32[$219>>2] = $218;
$220 = $164 ^ $44;
$221 = ((($0)) + 472|0);
HEAP32[$221>>2] = $220;
$222 = $166 ^ $63;
$223 = ((($0)) + 476|0);
HEAP32[$223>>2] = $222;
$224 = $168 ^ $82;
$225 = ((($0)) + 480|0);
HEAP32[$225>>2] = $224;
return;
}
function _ghash_internal($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$i = 0, $$0$lcssa22 = 0, $$01017 = 0, $$01116 = 0, $$070$i = 0, $$sroa$044$0$i = 0, $$sroa$15$0$i = 0, $$sroa$22$0$i = 0, $$sroa$8$0$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0;
var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0;
var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0;
var $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0;
var $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0;
var $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0;
var $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$4 = sp;
$5 = ($3|0)==(0);
if ($5) {
$$0$lcssa22 = 0;$266 = 0;
$265 = (($266) + ($$0$lcssa22))|0;
STACKTOP = sp;return ($265|0);
}
$6 = $1;
$7 = ((($1)) + 4|0);
$8 = ((($4)) + 4|0);
$9 = ((($1)) + 8|0);
$10 = ((($4)) + 8|0);
$11 = ((($1)) + 12|0);
$12 = ((($4)) + 12|0);
$13 = ((($1)) + 1|0);
$14 = ((($4)) + 1|0);
$15 = ((($1)) + 2|0);
$16 = ((($4)) + 2|0);
$17 = ((($1)) + 3|0);
$18 = ((($4)) + 3|0);
$19 = ((($1)) + 5|0);
$20 = ((($4)) + 5|0);
$21 = ((($1)) + 6|0);
$22 = ((($4)) + 6|0);
$23 = ((($1)) + 7|0);
$24 = ((($4)) + 7|0);
$25 = ((($1)) + 9|0);
$26 = ((($4)) + 9|0);
$27 = ((($1)) + 10|0);
$28 = ((($4)) + 10|0);
$29 = ((($1)) + 11|0);
$30 = ((($4)) + 11|0);
$31 = ((($1)) + 13|0);
$32 = ((($4)) + 13|0);
$33 = ((($1)) + 14|0);
$34 = ((($4)) + 14|0);
$35 = ((($1)) + 15|0);
$36 = ((($4)) + 15|0);
$$01017 = $2;$$01116 = $3;
while(1) {
$37 = $$01017;
$38 = $37 | $6;
$39 = $38 & 3;
$40 = ($39|0)==(0);
if ($40) {
$41 = HEAP32[$1>>2]|0;
$42 = ((($$01017)) + 4|0);
$43 = HEAP32[$$01017>>2]|0;
$44 = $43 ^ $41;
HEAP32[$4>>2] = $44;
$45 = HEAP32[$7>>2]|0;
$46 = ((($$01017)) + 8|0);
$47 = HEAP32[$42>>2]|0;
$48 = $47 ^ $45;
HEAP32[$8>>2] = $48;
$49 = HEAP32[$9>>2]|0;
$50 = ((($$01017)) + 12|0);
$51 = HEAP32[$46>>2]|0;
$52 = $51 ^ $49;
HEAP32[$10>>2] = $52;
$53 = HEAP32[$11>>2]|0;
$54 = HEAP32[$50>>2]|0;
$55 = $54 ^ $53;
HEAP32[$12>>2] = $55;
$56 = $55 >>> 24;
$57 = $56&255;
$58 = $55 >>> 16;
$59 = $58&255;
$124 = $57;$132 = $59;
} else {
$60 = HEAP8[$1>>0]|0;
$61 = ((($$01017)) + 1|0);
$62 = HEAP8[$$01017>>0]|0;
$63 = $62 ^ $60;
HEAP8[$4>>0] = $63;
$64 = HEAP8[$13>>0]|0;
$65 = ((($$01017)) + 2|0);
$66 = HEAP8[$61>>0]|0;
$67 = $66 ^ $64;
HEAP8[$14>>0] = $67;
$68 = HEAP8[$15>>0]|0;
$69 = ((($$01017)) + 3|0);
$70 = HEAP8[$65>>0]|0;
$71 = $70 ^ $68;
HEAP8[$16>>0] = $71;
$72 = HEAP8[$17>>0]|0;
$73 = ((($$01017)) + 4|0);
$74 = HEAP8[$69>>0]|0;
$75 = $74 ^ $72;
HEAP8[$18>>0] = $75;
$76 = HEAP8[$7>>0]|0;
$77 = ((($$01017)) + 5|0);
$78 = HEAP8[$73>>0]|0;
$79 = $78 ^ $76;
HEAP8[$8>>0] = $79;
$80 = HEAP8[$19>>0]|0;
$81 = ((($$01017)) + 6|0);
$82 = HEAP8[$77>>0]|0;
$83 = $82 ^ $80;
HEAP8[$20>>0] = $83;
$84 = HEAP8[$21>>0]|0;
$85 = ((($$01017)) + 7|0);
$86 = HEAP8[$81>>0]|0;
$87 = $86 ^ $84;
HEAP8[$22>>0] = $87;
$88 = HEAP8[$23>>0]|0;
$89 = ((($$01017)) + 8|0);
$90 = HEAP8[$85>>0]|0;
$91 = $90 ^ $88;
HEAP8[$24>>0] = $91;
$92 = HEAP8[$9>>0]|0;
$93 = ((($$01017)) + 9|0);
$94 = HEAP8[$89>>0]|0;
$95 = $94 ^ $92;
HEAP8[$10>>0] = $95;
$96 = HEAP8[$25>>0]|0;
$97 = ((($$01017)) + 10|0);
$98 = HEAP8[$93>>0]|0;
$99 = $98 ^ $96;
HEAP8[$26>>0] = $99;
$100 = HEAP8[$27>>0]|0;
$101 = ((($$01017)) + 11|0);
$102 = HEAP8[$97>>0]|0;
$103 = $102 ^ $100;
HEAP8[$28>>0] = $103;
$104 = HEAP8[$29>>0]|0;
$105 = ((($$01017)) + 12|0);
$106 = HEAP8[$101>>0]|0;
$107 = $106 ^ $104;
HEAP8[$30>>0] = $107;
$108 = HEAP8[$11>>0]|0;
$109 = ((($$01017)) + 13|0);
$110 = HEAP8[$105>>0]|0;
$111 = $110 ^ $108;
HEAP8[$12>>0] = $111;
$112 = HEAP8[$31>>0]|0;
$113 = ((($$01017)) + 14|0);
$114 = HEAP8[$109>>0]|0;
$115 = $114 ^ $112;
HEAP8[$32>>0] = $115;
$116 = HEAP8[$33>>0]|0;
$117 = ((($$01017)) + 15|0);
$118 = HEAP8[$113>>0]|0;
$119 = $118 ^ $116;
HEAP8[$34>>0] = $119;
$120 = HEAP8[$35>>0]|0;
$121 = HEAP8[$117>>0]|0;
$122 = $121 ^ $120;
HEAP8[$36>>0] = $122;
$124 = $122;$132 = $119;
}
$123 = $124&255;
$125 = $123 << 2;
$126 = $125 & 60;
$127 = (((($0)) + 228|0) + ($126<<2)|0);
$128 = $123 >>> 4;
$129 = $128 << 2;
$130 = (((($0)) + 228|0) + ($129<<2)|0);
$131 = $132&255;
$133 = HEAP32[$127>>2]|0;
$134 = $133 >>> 4;
$135 = ((($127)) + 12|0);
$136 = HEAP32[$135>>2]|0;
$137 = $136 << 4;
$138 = $137 & 240;
$139 = (15696 + ($138<<1)|0);
$140 = HEAP16[$139>>1]|0;
$141 = $140&65535;
$142 = $141 << 16;
$143 = HEAP32[$130>>2]|0;
$144 = $143 ^ $134;
$145 = $144 ^ $142;
$146 = ((($127)) + 4|0);
$147 = HEAP32[$146>>2]|0;
$148 = $147 >>> 4;
$149 = $133 << 28;
$150 = $148 | $149;
$151 = ((($130)) + 4|0);
$152 = HEAP32[$151>>2]|0;
$153 = $150 ^ $152;
$154 = ((($127)) + 8|0);
$155 = HEAP32[$154>>2]|0;
$156 = $155 >>> 4;
$157 = $147 << 28;
$158 = $156 | $157;
$159 = ((($130)) + 8|0);
$160 = HEAP32[$159>>2]|0;
$161 = $158 ^ $160;
$162 = $136 >>> 4;
$163 = $155 << 28;
$164 = $163 | $162;
$165 = ((($130)) + 12|0);
$166 = HEAP32[$165>>2]|0;
$167 = $164 ^ $166;
$$0$i = 14;$$070$i = $131;$$sroa$044$0$i = $145;$$sroa$15$0$i = $161;$$sroa$22$0$i = $167;$$sroa$8$0$i = $153;
while(1) {
$168 = $$070$i << 2;
$169 = $168 & 60;
$170 = (((($0)) + 228|0) + ($169<<2)|0);
$171 = $$070$i >>> 4;
$172 = $171 << 2;
$173 = (((($0)) + 228|0) + ($172<<2)|0);
$174 = $$sroa$044$0$i >>> 8;
$175 = $$sroa$22$0$i & 255;
$176 = (15696 + ($175<<1)|0);
$177 = HEAP16[$176>>1]|0;
$178 = $177&65535;
$179 = $178 << 16;
$180 = HEAP32[$173>>2]|0;
$181 = $$sroa$044$0$i << 24;
$182 = $$sroa$8$0$i >>> 8;
$183 = $182 | $181;
$184 = ((($173)) + 4|0);
$185 = HEAP32[$184>>2]|0;
$186 = $185 ^ $183;
$187 = $$sroa$8$0$i << 24;
$188 = $$sroa$15$0$i >>> 8;
$189 = $188 | $187;
$190 = ((($173)) + 8|0);
$191 = HEAP32[$190>>2]|0;
$192 = $191 ^ $189;
$193 = $$sroa$15$0$i << 24;
$194 = $$sroa$22$0$i >>> 8;
$195 = $194 | $193;
$196 = ((($173)) + 12|0);
$197 = HEAP32[$196>>2]|0;
$198 = $197 ^ $195;
$199 = HEAP32[$170>>2]|0;
$200 = $199 >>> 4;
$201 = ((($170)) + 12|0);
$202 = HEAP32[$201>>2]|0;
$203 = $202 << 4;
$204 = $203 & 240;
$205 = (15696 + ($204<<1)|0);
$206 = HEAP16[$205>>1]|0;
$207 = $206&65535;
$208 = $207 << 16;
$209 = $180 ^ $174;
$210 = $209 ^ $179;
$211 = $210 ^ $200;
$212 = $208 ^ $211;
$213 = ((($170)) + 4|0);
$214 = HEAP32[$213>>2]|0;
$215 = $214 >>> 4;
$216 = $199 << 28;
$217 = $215 | $216;
$218 = $186 ^ $217;
$219 = ((($170)) + 8|0);
$220 = HEAP32[$219>>2]|0;
$221 = $220 >>> 4;
$222 = $214 << 28;
$223 = $221 | $222;
$224 = $192 ^ $223;
$225 = $202 >>> 4;
$226 = $220 << 28;
$227 = $226 | $225;
$228 = $198 ^ $227;
$229 = ($$0$i|0)==(0);
if ($229) {
break;
}
$230 = (($$0$i) + -1)|0;
$231 = (($4) + ($230)|0);
$232 = HEAP8[$231>>0]|0;
$233 = $232&255;
$$0$i = $230;$$070$i = $233;$$sroa$044$0$i = $212;$$sroa$15$0$i = $224;$$sroa$22$0$i = $228;$$sroa$8$0$i = $218;
}
$234 = $212 >>> 24;
$235 = $234&255;
HEAP8[$1>>0] = $235;
$236 = $212 >>> 16;
$237 = $236&255;
HEAP8[$13>>0] = $237;
$238 = $211 >>> 8;
$239 = $238&255;
HEAP8[$15>>0] = $239;
$240 = $211&255;
HEAP8[$17>>0] = $240;
$241 = $218 >>> 24;
$242 = $241&255;
HEAP8[$7>>0] = $242;
$243 = $218 >>> 16;
$244 = $243&255;
HEAP8[$19>>0] = $244;
$245 = $218 >>> 8;
$246 = $245&255;
HEAP8[$21>>0] = $246;
$247 = $218&255;
HEAP8[$23>>0] = $247;
$248 = $224 >>> 24;
$249 = $248&255;
HEAP8[$9>>0] = $249;
$250 = $224 >>> 16;
$251 = $250&255;
HEAP8[$25>>0] = $251;
$252 = $224 >>> 8;
$253 = $252&255;
HEAP8[$27>>0] = $253;
$254 = $224&255;
HEAP8[$29>>0] = $254;
$255 = $228 >>> 24;
$256 = $255&255;
HEAP8[$11>>0] = $256;
$257 = $228 >>> 16;
$258 = $257&255;
HEAP8[$31>>0] = $258;
$259 = $228 >>> 8;
$260 = $259&255;
HEAP8[$33>>0] = $260;
$261 = $228&255;
HEAP8[$35>>0] = $261;
$262 = ((($$01017)) + 16|0);
$263 = (($$01116) + -1)|0;
$264 = ($263|0)==(0);
if ($264) {
$$0$lcssa22 = 76;$266 = 20;
break;
} else {
$$01017 = $262;$$01116 = $263;
}
}
$265 = (($266) + ($$0$lcssa22))|0;
STACKTOP = sp;return ($265|0);
}
function __gcry_cipher_ocb_get_l($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$i12 = 0, $$011 = 0, $$013 = 0, $$phi$trans$insert = 0, $$phi$trans$insert60 = 0, $$phi$trans$insert62 = 0, $$phi$trans$insert64 = 0, $$phi$trans$insert66 = 0, $$phi$trans$insert68 = 0, $$phi$trans$insert70 = 0, $$phi$trans$insert72 = 0, $$phi$trans$insert74 = 0, $$phi$trans$insert76 = 0, $$phi$trans$insert78 = 0, $$phi$trans$insert80 = 0, $$phi$trans$insert82 = 0, $$phi$trans$insert84 = 0, $$phi$trans$insert86 = 0, $$pre = 0, $$pre$phi100Z2D = 0;
var $$pre$phi102Z2D = 0, $$pre$phi104Z2D = 0, $$pre$phi106Z2D = 0, $$pre$phi107Z2D = 0, $$pre$phi109Z2D = 0, $$pre$phi111Z2D = 0, $$pre$phi113Z2D = 0, $$pre$phi90Z2D = 0, $$pre$phi92Z2D = 0, $$pre$phi93Z2D = 0, $$pre$phi95Z2D = 0, $$pre$phi97Z2D = 0, $$pre$phi99Z2D = 0, $$pre$phiZ2D = 0, $$pre101 = 0, $$pre103 = 0, $$pre105 = 0, $$pre108 = 0, $$pre110 = 0, $$pre112 = 0;
var $$pre59 = 0, $$pre61 = 0, $$pre63 = 0, $$pre65 = 0, $$pre67 = 0, $$pre69 = 0, $$pre71 = 0, $$pre73 = 0, $$pre75 = 0, $$pre77 = 0, $$pre79 = 0, $$pre81 = 0, $$pre83 = 0, $$pre85 = 0, $$pre87 = 0, $$pre88 = 0, $$pre89 = 0, $$pre91 = 0, $$pre94 = 0, $$pre96 = 0;
var $$pre98 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0;
var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0;
var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0;
var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0;
var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0;
var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0;
var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0;
var $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0;
var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0;
var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0;
var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($2|0)==(0);
$5 = (0)==(0);
$6 = $4 & $5;
if ($6) {
$7 = (_llvm_cttz_i32(($3|0))|0);
$8 = (($7) + 32)|0;
$$0$i12 = $8;
} else {
$9 = (_llvm_cttz_i32(($2|0))|0);
$10 = ($9>>>0)<(16);
if ($10) {
$11 = ((($0)) + 160|0);
$12 = (($11) + ($9<<4)|0);
$$011 = $12;
return ($$011|0);
} else {
$$0$i12 = $9;
}
}
$13 = ((($0)) + 160|0);
$14 = ((($13)) + 240|0);
$15 = ($14|0)==($1|0);
do {
if ($15) {
$$pre = HEAP8[$1>>0]|0;
$$phi$trans$insert = ((($1)) + 1|0);
$$pre59 = HEAP8[$$phi$trans$insert>>0]|0;
$$phi$trans$insert60 = ((($1)) + 2|0);
$$pre61 = HEAP8[$$phi$trans$insert60>>0]|0;
$$phi$trans$insert62 = ((($1)) + 3|0);
$$pre63 = HEAP8[$$phi$trans$insert62>>0]|0;
$$phi$trans$insert64 = ((($1)) + 4|0);
$$pre65 = HEAP8[$$phi$trans$insert64>>0]|0;
$$phi$trans$insert66 = ((($1)) + 5|0);
$$pre67 = HEAP8[$$phi$trans$insert66>>0]|0;
$$phi$trans$insert68 = ((($1)) + 6|0);
$$pre69 = HEAP8[$$phi$trans$insert68>>0]|0;
$$phi$trans$insert70 = ((($1)) + 7|0);
$$pre71 = HEAP8[$$phi$trans$insert70>>0]|0;
$$phi$trans$insert72 = ((($1)) + 8|0);
$$pre73 = HEAP8[$$phi$trans$insert72>>0]|0;
$$phi$trans$insert74 = ((($1)) + 9|0);
$$pre75 = HEAP8[$$phi$trans$insert74>>0]|0;
$$phi$trans$insert76 = ((($1)) + 10|0);
$$pre77 = HEAP8[$$phi$trans$insert76>>0]|0;
$$phi$trans$insert78 = ((($1)) + 11|0);
$$pre79 = HEAP8[$$phi$trans$insert78>>0]|0;
$$phi$trans$insert80 = ((($1)) + 12|0);
$$pre81 = HEAP8[$$phi$trans$insert80>>0]|0;
$$phi$trans$insert82 = ((($1)) + 13|0);
$$pre83 = HEAP8[$$phi$trans$insert82>>0]|0;
$$phi$trans$insert84 = ((($1)) + 14|0);
$$pre85 = HEAP8[$$phi$trans$insert84>>0]|0;
$$phi$trans$insert86 = ((($1)) + 15|0);
$$pre87 = HEAP8[$$phi$trans$insert86>>0]|0;
$$pre$phi100Z2D = $$phi$trans$insert72;$$pre$phi102Z2D = $$phi$trans$insert74;$$pre$phi104Z2D = $$phi$trans$insert76;$$pre$phi106Z2D = $$phi$trans$insert78;$$pre$phi107Z2D = $$phi$trans$insert80;$$pre$phi109Z2D = $$phi$trans$insert82;$$pre$phi111Z2D = $$phi$trans$insert84;$$pre$phi113Z2D = $$phi$trans$insert86;$$pre$phi90Z2D = $$phi$trans$insert60;$$pre$phi92Z2D = $$phi$trans$insert62;$$pre$phi93Z2D = $$phi$trans$insert64;$$pre$phi95Z2D = $$phi$trans$insert66;$$pre$phi97Z2D = $$phi$trans$insert68;$$pre$phi99Z2D = $$phi$trans$insert70;$$pre$phiZ2D = $$phi$trans$insert;$106 = $$pre;$110 = $$pre59;$116 = $$pre61;$122 = $$pre63;$125 = $$pre65;$131 = $$pre67;$137 = $$pre69;$143 = $$pre71;$146 = $$pre73;$150 = $$pre75;$156 = $$pre77;$162 = $$pre79;$165 = $$pre81;$171 = $$pre83;$177 = $$pre85;$183 = $$pre87;
} else {
$16 = $1;
$17 = $14;
$18 = $17 | $16;
$19 = $18 & 3;
$20 = ($19|0)==(0);
if ($20) {
$21 = ((($13)) + 244|0);
$22 = HEAP32[$14>>2]|0;
$23 = ((($1)) + 4|0);
HEAP32[$1>>2] = $22;
$24 = ((($13)) + 248|0);
$25 = HEAP32[$21>>2]|0;
$26 = ((($1)) + 8|0);
HEAP32[$23>>2] = $25;
$27 = ((($13)) + 252|0);
$28 = HEAP32[$24>>2]|0;
$29 = ((($1)) + 12|0);
HEAP32[$26>>2] = $28;
$30 = HEAP32[$27>>2]|0;
HEAP32[$29>>2] = $30;
$31 = $22&255;
$32 = $22 >>> 8;
$33 = $32&255;
$34 = $22 >>> 16;
$35 = $34&255;
$36 = $22 >>> 24;
$37 = $36&255;
$38 = $25&255;
$39 = $25 >>> 8;
$40 = $39&255;
$41 = $25 >>> 16;
$42 = $41&255;
$43 = $25 >>> 24;
$44 = $43&255;
$45 = $28&255;
$46 = $28 >>> 8;
$47 = $46&255;
$48 = $28 >>> 16;
$49 = $48&255;
$50 = $28 >>> 24;
$51 = $50&255;
$52 = $30&255;
$53 = $30 >>> 8;
$54 = $53&255;
$55 = $30 >>> 16;
$56 = $55&255;
$57 = $30 >>> 24;
$58 = $57&255;
$$pre88 = ((($1)) + 1|0);
$$pre89 = ((($1)) + 2|0);
$$pre91 = ((($1)) + 3|0);
$$pre94 = ((($1)) + 5|0);
$$pre96 = ((($1)) + 6|0);
$$pre98 = ((($1)) + 7|0);
$$pre101 = ((($1)) + 9|0);
$$pre103 = ((($1)) + 10|0);
$$pre105 = ((($1)) + 11|0);
$$pre108 = ((($1)) + 13|0);
$$pre110 = ((($1)) + 14|0);
$$pre112 = ((($1)) + 15|0);
$$pre$phi100Z2D = $26;$$pre$phi102Z2D = $$pre101;$$pre$phi104Z2D = $$pre103;$$pre$phi106Z2D = $$pre105;$$pre$phi107Z2D = $29;$$pre$phi109Z2D = $$pre108;$$pre$phi111Z2D = $$pre110;$$pre$phi113Z2D = $$pre112;$$pre$phi90Z2D = $$pre89;$$pre$phi92Z2D = $$pre91;$$pre$phi93Z2D = $23;$$pre$phi95Z2D = $$pre94;$$pre$phi97Z2D = $$pre96;$$pre$phi99Z2D = $$pre98;$$pre$phiZ2D = $$pre88;$106 = $31;$110 = $33;$116 = $35;$122 = $37;$125 = $38;$131 = $40;$137 = $42;$143 = $44;$146 = $45;$150 = $47;$156 = $49;$162 = $51;$165 = $52;$171 = $54;$177 = $56;$183 = $58;
break;
} else {
$59 = ((($14)) + 1|0);
$60 = HEAP8[$14>>0]|0;
$61 = ((($1)) + 1|0);
HEAP8[$1>>0] = $60;
$62 = ((($14)) + 2|0);
$63 = HEAP8[$59>>0]|0;
$64 = ((($1)) + 2|0);
HEAP8[$61>>0] = $63;
$65 = ((($14)) + 3|0);
$66 = HEAP8[$62>>0]|0;
$67 = ((($1)) + 3|0);
HEAP8[$64>>0] = $66;
$68 = ((($13)) + 244|0);
$69 = HEAP8[$65>>0]|0;
$70 = ((($1)) + 4|0);
HEAP8[$67>>0] = $69;
$71 = ((($14)) + 5|0);
$72 = HEAP8[$68>>0]|0;
$73 = ((($1)) + 5|0);
HEAP8[$70>>0] = $72;
$74 = ((($14)) + 6|0);
$75 = HEAP8[$71>>0]|0;
$76 = ((($1)) + 6|0);
HEAP8[$73>>0] = $75;
$77 = ((($14)) + 7|0);
$78 = HEAP8[$74>>0]|0;
$79 = ((($1)) + 7|0);
HEAP8[$76>>0] = $78;
$80 = ((($13)) + 248|0);
$81 = HEAP8[$77>>0]|0;
$82 = ((($1)) + 8|0);
HEAP8[$79>>0] = $81;
$83 = ((($14)) + 9|0);
$84 = HEAP8[$80>>0]|0;
$85 = ((($1)) + 9|0);
HEAP8[$82>>0] = $84;
$86 = ((($14)) + 10|0);
$87 = HEAP8[$83>>0]|0;
$88 = ((($1)) + 10|0);
HEAP8[$85>>0] = $87;
$89 = ((($14)) + 11|0);
$90 = HEAP8[$86>>0]|0;
$91 = ((($1)) + 11|0);
HEAP8[$88>>0] = $90;
$92 = ((($13)) + 252|0);
$93 = HEAP8[$89>>0]|0;
$94 = ((($1)) + 12|0);
HEAP8[$91>>0] = $93;
$95 = ((($14)) + 13|0);
$96 = HEAP8[$92>>0]|0;
$97 = ((($1)) + 13|0);
HEAP8[$94>>0] = $96;
$98 = ((($14)) + 14|0);
$99 = HEAP8[$95>>0]|0;
$100 = ((($1)) + 14|0);
HEAP8[$97>>0] = $99;
$101 = ((($14)) + 15|0);
$102 = HEAP8[$98>>0]|0;
$103 = ((($1)) + 15|0);
HEAP8[$100>>0] = $102;
$104 = HEAP8[$101>>0]|0;
HEAP8[$103>>0] = $104;
$$pre$phi100Z2D = $82;$$pre$phi102Z2D = $85;$$pre$phi104Z2D = $88;$$pre$phi106Z2D = $91;$$pre$phi107Z2D = $94;$$pre$phi109Z2D = $97;$$pre$phi111Z2D = $100;$$pre$phi113Z2D = $103;$$pre$phi90Z2D = $64;$$pre$phi92Z2D = $67;$$pre$phi93Z2D = $70;$$pre$phi95Z2D = $73;$$pre$phi97Z2D = $76;$$pre$phi99Z2D = $79;$$pre$phiZ2D = $61;$106 = $60;$110 = $63;$116 = $66;$122 = $69;$125 = $72;$131 = $75;$137 = $78;$143 = $81;$146 = $84;$150 = $87;$156 = $90;$162 = $93;$165 = $96;$171 = $99;$177 = $102;$183 = $104;
break;
}
}
} while(0);
$105 = $106&255;
$107 = (_bitshift64Shl(($105|0),0,56)|0);
$108 = tempRet0;
$109 = $110&255;
$111 = (_bitshift64Shl(($109|0),0,48)|0);
$112 = tempRet0;
$113 = $111 | $107;
$114 = $112 | $108;
$115 = $116&255;
$117 = (_bitshift64Shl(($115|0),0,40)|0);
$118 = tempRet0;
$119 = $113 | $117;
$120 = $114 | $118;
$121 = $122&255;
$123 = $120 | $121;
$124 = $125&255;
$126 = (_bitshift64Shl(($124|0),0,24)|0);
$127 = tempRet0;
$128 = $119 | $126;
$129 = $123 | $127;
$130 = $131&255;
$132 = (_bitshift64Shl(($130|0),0,16)|0);
$133 = tempRet0;
$134 = $128 | $132;
$135 = $129 | $133;
$136 = $137&255;
$138 = (_bitshift64Shl(($136|0),0,8)|0);
$139 = tempRet0;
$140 = $134 | $138;
$141 = $135 | $139;
$142 = $143&255;
$144 = $140 | $142;
$145 = $146&255;
$147 = (_bitshift64Shl(($145|0),0,56)|0);
$148 = tempRet0;
$149 = $150&255;
$151 = (_bitshift64Shl(($149|0),0,48)|0);
$152 = tempRet0;
$153 = $151 | $147;
$154 = $152 | $148;
$155 = $156&255;
$157 = (_bitshift64Shl(($155|0),0,40)|0);
$158 = tempRet0;
$159 = $153 | $157;
$160 = $154 | $158;
$161 = $162&255;
$163 = $160 | $161;
$164 = $165&255;
$166 = (_bitshift64Shl(($164|0),0,24)|0);
$167 = tempRet0;
$168 = $159 | $166;
$169 = $163 | $167;
$170 = $171&255;
$172 = (_bitshift64Shl(($170|0),0,16)|0);
$173 = tempRet0;
$174 = $168 | $172;
$175 = $169 | $173;
$176 = $177&255;
$178 = (_bitshift64Shl(($176|0),0,8)|0);
$179 = tempRet0;
$180 = $174 | $178;
$181 = $175 | $179;
$182 = $183&255;
$184 = $180 | $182;
$185 = (_bitshift64Ashr(($107|0),($108|0),63)|0);
$186 = tempRet0;
$187 = (_bitshift64Shl(($144|0),($141|0),1)|0);
$188 = tempRet0;
$189 = (_bitshift64Lshr(($145|0),0,7)|0);
$190 = tempRet0;
$191 = $187 | $189;
$188 | $190;
$192 = (_bitshift64Shl(($184|0),($181|0),1)|0);
$193 = tempRet0;
$194 = $185 & 135;
$195 = $192 ^ $194;
$196 = (_bitshift64Lshr(($113|0),($114|0),55)|0);
$197 = tempRet0;
$198 = $196&255;
HEAP8[$1>>0] = $198;
$199 = (_bitshift64Lshr(($119|0),($120|0),47)|0);
$200 = tempRet0;
$201 = $199&255;
HEAP8[$$pre$phiZ2D>>0] = $201;
$202 = (_bitshift64Lshr(($119|0),($123|0),39)|0);
$203 = tempRet0;
$204 = $202&255;
HEAP8[$$pre$phi90Z2D>>0] = $204;
$205 = (_bitshift64Lshr(($128|0),($129|0),31)|0);
$206 = tempRet0;
$207 = $205&255;
HEAP8[$$pre$phi92Z2D>>0] = $207;
$208 = (_bitshift64Lshr(($134|0),($135|0),23)|0);
$209 = tempRet0;
$210 = $208&255;
HEAP8[$$pre$phi93Z2D>>0] = $210;
$211 = (_bitshift64Lshr(($140|0),($141|0),15)|0);
$212 = tempRet0;
$213 = $211&255;
HEAP8[$$pre$phi95Z2D>>0] = $213;
$214 = (_bitshift64Lshr(($144|0),($141|0),7)|0);
$215 = tempRet0;
$216 = $214&255;
HEAP8[$$pre$phi97Z2D>>0] = $216;
$217 = $191&255;
HEAP8[$$pre$phi99Z2D>>0] = $217;
$218 = (_bitshift64Lshr(($153|0),($154|0),55)|0);
$219 = tempRet0;
$220 = $218&255;
HEAP8[$$pre$phi100Z2D>>0] = $220;
$221 = (_bitshift64Lshr(($159|0),($160|0),47)|0);
$222 = tempRet0;
$223 = $221&255;
HEAP8[$$pre$phi102Z2D>>0] = $223;
$224 = (_bitshift64Lshr(($159|0),($163|0),39)|0);
$225 = tempRet0;
$226 = $224&255;
HEAP8[$$pre$phi104Z2D>>0] = $226;
$227 = (_bitshift64Lshr(($168|0),($169|0),31)|0);
$228 = tempRet0;
$229 = $227&255;
HEAP8[$$pre$phi106Z2D>>0] = $229;
$230 = (_bitshift64Lshr(($174|0),($175|0),23)|0);
$231 = tempRet0;
$232 = $230&255;
HEAP8[$$pre$phi107Z2D>>0] = $232;
$233 = (_bitshift64Lshr(($180|0),($181|0),15)|0);
$234 = tempRet0;
$235 = $233&255;
HEAP8[$$pre$phi109Z2D>>0] = $235;
$236 = (_bitshift64Lshr(($184|0),($181|0),7)|0);
$237 = tempRet0;
$238 = $236&255;
HEAP8[$$pre$phi111Z2D>>0] = $238;
$239 = $195&255;
HEAP8[$$pre$phi113Z2D>>0] = $239;
$240 = (($$0$i12) + -16)|0;
$241 = ($240|0)==(0);
if ($241) {
$$011 = $1;
return ($$011|0);
}
$$013 = $240;$243 = $198;$247 = $201;$253 = $204;$259 = $207;$262 = $210;$268 = $213;$274 = $216;$280 = $217;$283 = $220;$287 = $223;$293 = $226;$299 = $229;$302 = $232;$308 = $235;$314 = $238;$320 = $239;
while(1) {
$242 = $243&255;
$244 = (_bitshift64Shl(($242|0),0,56)|0);
$245 = tempRet0;
$246 = $247&255;
$248 = (_bitshift64Shl(($246|0),0,48)|0);
$249 = tempRet0;
$250 = $248 | $244;
$251 = $249 | $245;
$252 = $253&255;
$254 = (_bitshift64Shl(($252|0),0,40)|0);
$255 = tempRet0;
$256 = $250 | $254;
$257 = $251 | $255;
$258 = $259&255;
$260 = $257 | $258;
$261 = $262&255;
$263 = (_bitshift64Shl(($261|0),0,24)|0);
$264 = tempRet0;
$265 = $256 | $263;
$266 = $260 | $264;
$267 = $268&255;
$269 = (_bitshift64Shl(($267|0),0,16)|0);
$270 = tempRet0;
$271 = $265 | $269;
$272 = $266 | $270;
$273 = $274&255;
$275 = (_bitshift64Shl(($273|0),0,8)|0);
$276 = tempRet0;
$277 = $271 | $275;
$278 = $272 | $276;
$279 = $280&255;
$281 = $277 | $279;
$282 = $283&255;
$284 = (_bitshift64Shl(($282|0),0,56)|0);
$285 = tempRet0;
$286 = $287&255;
$288 = (_bitshift64Shl(($286|0),0,48)|0);
$289 = tempRet0;
$290 = $288 | $284;
$291 = $289 | $285;
$292 = $293&255;
$294 = (_bitshift64Shl(($292|0),0,40)|0);
$295 = tempRet0;
$296 = $290 | $294;
$297 = $291 | $295;
$298 = $299&255;
$300 = $297 | $298;
$301 = $302&255;
$303 = (_bitshift64Shl(($301|0),0,24)|0);
$304 = tempRet0;
$305 = $296 | $303;
$306 = $300 | $304;
$307 = $308&255;
$309 = (_bitshift64Shl(($307|0),0,16)|0);
$310 = tempRet0;
$311 = $305 | $309;
$312 = $306 | $310;
$313 = $314&255;
$315 = (_bitshift64Shl(($313|0),0,8)|0);
$316 = tempRet0;
$317 = $311 | $315;
$318 = $312 | $316;
$319 = $320&255;
$321 = $317 | $319;
$322 = (_bitshift64Ashr(($244|0),($245|0),63)|0);
$323 = tempRet0;
$324 = (_bitshift64Shl(($281|0),($278|0),1)|0);
$325 = tempRet0;
$326 = (_bitshift64Lshr(($282|0),0,7)|0);
$327 = tempRet0;
$328 = $324 | $326;
$325 | $327;
$329 = (_bitshift64Shl(($321|0),($318|0),1)|0);
$330 = tempRet0;
$331 = $322 & 135;
$332 = $329 ^ $331;
$333 = (_bitshift64Lshr(($250|0),($251|0),55)|0);
$334 = tempRet0;
$335 = $333&255;
$336 = (_bitshift64Lshr(($256|0),($257|0),47)|0);
$337 = tempRet0;
$338 = $336&255;
$339 = (_bitshift64Lshr(($256|0),($260|0),39)|0);
$340 = tempRet0;
$341 = $339&255;
$342 = (_bitshift64Lshr(($265|0),($266|0),31)|0);
$343 = tempRet0;
$344 = $342&255;
$345 = (_bitshift64Lshr(($271|0),($272|0),23)|0);
$346 = tempRet0;
$347 = $345&255;
$348 = (_bitshift64Lshr(($277|0),($278|0),15)|0);
$349 = tempRet0;
$350 = $348&255;
$351 = (_bitshift64Lshr(($281|0),($278|0),7)|0);
$352 = tempRet0;
$353 = $351&255;
$354 = $328&255;
$355 = (_bitshift64Lshr(($290|0),($291|0),55)|0);
$356 = tempRet0;
$357 = $355&255;
$358 = (_bitshift64Lshr(($296|0),($297|0),47)|0);
$359 = tempRet0;
$360 = $358&255;
$361 = (_bitshift64Lshr(($296|0),($300|0),39)|0);
$362 = tempRet0;
$363 = $361&255;
$364 = (_bitshift64Lshr(($305|0),($306|0),31)|0);
$365 = tempRet0;
$366 = $364&255;
$367 = (_bitshift64Lshr(($311|0),($312|0),23)|0);
$368 = tempRet0;
$369 = $367&255;
$370 = (_bitshift64Lshr(($317|0),($318|0),15)|0);
$371 = tempRet0;
$372 = $370&255;
$373 = (_bitshift64Lshr(($321|0),($318|0),7)|0);
$374 = tempRet0;
$375 = $373&255;
$376 = $332&255;
$377 = (($$013) + -1)|0;
$378 = ($377|0)==(0);
if ($378) {
break;
} else {
$$013 = $377;$243 = $335;$247 = $338;$253 = $341;$259 = $344;$262 = $347;$268 = $350;$274 = $353;$280 = $354;$283 = $357;$287 = $360;$293 = $363;$299 = $366;$302 = $369;$308 = $372;$314 = $375;$320 = $376;
}
}
HEAP8[$1>>0] = $335;
HEAP8[$$pre$phiZ2D>>0] = $338;
HEAP8[$$pre$phi90Z2D>>0] = $341;
HEAP8[$$pre$phi92Z2D>>0] = $344;
HEAP8[$$pre$phi93Z2D>>0] = $347;
HEAP8[$$pre$phi95Z2D>>0] = $350;
HEAP8[$$pre$phi97Z2D>>0] = $353;
HEAP8[$$pre$phi99Z2D>>0] = $354;
HEAP8[$$pre$phi100Z2D>>0] = $357;
HEAP8[$$pre$phi102Z2D>>0] = $360;
HEAP8[$$pre$phi104Z2D>>0] = $363;
HEAP8[$$pre$phi106Z2D>>0] = $366;
HEAP8[$$pre$phi107Z2D>>0] = $369;
HEAP8[$$pre$phi109Z2D>>0] = $372;
HEAP8[$$pre$phi111Z2D>>0] = $375;
HEAP8[$$pre$phi113Z2D>>0] = $376;
$$011 = $1;
return ($$011|0);
}
function __gcry_cipher_ocb_set_nonce($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0121179 = 0, $$02434$i146 = 0, $$02533$i147 = 0, $$026$i = 0, $$028$i = 0, $$035$i145 = 0, $$1$i149 = 0, $$12731$i = 0, $$12930$i = 0, $$232$i = 0, $$phi$trans$insert = 0, $$phi$trans$insert193 = 0, $$phi$trans$insert195 = 0, $$phi$trans$insert197 = 0, $$phi$trans$insert199 = 0, $$phi$trans$insert201 = 0, $$phi$trans$insert203 = 0, $$phi$trans$insert205 = 0, $$phi$trans$insert207 = 0;
var $$phi$trans$insert209 = 0, $$phi$trans$insert211 = 0, $$phi$trans$insert213 = 0, $$pre = 0, $$pre$phi217Z2D = 0, $$pre$phi219Z2D = 0, $$pre$phi220Z2D = 0, $$pre$phi222Z2D = 0, $$pre$phi224Z2D = 0, $$pre$phi226Z2D = 0, $$pre$phi227Z2D = 0, $$pre$phi229Z2D = 0, $$pre$phi231Z2D = 0, $$pre$phi233Z2D = 0, $$pre$phi234Z2D = 0, $$pre$phi236Z2D = 0, $$pre$phi238Z2D = 0, $$pre$phi240Z2D = 0, $$pre$phi242Z2D = 0, $$pre$phi244Z2D = 0;
var $$pre$phi246Z2D = 0, $$pre$phi249Z2D = 0, $$pre$phi251Z2D = 0, $$pre$phi253Z2D = 0, $$pre$phi255Z2D = 0, $$pre$phi258Z2D = 0, $$pre$phi260Z2D = 0, $$pre$phi262Z2D = 0, $$pre$phi264Z2D = 0, $$pre$phi267Z2D = 0, $$pre$phi269Z2D = 0, $$pre$phi271Z2D = 0, $$pre$phi273Z2D = 0, $$pre$phi274Z2D = 0, $$pre$phi275Z2D = 0, $$pre$phi276Z2D = 0, $$pre$phi277Z2D = 0, $$pre$phi278Z2D = 0, $$pre$phi279Z2D = 0, $$pre$phi280Z2D = 0;
var $$pre$phi281Z2D = 0, $$pre$phi282Z2D = 0, $$pre$phi283Z2D = 0, $$pre$phi284Z2D = 0, $$pre$phi285Z2D = 0, $$pre$phi286Z2D = 0, $$pre$phi287Z2D = 0, $$pre$phi288Z2D = 0, $$pre$phiZ2D = 0, $$pre194 = 0, $$pre196 = 0, $$pre198 = 0, $$pre200 = 0, $$pre202 = 0, $$pre204 = 0, $$pre206 = 0, $$pre208 = 0, $$pre210 = 0, $$pre212 = 0, $$pre214 = 0;
var $$pre215 = 0, $$pre216 = 0, $$pre218 = 0, $$pre221 = 0, $$pre223 = 0, $$pre225 = 0, $$pre228 = 0, $$pre230 = 0, $$pre232 = 0, $$pre235 = 0, $$pre237 = 0, $$pre239 = 0, $$pre241 = 0, $$pre243 = 0, $$pre245 = 0, $$pre250 = 0, $$pre252 = 0, $$pre254 = 0, $$pre259 = 0, $$pre261 = 0;
var $$pre263 = 0, $$pre268 = 0, $$pre270 = 0, $$pre272 = 0, $$sink = 0, $$sink191 = 0, $$sink192 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0;
var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0;
var $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0;
var $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0;
var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0;
var $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0;
var $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0;
var $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0;
var $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0;
var $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0;
var $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0;
var $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0;
var $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0;
var $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0;
var $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0;
var $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0;
var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0;
var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0;
var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0;
var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0;
var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0;
var $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0;
var $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0;
var $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0;
var $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0;
var $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0;
var $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0;
var $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0;
var $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0;
var $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0;
var $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0;
var $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0;
var $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0;
var $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0;
var $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0;
var $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0;
var $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0;
var $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0;
var $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0;
var $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0;
var $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond$i = 0, $scevgep$i143 = 0, $scevgep44$i144 = 0, dest = 0, label = 0, sp = 0;
var stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$3 = sp + 32|0;
$4 = sp;
$5 = ((($0)) + 56|0);
$6 = HEAP8[$5>>0]|0;
$7 = $6 & 1;
$8 = ($7<<24>>24)==(0);
if ($8) {
$$0 = 156;
STACKTOP = sp;return ($$0|0);
}
$9 = ((($0)) + 128|0);
$10 = ((($0)) + 480|0);
$11 = HEAP8[$10>>0]|0;
switch ($11<<24>>24) {
case 16: case 12: case 8: {
break;
}
default: {
$$0 = 59;
STACKTOP = sp;return ($$0|0);
}
}
$12 = ((($0)) + 12|0);
$13 = HEAP32[$12>>2]|0;
$14 = ((($13)) + 20|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==(16);
if (!($16)) {
$$0 = 12;
STACKTOP = sp;return ($$0|0);
}
$17 = ($1|0)==(0|0);
if ($17) {
$$0 = 45;
STACKTOP = sp;return ($$0|0);
}
$18 = $2 & -8;
$19 = ($18|0)==(8);
if (!($19)) {
$$0 = 139;
STACKTOP = sp;return ($$0|0);
}
;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;
$20 = ((($13)) + 36|0);
$21 = HEAP32[$20>>2]|0;
$22 = ((($0)) + 496|0);
$23 = (FUNCTION_TABLE_iiii[$21 & 127]($22,$9,$3)|0);
$24 = ((($0)) + 144|0);
$25 = $24;
$26 = $9;
$27 = $26 | $25;
$28 = $27 & 3;
$29 = ($28|0)==(0);
if ($29) {
$30 = ((($9)) + 4|0);
$31 = HEAP32[$9>>2]|0;
$32 = ((($0)) + 148|0);
HEAP32[$24>>2] = $31;
$33 = ((($0)) + 136|0);
$34 = HEAP32[$30>>2]|0;
$35 = ((($0)) + 152|0);
HEAP32[$32>>2] = $34;
$36 = ((($0)) + 140|0);
$37 = HEAP32[$33>>2]|0;
$38 = ((($0)) + 156|0);
HEAP32[$35>>2] = $37;
$39 = HEAP32[$36>>2]|0;
HEAP32[$38>>2] = $39;
$40 = $31&255;
$41 = $31 >>> 8;
$42 = $41&255;
$43 = $31 >>> 16;
$44 = $43&255;
$45 = $31 >>> 24;
$46 = $45&255;
$47 = $34&255;
$48 = $34 >>> 8;
$49 = $48&255;
$50 = $34 >>> 16;
$51 = $50&255;
$52 = $34 >>> 24;
$53 = $52&255;
$54 = $37&255;
$55 = $37 >>> 8;
$56 = $55&255;
$57 = $37 >>> 16;
$58 = $57&255;
$59 = $37 >>> 24;
$60 = $59&255;
$61 = $39&255;
$62 = $39 >>> 8;
$63 = $62&255;
$64 = $39 >>> 16;
$65 = $64&255;
$66 = $39 >>> 24;
$67 = $66&255;
$$pre215 = ((($0)) + 145|0);
$$pre216 = ((($0)) + 146|0);
$$pre218 = ((($0)) + 147|0);
$$pre221 = ((($0)) + 149|0);
$$pre223 = ((($0)) + 150|0);
$$pre225 = ((($0)) + 151|0);
$$pre228 = ((($0)) + 153|0);
$$pre230 = ((($0)) + 154|0);
$$pre232 = ((($0)) + 155|0);
$$pre235 = ((($0)) + 157|0);
$$pre237 = ((($0)) + 158|0);
$$pre239 = ((($0)) + 159|0);
$$pre$phi217Z2D = $$pre216;$$pre$phi219Z2D = $$pre218;$$pre$phi220Z2D = $32;$$pre$phi222Z2D = $$pre221;$$pre$phi224Z2D = $$pre223;$$pre$phi226Z2D = $$pre225;$$pre$phi227Z2D = $35;$$pre$phi229Z2D = $$pre228;$$pre$phi231Z2D = $$pre230;$$pre$phi233Z2D = $$pre232;$$pre$phi234Z2D = $38;$$pre$phi236Z2D = $$pre235;$$pre$phi238Z2D = $$pre237;$$pre$phi240Z2D = $$pre239;$$pre$phiZ2D = $$pre215;$115 = $40;$119 = $42;$125 = $44;$131 = $46;$134 = $47;$140 = $49;$146 = $51;$152 = $53;$155 = $54;$159 = $56;$165 = $58;$171 = $60;$174 = $61;$180 = $63;$186 = $65;$192 = $67;
} else {
$68 = ((($9)) + 1|0);
$69 = HEAP8[$9>>0]|0;
$70 = ((($0)) + 145|0);
HEAP8[$24>>0] = $69;
$71 = ((($9)) + 2|0);
$72 = HEAP8[$68>>0]|0;
$73 = ((($0)) + 146|0);
HEAP8[$70>>0] = $72;
$74 = ((($9)) + 3|0);
$75 = HEAP8[$71>>0]|0;
$76 = ((($0)) + 147|0);
HEAP8[$73>>0] = $75;
$77 = ((($9)) + 4|0);
$78 = HEAP8[$74>>0]|0;
$79 = ((($0)) + 148|0);
HEAP8[$76>>0] = $78;
$80 = ((($9)) + 5|0);
$81 = HEAP8[$77>>0]|0;
$82 = ((($0)) + 149|0);
HEAP8[$79>>0] = $81;
$83 = ((($9)) + 6|0);
$84 = HEAP8[$80>>0]|0;
$85 = ((($0)) + 150|0);
HEAP8[$82>>0] = $84;
$86 = ((($9)) + 7|0);
$87 = HEAP8[$83>>0]|0;
$88 = ((($0)) + 151|0);
HEAP8[$85>>0] = $87;
$89 = ((($0)) + 136|0);
$90 = HEAP8[$86>>0]|0;
$91 = ((($0)) + 152|0);
HEAP8[$88>>0] = $90;
$92 = ((($0)) + 137|0);
$93 = HEAP8[$89>>0]|0;
$94 = ((($0)) + 153|0);
HEAP8[$91>>0] = $93;
$95 = ((($0)) + 138|0);
$96 = HEAP8[$92>>0]|0;
$97 = ((($0)) + 154|0);
HEAP8[$94>>0] = $96;
$98 = ((($0)) + 139|0);
$99 = HEAP8[$95>>0]|0;
$100 = ((($0)) + 155|0);
HEAP8[$97>>0] = $99;
$101 = ((($0)) + 140|0);
$102 = HEAP8[$98>>0]|0;
$103 = ((($0)) + 156|0);
HEAP8[$100>>0] = $102;
$104 = ((($0)) + 141|0);
$105 = HEAP8[$101>>0]|0;
$106 = ((($0)) + 157|0);
HEAP8[$103>>0] = $105;
$107 = ((($0)) + 142|0);
$108 = HEAP8[$104>>0]|0;
$109 = ((($0)) + 158|0);
HEAP8[$106>>0] = $108;
$110 = ((($0)) + 143|0);
$111 = HEAP8[$107>>0]|0;
$112 = ((($0)) + 159|0);
HEAP8[$109>>0] = $111;
$113 = HEAP8[$110>>0]|0;
HEAP8[$112>>0] = $113;
$$pre$phi217Z2D = $73;$$pre$phi219Z2D = $76;$$pre$phi220Z2D = $79;$$pre$phi222Z2D = $82;$$pre$phi224Z2D = $85;$$pre$phi226Z2D = $88;$$pre$phi227Z2D = $91;$$pre$phi229Z2D = $94;$$pre$phi231Z2D = $97;$$pre$phi233Z2D = $100;$$pre$phi234Z2D = $103;$$pre$phi236Z2D = $106;$$pre$phi238Z2D = $109;$$pre$phi240Z2D = $112;$$pre$phiZ2D = $70;$115 = $69;$119 = $72;$125 = $75;$131 = $78;$134 = $81;$140 = $84;$146 = $87;$152 = $90;$155 = $93;$159 = $96;$165 = $99;$171 = $102;$174 = $105;$180 = $108;$186 = $111;$192 = $113;
}
$114 = $115&255;
$116 = (_bitshift64Shl(($114|0),0,56)|0);
$117 = tempRet0;
$118 = $119&255;
$120 = (_bitshift64Shl(($118|0),0,48)|0);
$121 = tempRet0;
$122 = $120 | $116;
$123 = $121 | $117;
$124 = $125&255;
$126 = (_bitshift64Shl(($124|0),0,40)|0);
$127 = tempRet0;
$128 = $122 | $126;
$129 = $123 | $127;
$130 = $131&255;
$132 = $129 | $130;
$133 = $134&255;
$135 = (_bitshift64Shl(($133|0),0,24)|0);
$136 = tempRet0;
$137 = $128 | $135;
$138 = $132 | $136;
$139 = $140&255;
$141 = (_bitshift64Shl(($139|0),0,16)|0);
$142 = tempRet0;
$143 = $137 | $141;
$144 = $138 | $142;
$145 = $146&255;
$147 = (_bitshift64Shl(($145|0),0,8)|0);
$148 = tempRet0;
$149 = $143 | $147;
$150 = $144 | $148;
$151 = $152&255;
$153 = $149 | $151;
$154 = $155&255;
$156 = (_bitshift64Shl(($154|0),0,56)|0);
$157 = tempRet0;
$158 = $159&255;
$160 = (_bitshift64Shl(($158|0),0,48)|0);
$161 = tempRet0;
$162 = $160 | $156;
$163 = $161 | $157;
$164 = $165&255;
$166 = (_bitshift64Shl(($164|0),0,40)|0);
$167 = tempRet0;
$168 = $162 | $166;
$169 = $163 | $167;
$170 = $171&255;
$172 = $169 | $170;
$173 = $174&255;
$175 = (_bitshift64Shl(($173|0),0,24)|0);
$176 = tempRet0;
$177 = $168 | $175;
$178 = $172 | $176;
$179 = $180&255;
$181 = (_bitshift64Shl(($179|0),0,16)|0);
$182 = tempRet0;
$183 = $177 | $181;
$184 = $178 | $182;
$185 = $186&255;
$187 = (_bitshift64Shl(($185|0),0,8)|0);
$188 = tempRet0;
$189 = $183 | $187;
$190 = $184 | $188;
$191 = $192&255;
$193 = $189 | $191;
$194 = (_bitshift64Ashr(($116|0),($117|0),63)|0);
$195 = tempRet0;
$196 = (_bitshift64Shl(($153|0),($150|0),1)|0);
$197 = tempRet0;
$198 = (_bitshift64Lshr(($154|0),0,7)|0);
$199 = tempRet0;
$200 = $196 | $198;
$197 | $199;
$201 = (_bitshift64Shl(($193|0),($190|0),1)|0);
$202 = tempRet0;
$203 = $194 & 135;
$204 = $201 ^ $203;
$205 = (_bitshift64Lshr(($122|0),($123|0),55)|0);
$206 = tempRet0;
$207 = $205&255;
HEAP8[$24>>0] = $207;
$208 = (_bitshift64Lshr(($128|0),($129|0),47)|0);
$209 = tempRet0;
$210 = $208&255;
HEAP8[$$pre$phiZ2D>>0] = $210;
$211 = (_bitshift64Lshr(($128|0),($132|0),39)|0);
$212 = tempRet0;
$213 = $211&255;
HEAP8[$$pre$phi217Z2D>>0] = $213;
$214 = (_bitshift64Lshr(($137|0),($138|0),31)|0);
$215 = tempRet0;
$216 = $214&255;
HEAP8[$$pre$phi219Z2D>>0] = $216;
$217 = (_bitshift64Lshr(($143|0),($144|0),23)|0);
$218 = tempRet0;
$219 = $217&255;
HEAP8[$$pre$phi220Z2D>>0] = $219;
$220 = (_bitshift64Lshr(($149|0),($150|0),15)|0);
$221 = tempRet0;
$222 = $220&255;
HEAP8[$$pre$phi222Z2D>>0] = $222;
$223 = (_bitshift64Lshr(($153|0),($150|0),7)|0);
$224 = tempRet0;
$225 = $223&255;
HEAP8[$$pre$phi224Z2D>>0] = $225;
$226 = $200&255;
HEAP8[$$pre$phi226Z2D>>0] = $226;
$227 = (_bitshift64Lshr(($162|0),($163|0),55)|0);
$228 = tempRet0;
$229 = $227&255;
HEAP8[$$pre$phi227Z2D>>0] = $229;
$230 = (_bitshift64Lshr(($168|0),($169|0),47)|0);
$231 = tempRet0;
$232 = $230&255;
HEAP8[$$pre$phi229Z2D>>0] = $232;
$233 = (_bitshift64Lshr(($168|0),($172|0),39)|0);
$234 = tempRet0;
$235 = $233&255;
HEAP8[$$pre$phi231Z2D>>0] = $235;
$236 = (_bitshift64Lshr(($177|0),($178|0),31)|0);
$237 = tempRet0;
$238 = $236&255;
HEAP8[$$pre$phi233Z2D>>0] = $238;
$239 = (_bitshift64Lshr(($183|0),($184|0),23)|0);
$240 = tempRet0;
$241 = $239&255;
HEAP8[$$pre$phi234Z2D>>0] = $241;
$242 = (_bitshift64Lshr(($189|0),($190|0),15)|0);
$243 = tempRet0;
$244 = $242&255;
HEAP8[$$pre$phi236Z2D>>0] = $244;
$245 = (_bitshift64Lshr(($193|0),($190|0),7)|0);
$246 = tempRet0;
$247 = $245&255;
HEAP8[$$pre$phi238Z2D>>0] = $247;
$248 = $204&255;
HEAP8[$$pre$phi240Z2D>>0] = $248;
$249 = ((($0)) + 160|0);
$250 = $249;
$251 = $25 | $250;
$252 = $251 & 3;
$253 = ($252|0)==(0);
if ($253) {
$254 = HEAP32[$24>>2]|0;
$255 = ((($249)) + 4|0);
HEAP32[$249>>2] = $254;
$256 = HEAP32[$$pre$phi220Z2D>>2]|0;
$257 = ((($249)) + 8|0);
HEAP32[$255>>2] = $256;
$258 = HEAP32[$$pre$phi227Z2D>>2]|0;
$259 = ((($249)) + 12|0);
HEAP32[$257>>2] = $258;
$260 = HEAP32[$$pre$phi234Z2D>>2]|0;
HEAP32[$259>>2] = $260;
$261 = $254&255;
$262 = $254 >>> 8;
$263 = $262&255;
$264 = $254 >>> 16;
$265 = $264&255;
$266 = $254 >>> 24;
$267 = $266&255;
$268 = $256&255;
$269 = $256 >>> 8;
$270 = $269&255;
$271 = $256 >>> 16;
$272 = $271&255;
$273 = $256 >>> 24;
$274 = $273&255;
$275 = $258&255;
$276 = $258 >>> 8;
$277 = $276&255;
$278 = $258 >>> 16;
$279 = $278&255;
$280 = $258 >>> 24;
$281 = $280&255;
$282 = $260&255;
$283 = $260 >>> 8;
$284 = $283&255;
$285 = $260 >>> 16;
$286 = $285&255;
$287 = $260 >>> 24;
$288 = $287&255;
$$pre241 = ((($249)) + 1|0);
$$pre243 = ((($249)) + 2|0);
$$pre245 = ((($249)) + 3|0);
$$pre250 = ((($249)) + 5|0);
$$pre252 = ((($249)) + 6|0);
$$pre254 = ((($249)) + 7|0);
$$pre259 = ((($249)) + 9|0);
$$pre261 = ((($249)) + 10|0);
$$pre263 = ((($249)) + 11|0);
$$pre268 = ((($249)) + 13|0);
$$pre270 = ((($249)) + 14|0);
$$pre272 = ((($249)) + 15|0);
$$pre$phi242Z2D = $$pre241;$$pre$phi244Z2D = $$pre243;$$pre$phi246Z2D = $$pre245;$$pre$phi249Z2D = $255;$$pre$phi251Z2D = $$pre250;$$pre$phi253Z2D = $$pre252;$$pre$phi255Z2D = $$pre254;$$pre$phi258Z2D = $257;$$pre$phi260Z2D = $$pre259;$$pre$phi262Z2D = $$pre261;$$pre$phi264Z2D = $$pre263;$$pre$phi267Z2D = $259;$$pre$phi269Z2D = $$pre268;$$pre$phi271Z2D = $$pre270;$$pre$phi273Z2D = $$pre272;$305 = $261;$309 = $263;$315 = $265;$321 = $267;$324 = $268;$330 = $270;$336 = $272;$342 = $274;$345 = $275;$349 = $277;$355 = $279;$361 = $281;$364 = $282;$370 = $284;$376 = $286;$382 = $288;
} else {
$289 = ((($249)) + 1|0);
HEAP8[$249>>0] = $207;
$290 = ((($249)) + 2|0);
HEAP8[$289>>0] = $210;
$291 = ((($249)) + 3|0);
HEAP8[$290>>0] = $213;
$292 = ((($249)) + 4|0);
HEAP8[$291>>0] = $216;
$293 = ((($249)) + 5|0);
HEAP8[$292>>0] = $219;
$294 = ((($249)) + 6|0);
HEAP8[$293>>0] = $222;
$295 = ((($249)) + 7|0);
HEAP8[$294>>0] = $225;
$296 = ((($249)) + 8|0);
HEAP8[$295>>0] = $226;
$297 = ((($249)) + 9|0);
HEAP8[$296>>0] = $229;
$298 = ((($249)) + 10|0);
HEAP8[$297>>0] = $232;
$299 = ((($249)) + 11|0);
HEAP8[$298>>0] = $235;
$300 = ((($249)) + 12|0);
HEAP8[$299>>0] = $238;
$301 = ((($249)) + 13|0);
HEAP8[$300>>0] = $241;
$302 = ((($249)) + 14|0);
HEAP8[$301>>0] = $244;
$303 = ((($249)) + 15|0);
HEAP8[$302>>0] = $247;
HEAP8[$303>>0] = $248;
$$pre$phi242Z2D = $289;$$pre$phi244Z2D = $290;$$pre$phi246Z2D = $291;$$pre$phi249Z2D = $292;$$pre$phi251Z2D = $293;$$pre$phi253Z2D = $294;$$pre$phi255Z2D = $295;$$pre$phi258Z2D = $296;$$pre$phi260Z2D = $297;$$pre$phi262Z2D = $298;$$pre$phi264Z2D = $299;$$pre$phi267Z2D = $300;$$pre$phi269Z2D = $301;$$pre$phi271Z2D = $302;$$pre$phi273Z2D = $303;$305 = $207;$309 = $210;$315 = $213;$321 = $216;$324 = $219;$330 = $222;$336 = $225;$342 = $226;$345 = $229;$349 = $232;$355 = $235;$361 = $238;$364 = $241;$370 = $244;$376 = $247;$382 = $248;
}
$304 = $305&255;
$306 = (_bitshift64Shl(($304|0),0,56)|0);
$307 = tempRet0;
$308 = $309&255;
$310 = (_bitshift64Shl(($308|0),0,48)|0);
$311 = tempRet0;
$312 = $310 | $306;
$313 = $311 | $307;
$314 = $315&255;
$316 = (_bitshift64Shl(($314|0),0,40)|0);
$317 = tempRet0;
$318 = $312 | $316;
$319 = $313 | $317;
$320 = $321&255;
$322 = $319 | $320;
$323 = $324&255;
$325 = (_bitshift64Shl(($323|0),0,24)|0);
$326 = tempRet0;
$327 = $318 | $325;
$328 = $322 | $326;
$329 = $330&255;
$331 = (_bitshift64Shl(($329|0),0,16)|0);
$332 = tempRet0;
$333 = $327 | $331;
$334 = $328 | $332;
$335 = $336&255;
$337 = (_bitshift64Shl(($335|0),0,8)|0);
$338 = tempRet0;
$339 = $333 | $337;
$340 = $334 | $338;
$341 = $342&255;
$343 = $339 | $341;
$344 = $345&255;
$346 = (_bitshift64Shl(($344|0),0,56)|0);
$347 = tempRet0;
$348 = $349&255;
$350 = (_bitshift64Shl(($348|0),0,48)|0);
$351 = tempRet0;
$352 = $350 | $346;
$353 = $351 | $347;
$354 = $355&255;
$356 = (_bitshift64Shl(($354|0),0,40)|0);
$357 = tempRet0;
$358 = $352 | $356;
$359 = $353 | $357;
$360 = $361&255;
$362 = $359 | $360;
$363 = $364&255;
$365 = (_bitshift64Shl(($363|0),0,24)|0);
$366 = tempRet0;
$367 = $358 | $365;
$368 = $362 | $366;
$369 = $370&255;
$371 = (_bitshift64Shl(($369|0),0,16)|0);
$372 = tempRet0;
$373 = $367 | $371;
$374 = $368 | $372;
$375 = $376&255;
$377 = (_bitshift64Shl(($375|0),0,8)|0);
$378 = tempRet0;
$379 = $373 | $377;
$380 = $374 | $378;
$381 = $382&255;
$383 = $379 | $381;
$384 = (_bitshift64Ashr(($306|0),($307|0),63)|0);
$385 = tempRet0;
$386 = (_bitshift64Shl(($343|0),($340|0),1)|0);
$387 = tempRet0;
$388 = (_bitshift64Lshr(($344|0),0,7)|0);
$389 = tempRet0;
$390 = $386 | $388;
$387 | $389;
$391 = (_bitshift64Shl(($383|0),($380|0),1)|0);
$392 = tempRet0;
$393 = $384 & 135;
$394 = $391 ^ $393;
$395 = (_bitshift64Lshr(($312|0),($313|0),55)|0);
$396 = tempRet0;
$397 = $395&255;
HEAP8[$249>>0] = $397;
$398 = (_bitshift64Lshr(($318|0),($319|0),47)|0);
$399 = tempRet0;
$400 = $398&255;
HEAP8[$$pre$phi242Z2D>>0] = $400;
$401 = (_bitshift64Lshr(($318|0),($322|0),39)|0);
$402 = tempRet0;
$403 = $401&255;
HEAP8[$$pre$phi244Z2D>>0] = $403;
$404 = (_bitshift64Lshr(($327|0),($328|0),31)|0);
$405 = tempRet0;
$406 = $404&255;
HEAP8[$$pre$phi246Z2D>>0] = $406;
$407 = (_bitshift64Lshr(($333|0),($334|0),23)|0);
$408 = tempRet0;
$409 = $407&255;
HEAP8[$$pre$phi249Z2D>>0] = $409;
$410 = (_bitshift64Lshr(($339|0),($340|0),15)|0);
$411 = tempRet0;
$412 = $410&255;
HEAP8[$$pre$phi251Z2D>>0] = $412;
$413 = (_bitshift64Lshr(($343|0),($340|0),7)|0);
$414 = tempRet0;
$415 = $413&255;
HEAP8[$$pre$phi253Z2D>>0] = $415;
$416 = $390&255;
HEAP8[$$pre$phi255Z2D>>0] = $416;
$417 = (_bitshift64Lshr(($352|0),($353|0),55)|0);
$418 = tempRet0;
$419 = $417&255;
HEAP8[$$pre$phi258Z2D>>0] = $419;
$420 = (_bitshift64Lshr(($358|0),($359|0),47)|0);
$421 = tempRet0;
$422 = $420&255;
HEAP8[$$pre$phi260Z2D>>0] = $422;
$423 = (_bitshift64Lshr(($358|0),($362|0),39)|0);
$424 = tempRet0;
$425 = $423&255;
HEAP8[$$pre$phi262Z2D>>0] = $425;
$426 = (_bitshift64Lshr(($367|0),($368|0),31)|0);
$427 = tempRet0;
$428 = $426&255;
HEAP8[$$pre$phi264Z2D>>0] = $428;
$429 = (_bitshift64Lshr(($373|0),($374|0),23)|0);
$430 = tempRet0;
$431 = $429&255;
HEAP8[$$pre$phi267Z2D>>0] = $431;
$432 = (_bitshift64Lshr(($379|0),($380|0),15)|0);
$433 = tempRet0;
$434 = $432&255;
HEAP8[$$pre$phi269Z2D>>0] = $434;
$435 = (_bitshift64Lshr(($383|0),($380|0),7)|0);
$436 = tempRet0;
$437 = $435&255;
HEAP8[$$pre$phi271Z2D>>0] = $437;
$438 = $394&255;
HEAP8[$$pre$phi273Z2D>>0] = $438;
$$0121179 = 1;
while(1) {
$439 = (($249) + ($$0121179<<4)|0);
$440 = (($$0121179) + -1)|0;
$441 = (($249) + ($440<<4)|0);
$442 = $439;
$443 = $441;
$444 = $443 | $442;
$445 = $444 & 3;
$446 = ($445|0)==(0);
if ($446) {
$447 = (((($249) + ($440<<4)|0)) + 4|0);
$448 = HEAP32[$441>>2]|0;
$449 = (((($249) + ($$0121179<<4)|0)) + 4|0);
HEAP32[$439>>2] = $448;
$450 = (((($249) + ($440<<4)|0)) + 8|0);
$451 = HEAP32[$447>>2]|0;
$452 = (((($249) + ($$0121179<<4)|0)) + 8|0);
HEAP32[$449>>2] = $451;
$453 = (((($249) + ($440<<4)|0)) + 12|0);
$454 = HEAP32[$450>>2]|0;
$455 = (((($249) + ($$0121179<<4)|0)) + 12|0);
HEAP32[$452>>2] = $454;
$456 = HEAP32[$453>>2]|0;
HEAP32[$455>>2] = $456;
$457 = $448&255;
$$phi$trans$insert = (((($249) + ($$0121179<<4)|0)) + 1|0);
$$pre = HEAP8[$$phi$trans$insert>>0]|0;
$$phi$trans$insert193 = (((($249) + ($$0121179<<4)|0)) + 2|0);
$$pre194 = HEAP8[$$phi$trans$insert193>>0]|0;
$$phi$trans$insert195 = (((($249) + ($$0121179<<4)|0)) + 3|0);
$$pre196 = HEAP8[$$phi$trans$insert195>>0]|0;
$458 = $451&255;
$$phi$trans$insert197 = (((($249) + ($$0121179<<4)|0)) + 5|0);
$$pre198 = HEAP8[$$phi$trans$insert197>>0]|0;
$$phi$trans$insert199 = (((($249) + ($$0121179<<4)|0)) + 6|0);
$$pre200 = HEAP8[$$phi$trans$insert199>>0]|0;
$$phi$trans$insert201 = (((($249) + ($$0121179<<4)|0)) + 7|0);
$$pre202 = HEAP8[$$phi$trans$insert201>>0]|0;
$459 = $454&255;
$$phi$trans$insert203 = (((($249) + ($$0121179<<4)|0)) + 9|0);
$$pre204 = HEAP8[$$phi$trans$insert203>>0]|0;
$$phi$trans$insert205 = (((($249) + ($$0121179<<4)|0)) + 10|0);
$$pre206 = HEAP8[$$phi$trans$insert205>>0]|0;
$$phi$trans$insert207 = (((($249) + ($$0121179<<4)|0)) + 11|0);
$$pre208 = HEAP8[$$phi$trans$insert207>>0]|0;
$460 = $456&255;
$$phi$trans$insert209 = (((($249) + ($$0121179<<4)|0)) + 13|0);
$$pre210 = HEAP8[$$phi$trans$insert209>>0]|0;
$$phi$trans$insert211 = (((($249) + ($$0121179<<4)|0)) + 14|0);
$$pre212 = HEAP8[$$phi$trans$insert211>>0]|0;
$$phi$trans$insert213 = (((($249) + ($$0121179<<4)|0)) + 15|0);
$$pre214 = HEAP8[$$phi$trans$insert213>>0]|0;
$$pre$phi274Z2D = $$phi$trans$insert;$$pre$phi275Z2D = $$phi$trans$insert193;$$pre$phi276Z2D = $$phi$trans$insert195;$$pre$phi277Z2D = $449;$$pre$phi278Z2D = $$phi$trans$insert197;$$pre$phi279Z2D = $$phi$trans$insert199;$$pre$phi280Z2D = $$phi$trans$insert201;$$pre$phi281Z2D = $452;$$pre$phi282Z2D = $$phi$trans$insert203;$$pre$phi283Z2D = $$phi$trans$insert205;$$pre$phi284Z2D = $$phi$trans$insert207;$$pre$phi285Z2D = $455;$$pre$phi286Z2D = $$phi$trans$insert209;$$pre$phi287Z2D = $$phi$trans$insert211;$$pre$phi288Z2D = $$phi$trans$insert213;$508 = $457;$512 = $$pre;$518 = $$pre194;$524 = $$pre196;$527 = $458;$533 = $$pre198;$539 = $$pre200;$545 = $$pre202;$548 = $459;$552 = $$pre204;$558 = $$pre206;$564 = $$pre208;$567 = $460;$573 = $$pre210;$579 = $$pre212;$585 = $$pre214;
} else {
$461 = (((($249) + ($440<<4)|0)) + 1|0);
$462 = HEAP8[$441>>0]|0;
$463 = (((($249) + ($$0121179<<4)|0)) + 1|0);
HEAP8[$439>>0] = $462;
$464 = (((($249) + ($440<<4)|0)) + 2|0);
$465 = HEAP8[$461>>0]|0;
$466 = (((($249) + ($$0121179<<4)|0)) + 2|0);
HEAP8[$463>>0] = $465;
$467 = (((($249) + ($440<<4)|0)) + 3|0);
$468 = HEAP8[$464>>0]|0;
$469 = (((($249) + ($$0121179<<4)|0)) + 3|0);
HEAP8[$466>>0] = $468;
$470 = (((($249) + ($440<<4)|0)) + 4|0);
$471 = HEAP8[$467>>0]|0;
$472 = (((($249) + ($$0121179<<4)|0)) + 4|0);
HEAP8[$469>>0] = $471;
$473 = (((($249) + ($440<<4)|0)) + 5|0);
$474 = HEAP8[$470>>0]|0;
$475 = (((($249) + ($$0121179<<4)|0)) + 5|0);
HEAP8[$472>>0] = $474;
$476 = (((($249) + ($440<<4)|0)) + 6|0);
$477 = HEAP8[$473>>0]|0;
$478 = (((($249) + ($$0121179<<4)|0)) + 6|0);
HEAP8[$475>>0] = $477;
$479 = (((($249) + ($440<<4)|0)) + 7|0);
$480 = HEAP8[$476>>0]|0;
$481 = (((($249) + ($$0121179<<4)|0)) + 7|0);
HEAP8[$478>>0] = $480;
$482 = (((($249) + ($440<<4)|0)) + 8|0);
$483 = HEAP8[$479>>0]|0;
$484 = (((($249) + ($$0121179<<4)|0)) + 8|0);
HEAP8[$481>>0] = $483;
$485 = (((($249) + ($440<<4)|0)) + 9|0);
$486 = HEAP8[$482>>0]|0;
$487 = (((($249) + ($$0121179<<4)|0)) + 9|0);
HEAP8[$484>>0] = $486;
$488 = (((($249) + ($440<<4)|0)) + 10|0);
$489 = HEAP8[$485>>0]|0;
$490 = (((($249) + ($$0121179<<4)|0)) + 10|0);
HEAP8[$487>>0] = $489;
$491 = (((($249) + ($440<<4)|0)) + 11|0);
$492 = HEAP8[$488>>0]|0;
$493 = (((($249) + ($$0121179<<4)|0)) + 11|0);
HEAP8[$490>>0] = $492;
$494 = (((($249) + ($440<<4)|0)) + 12|0);
$495 = HEAP8[$491>>0]|0;
$496 = (((($249) + ($$0121179<<4)|0)) + 12|0);
HEAP8[$493>>0] = $495;
$497 = (((($249) + ($440<<4)|0)) + 13|0);
$498 = HEAP8[$494>>0]|0;
$499 = (((($249) + ($$0121179<<4)|0)) + 13|0);
HEAP8[$496>>0] = $498;
$500 = (((($249) + ($440<<4)|0)) + 14|0);
$501 = HEAP8[$497>>0]|0;
$502 = (((($249) + ($$0121179<<4)|0)) + 14|0);
HEAP8[$499>>0] = $501;
$503 = (((($249) + ($440<<4)|0)) + 15|0);
$504 = HEAP8[$500>>0]|0;
$505 = (((($249) + ($$0121179<<4)|0)) + 15|0);
HEAP8[$502>>0] = $504;
$506 = HEAP8[$503>>0]|0;
HEAP8[$505>>0] = $506;
$$pre$phi274Z2D = $463;$$pre$phi275Z2D = $466;$$pre$phi276Z2D = $469;$$pre$phi277Z2D = $472;$$pre$phi278Z2D = $475;$$pre$phi279Z2D = $478;$$pre$phi280Z2D = $481;$$pre$phi281Z2D = $484;$$pre$phi282Z2D = $487;$$pre$phi283Z2D = $490;$$pre$phi284Z2D = $493;$$pre$phi285Z2D = $496;$$pre$phi286Z2D = $499;$$pre$phi287Z2D = $502;$$pre$phi288Z2D = $505;$508 = $462;$512 = $465;$518 = $468;$524 = $471;$527 = $474;$533 = $477;$539 = $480;$545 = $483;$548 = $486;$552 = $489;$558 = $492;$564 = $495;$567 = $498;$573 = $501;$579 = $504;$585 = $506;
}
$507 = $508&255;
$509 = (_bitshift64Shl(($507|0),0,56)|0);
$510 = tempRet0;
$511 = $512&255;
$513 = (_bitshift64Shl(($511|0),0,48)|0);
$514 = tempRet0;
$515 = $513 | $509;
$516 = $514 | $510;
$517 = $518&255;
$519 = (_bitshift64Shl(($517|0),0,40)|0);
$520 = tempRet0;
$521 = $515 | $519;
$522 = $516 | $520;
$523 = $524&255;
$525 = $522 | $523;
$526 = $527&255;
$528 = (_bitshift64Shl(($526|0),0,24)|0);
$529 = tempRet0;
$530 = $521 | $528;
$531 = $525 | $529;
$532 = $533&255;
$534 = (_bitshift64Shl(($532|0),0,16)|0);
$535 = tempRet0;
$536 = $530 | $534;
$537 = $531 | $535;
$538 = $539&255;
$540 = (_bitshift64Shl(($538|0),0,8)|0);
$541 = tempRet0;
$542 = $536 | $540;
$543 = $537 | $541;
$544 = $545&255;
$546 = $542 | $544;
$547 = $548&255;
$549 = (_bitshift64Shl(($547|0),0,56)|0);
$550 = tempRet0;
$551 = $552&255;
$553 = (_bitshift64Shl(($551|0),0,48)|0);
$554 = tempRet0;
$555 = $553 | $549;
$556 = $554 | $550;
$557 = $558&255;
$559 = (_bitshift64Shl(($557|0),0,40)|0);
$560 = tempRet0;
$561 = $555 | $559;
$562 = $556 | $560;
$563 = $564&255;
$565 = $562 | $563;
$566 = $567&255;
$568 = (_bitshift64Shl(($566|0),0,24)|0);
$569 = tempRet0;
$570 = $561 | $568;
$571 = $565 | $569;
$572 = $573&255;
$574 = (_bitshift64Shl(($572|0),0,16)|0);
$575 = tempRet0;
$576 = $570 | $574;
$577 = $571 | $575;
$578 = $579&255;
$580 = (_bitshift64Shl(($578|0),0,8)|0);
$581 = tempRet0;
$582 = $576 | $580;
$583 = $577 | $581;
$584 = $585&255;
$586 = $582 | $584;
$587 = (_bitshift64Ashr(($509|0),($510|0),63)|0);
$588 = tempRet0;
$589 = (_bitshift64Shl(($546|0),($543|0),1)|0);
$590 = tempRet0;
$591 = (_bitshift64Lshr(($547|0),0,7)|0);
$592 = tempRet0;
$593 = $589 | $591;
$590 | $592;
$594 = (_bitshift64Shl(($586|0),($583|0),1)|0);
$595 = tempRet0;
$596 = $587 & 135;
$597 = $594 ^ $596;
$598 = (_bitshift64Lshr(($515|0),($516|0),55)|0);
$599 = tempRet0;
$600 = $598&255;
HEAP8[$439>>0] = $600;
$601 = (_bitshift64Lshr(($521|0),($522|0),47)|0);
$602 = tempRet0;
$603 = $601&255;
HEAP8[$$pre$phi274Z2D>>0] = $603;
$604 = (_bitshift64Lshr(($521|0),($525|0),39)|0);
$605 = tempRet0;
$606 = $604&255;
HEAP8[$$pre$phi275Z2D>>0] = $606;
$607 = (_bitshift64Lshr(($530|0),($531|0),31)|0);
$608 = tempRet0;
$609 = $607&255;
HEAP8[$$pre$phi276Z2D>>0] = $609;
$610 = (_bitshift64Lshr(($536|0),($537|0),23)|0);
$611 = tempRet0;
$612 = $610&255;
HEAP8[$$pre$phi277Z2D>>0] = $612;
$613 = (_bitshift64Lshr(($542|0),($543|0),15)|0);
$614 = tempRet0;
$615 = $613&255;
HEAP8[$$pre$phi278Z2D>>0] = $615;
$616 = (_bitshift64Lshr(($546|0),($543|0),7)|0);
$617 = tempRet0;
$618 = $616&255;
HEAP8[$$pre$phi279Z2D>>0] = $618;
$619 = $593&255;
HEAP8[$$pre$phi280Z2D>>0] = $619;
$620 = (_bitshift64Lshr(($555|0),($556|0),55)|0);
$621 = tempRet0;
$622 = $620&255;
HEAP8[$$pre$phi281Z2D>>0] = $622;
$623 = (_bitshift64Lshr(($561|0),($562|0),47)|0);
$624 = tempRet0;
$625 = $623&255;
HEAP8[$$pre$phi282Z2D>>0] = $625;
$626 = (_bitshift64Lshr(($561|0),($565|0),39)|0);
$627 = tempRet0;
$628 = $626&255;
HEAP8[$$pre$phi283Z2D>>0] = $628;
$629 = (_bitshift64Lshr(($570|0),($571|0),31)|0);
$630 = tempRet0;
$631 = $629&255;
HEAP8[$$pre$phi284Z2D>>0] = $631;
$632 = (_bitshift64Lshr(($576|0),($577|0),23)|0);
$633 = tempRet0;
$634 = $632&255;
HEAP8[$$pre$phi285Z2D>>0] = $634;
$635 = (_bitshift64Lshr(($582|0),($583|0),15)|0);
$636 = tempRet0;
$637 = $635&255;
HEAP8[$$pre$phi286Z2D>>0] = $637;
$638 = (_bitshift64Lshr(($586|0),($583|0),7)|0);
$639 = tempRet0;
$640 = $638&255;
HEAP8[$$pre$phi287Z2D>>0] = $640;
$641 = $597&255;
HEAP8[$$pre$phi288Z2D>>0] = $641;
$642 = (($$0121179) + 1)|0;
$exitcond = ($642|0)==(16);
if ($exitcond) {
break;
} else {
$$0121179 = $642;
}
}
$643 = (16 - ($2))|0;
_memset(($3|0),0,($643|0))|0;
$644 = (($3) + ($643)|0);
$645 = $644;
$646 = $1;
$647 = $645 | $646;
$648 = $647 & 3;
$649 = ($648|0)==(0);
$650 = ($2>>>0)>(3);
$or$cond$i = $650 & $649;
if ($or$cond$i) {
$651 = (($2) + -4)|0;
$652 = $651 & -4;
$653 = (($652) + 4)|0;
$scevgep$i143 = (($1) + ($653)|0);
$$02434$i146 = $1;$$02533$i147 = $644;$$035$i145 = $2;
while(1) {
$654 = ((($$02434$i146)) + 4|0);
$655 = HEAP32[$$02434$i146>>2]|0;
$656 = ((($$02533$i147)) + 4|0);
HEAP32[$$02533$i147>>2] = $655;
$657 = (($$035$i145) + -4)|0;
$658 = ($657>>>0)>(3);
if ($658) {
$$02434$i146 = $654;$$02533$i147 = $656;$$035$i145 = $657;
} else {
break;
}
}
$scevgep44$i144 = (($644) + ($653)|0);
$659 = (($651) - ($652))|0;
$$026$i = $scevgep$i143;$$028$i = $scevgep44$i144;$$1$i149 = $659;
} else {
$$026$i = $1;$$028$i = $644;$$1$i149 = $2;
}
$660 = ($$1$i149|0)==(0);
if (!($660)) {
$$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i149;
while(1) {
$661 = ((($$12731$i)) + 1|0);
$662 = HEAP8[$$12731$i>>0]|0;
$663 = ((($$12930$i)) + 1|0);
HEAP8[$$12930$i>>0] = $662;
$664 = (($$232$i) + -1)|0;
$665 = ($664|0)==(0);
if ($665) {
break;
} else {
$$12731$i = $661;$$12930$i = $663;$$232$i = $664;
}
}
}
$666 = HEAP8[$10>>0]|0;
$667 = $666&255;
$668 = $667 << 4;
$669 = $668&255;
HEAP8[$3>>0] = $669;
$670 = (($643) + -1)|0;
$671 = (($3) + ($670)|0);
$672 = HEAP8[$671>>0]|0;
$673 = $672 | 1;
HEAP8[$671>>0] = $673;
$674 = ((($3)) + 15|0);
$675 = HEAP8[$674>>0]|0;
$676 = $675&255;
$677 = $676 & 192;
$678 = $677&255;
HEAP8[$674>>0] = $678;
$679 = HEAP32[$12>>2]|0;
$680 = ((($679)) + 36|0);
$681 = HEAP32[$680>>2]|0;
$682 = (FUNCTION_TABLE_iiii[$681 & 127]($22,$3,$3)|0);
$683 = ($682>>>0)>($23>>>0);
$684 = ((($3)) + 4|0);
$685 = HEAP32[$3>>2]|0;
$686 = ((($4)) + 4|0);
HEAP32[$4>>2] = $685;
$687 = ((($3)) + 8|0);
$688 = HEAP32[$684>>2]|0;
$689 = ((($4)) + 8|0);
HEAP32[$686>>2] = $688;
$690 = ((($3)) + 12|0);
$691 = HEAP32[$687>>2]|0;
$692 = ((($4)) + 12|0);
HEAP32[$689>>2] = $691;
$693 = HEAP32[$690>>2]|0;
HEAP32[$692>>2] = $693;
$694 = $683 ? $682 : $23;
$695 = ((($4)) + 16|0);
$696 = ((($3)) + 1|0);
$697 = $696;
$698 = $697 & 3;
$699 = ($698|0)==(0);
$700 = $688&255;
if ($699) {
$701 = ((($3)) + 5|0);
$702 = HEAP32[$696>>2]|0;
$703 = $702 ^ $685;
$704 = ((($4)) + 20|0);
HEAP32[$695>>2] = $703;
$705 = HEAP32[$701>>2]|0;
$706 = $705 ^ $688;
HEAP32[$704>>2] = $706;
} else {
$707 = $685&255;
$708 = ((($3)) + 2|0);
$709 = HEAP8[$696>>0]|0;
$710 = $709 ^ $707;
$711 = ((($4)) + 17|0);
HEAP8[$695>>0] = $710;
$712 = ((($3)) + 3|0);
$713 = HEAP8[$708>>0]|0;
$714 = $713 ^ $709;
$715 = ((($4)) + 18|0);
HEAP8[$711>>0] = $714;
$716 = HEAP8[$712>>0]|0;
$717 = $716 ^ $713;
$718 = ((($4)) + 19|0);
HEAP8[$715>>0] = $717;
$719 = ((($3)) + 5|0);
$720 = $716 ^ $700;
$721 = ((($4)) + 20|0);
HEAP8[$718>>0] = $720;
$722 = ((($3)) + 6|0);
$723 = HEAP8[$719>>0]|0;
$724 = $723 ^ $700;
$725 = ((($4)) + 21|0);
HEAP8[$721>>0] = $724;
$726 = ((($3)) + 7|0);
$727 = HEAP8[$722>>0]|0;
$728 = $727 ^ $723;
$729 = ((($4)) + 22|0);
HEAP8[$725>>0] = $728;
$730 = ((($3)) + 8|0);
$731 = HEAP8[$726>>0]|0;
$732 = $731 ^ $727;
$733 = ((($4)) + 23|0);
HEAP8[$729>>0] = $732;
$734 = HEAP8[$730>>0]|0;
$735 = $734 ^ $731;
HEAP8[$733>>0] = $735;
}
$736 = ((($0)) + 64|0);
$737 = $676 >>> 3;
$738 = $737 & 7;
$739 = (($4) + ($738)|0);
$740 = $676 & 7;
$741 = ($740|0)==(0);
if ($741) {
$869 = HEAP8[$739>>0]|0;
HEAP8[$736>>0] = $869;
$870 = ((($736)) + 1|0);
$871 = ((($739)) + 1|0);
$872 = HEAP8[$871>>0]|0;
HEAP8[$870>>0] = $872;
$873 = ((($736)) + 2|0);
$874 = ((($739)) + 2|0);
$875 = HEAP8[$874>>0]|0;
HEAP8[$873>>0] = $875;
$876 = ((($736)) + 3|0);
$877 = ((($739)) + 3|0);
$878 = HEAP8[$877>>0]|0;
HEAP8[$876>>0] = $878;
$879 = ((($736)) + 4|0);
$880 = ((($739)) + 4|0);
$881 = HEAP8[$880>>0]|0;
HEAP8[$879>>0] = $881;
$882 = ((($736)) + 5|0);
$883 = ((($739)) + 5|0);
$884 = HEAP8[$883>>0]|0;
HEAP8[$882>>0] = $884;
$885 = ((($736)) + 6|0);
$886 = ((($739)) + 6|0);
$887 = HEAP8[$886>>0]|0;
HEAP8[$885>>0] = $887;
$888 = ((($736)) + 7|0);
$889 = ((($739)) + 7|0);
$890 = HEAP8[$889>>0]|0;
HEAP8[$888>>0] = $890;
$891 = ((($0)) + 72|0);
$892 = ((($739)) + 8|0);
$893 = HEAP8[$892>>0]|0;
HEAP8[$891>>0] = $893;
$894 = ((($0)) + 73|0);
$895 = ((($739)) + 9|0);
$896 = HEAP8[$895>>0]|0;
HEAP8[$894>>0] = $896;
$897 = ((($0)) + 74|0);
$898 = ((($739)) + 10|0);
$899 = HEAP8[$898>>0]|0;
HEAP8[$897>>0] = $899;
$900 = ((($0)) + 75|0);
$901 = ((($739)) + 11|0);
$902 = HEAP8[$901>>0]|0;
HEAP8[$900>>0] = $902;
$903 = ((($0)) + 76|0);
$904 = ((($739)) + 12|0);
$905 = HEAP8[$904>>0]|0;
HEAP8[$903>>0] = $905;
$906 = ((($739)) + 13|0);
$907 = HEAP8[$906>>0]|0;
$908 = ((($739)) + 14|0);
$909 = HEAP8[$908>>0]|0;
$910 = ((($739)) + 15|0);
$911 = HEAP8[$910>>0]|0;
$$sink = $911;$$sink191 = $909;$$sink192 = $907;
} else {
$742 = (8 - ($740))|0;
$743 = HEAP8[$739>>0]|0;
$744 = $743&255;
$745 = $744 << $740;
$746 = ((($739)) + 1|0);
$747 = HEAP8[$746>>0]|0;
$748 = $747&255;
$749 = $748 >>> $742;
$750 = $749 | $745;
$751 = $750&255;
HEAP8[$736>>0] = $751;
$752 = ((($736)) + 1|0);
$753 = $748 << $740;
$754 = ((($739)) + 2|0);
$755 = HEAP8[$754>>0]|0;
$756 = $755&255;
$757 = $756 >>> $742;
$758 = $757 | $753;
$759 = $758&255;
HEAP8[$752>>0] = $759;
$760 = ((($736)) + 2|0);
$761 = $756 << $740;
$762 = ((($739)) + 3|0);
$763 = HEAP8[$762>>0]|0;
$764 = $763&255;
$765 = $764 >>> $742;
$766 = $765 | $761;
$767 = $766&255;
HEAP8[$760>>0] = $767;
$768 = ((($736)) + 3|0);
$769 = $764 << $740;
$770 = ((($739)) + 4|0);
$771 = HEAP8[$770>>0]|0;
$772 = $771&255;
$773 = $772 >>> $742;
$774 = $773 | $769;
$775 = $774&255;
HEAP8[$768>>0] = $775;
$776 = ((($736)) + 4|0);
$777 = $772 << $740;
$778 = ((($739)) + 5|0);
$779 = HEAP8[$778>>0]|0;
$780 = $779&255;
$781 = $780 >>> $742;
$782 = $781 | $777;
$783 = $782&255;
HEAP8[$776>>0] = $783;
$784 = ((($736)) + 5|0);
$785 = $780 << $740;
$786 = ((($739)) + 6|0);
$787 = HEAP8[$786>>0]|0;
$788 = $787&255;
$789 = $788 >>> $742;
$790 = $789 | $785;
$791 = $790&255;
HEAP8[$784>>0] = $791;
$792 = ((($736)) + 6|0);
$793 = $788 << $740;
$794 = ((($739)) + 7|0);
$795 = HEAP8[$794>>0]|0;
$796 = $795&255;
$797 = $796 >>> $742;
$798 = $797 | $793;
$799 = $798&255;
HEAP8[$792>>0] = $799;
$800 = ((($736)) + 7|0);
$801 = $796 << $740;
$802 = ((($739)) + 8|0);
$803 = HEAP8[$802>>0]|0;
$804 = $803&255;
$805 = $804 >>> $742;
$806 = $805 | $801;
$807 = $806&255;
HEAP8[$800>>0] = $807;
$808 = ((($0)) + 72|0);
$809 = $804 << $740;
$810 = ((($739)) + 9|0);
$811 = HEAP8[$810>>0]|0;
$812 = $811&255;
$813 = $812 >>> $742;
$814 = $813 | $809;
$815 = $814&255;
HEAP8[$808>>0] = $815;
$816 = ((($0)) + 73|0);
$817 = $812 << $740;
$818 = ((($739)) + 10|0);
$819 = HEAP8[$818>>0]|0;
$820 = $819&255;
$821 = $820 >>> $742;
$822 = $821 | $817;
$823 = $822&255;
HEAP8[$816>>0] = $823;
$824 = ((($0)) + 74|0);
$825 = $820 << $740;
$826 = ((($739)) + 11|0);
$827 = HEAP8[$826>>0]|0;
$828 = $827&255;
$829 = $828 >>> $742;
$830 = $829 | $825;
$831 = $830&255;
HEAP8[$824>>0] = $831;
$832 = ((($0)) + 75|0);
$833 = $828 << $740;
$834 = ((($739)) + 12|0);
$835 = HEAP8[$834>>0]|0;
$836 = $835&255;
$837 = $836 >>> $742;
$838 = $837 | $833;
$839 = $838&255;
HEAP8[$832>>0] = $839;
$840 = ((($0)) + 76|0);
$841 = $836 << $740;
$842 = ((($739)) + 13|0);
$843 = HEAP8[$842>>0]|0;
$844 = $843&255;
$845 = $844 >>> $742;
$846 = $845 | $841;
$847 = $846&255;
HEAP8[$840>>0] = $847;
$848 = $844 << $740;
$849 = ((($739)) + 14|0);
$850 = HEAP8[$849>>0]|0;
$851 = $850&255;
$852 = $851 >>> $742;
$853 = $852 | $848;
$854 = $853&255;
$855 = $851 << $740;
$856 = ((($739)) + 15|0);
$857 = HEAP8[$856>>0]|0;
$858 = $857&255;
$859 = $858 >>> $742;
$860 = $859 | $855;
$861 = $860&255;
$862 = $858 << $740;
$863 = ((($739)) + 16|0);
$864 = HEAP8[$863>>0]|0;
$865 = $864&255;
$866 = $865 >>> $742;
$867 = $866 | $862;
$868 = $867&255;
$$sink = $868;$$sink191 = $861;$$sink192 = $854;
}
$912 = ((($0)) + 77|0);
HEAP8[$912>>0] = $$sink192;
$913 = ((($0)) + 78|0);
HEAP8[$913>>0] = $$sink191;
$914 = ((($0)) + 79|0);
HEAP8[$914>>0] = $$sink;
$915 = HEAP8[$5>>0]|0;
$916 = ((($0)) + 80|0);
$917 = ((($0)) + 432|0);
$918 = $915 & -15;
$919 = $918 | 2;
dest=$916; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
;HEAP32[$917>>2]=0|0;HEAP32[$917+4>>2]=0|0;HEAP32[$917+8>>2]=0|0;HEAP32[$917+12>>2]=0|0;HEAP32[$917+16>>2]=0|0;HEAP32[$917+20>>2]=0|0;HEAP32[$917+24>>2]=0|0;HEAP32[$917+28>>2]=0|0;
HEAP8[$5>>0] = $919;
$920 = ((($0)) + 464|0);
$921 = ((($9)) + 353|0);
;HEAP32[$920>>2]=0|0;HEAP32[$920+4>>2]=0|0;HEAP32[$920+8>>2]=0|0;HEAP32[$920+12>>2]=0|0;
$922 = HEAP8[$921>>0]|0;
$923 = $922 & -4;
HEAP8[$921>>0] = $923;
$924 = $3;
$925 = $924;
HEAP32[$925>>2] = 0;
$926 = (($924) + 4)|0;
$927 = $926;
HEAP32[$927>>2] = 0;
$928 = ((($3)) + 8|0);
$929 = $928;
$930 = $929;
HEAP32[$930>>2] = 0;
$931 = (($929) + 4)|0;
$932 = $931;
HEAP32[$932>>2] = 0;
$933 = $4;
$934 = $933;
HEAP32[$934>>2] = 0;
$935 = (($933) + 4)|0;
$936 = $935;
HEAP32[$936>>2] = 0;
$937 = ((($4)) + 8|0);
$938 = $937;
$939 = $938;
HEAP32[$939>>2] = 0;
$940 = (($938) + 4)|0;
$941 = $940;
HEAP32[$941>>2] = 0;
$942 = ((($4)) + 16|0);
$943 = $942;
$944 = $943;
HEAP32[$944>>2] = 0;
$945 = (($943) + 4)|0;
$946 = $945;
HEAP32[$946>>2] = 0;
$947 = ($694|0)==(0);
if ($947) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$948 = (($694) + 16)|0;
___gcry_burn_stack($948);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function __gcry_cipher_ocb_encrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = (_ocb_crypt($0,1,$1,$2,$3,$4)|0);
return ($5|0);
}
function _ocb_crypt($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$0 = 0, $$0108$lcssa = 0, $$0108251 = 0, $$02434$i = 0, $$02434$i161 = 0, $$02434$i221 = 0, $$02533$i = 0, $$02533$i162 = 0, $$02533$i222 = 0, $$026$i = 0, $$028$i = 0, $$03449$i195 = 0, $$035$i = 0, $$035$i160 = 0, $$035$i220 = 0, $$03548$i196 = 0, $$03647$i197 = 0, $$037$i201 = 0, $$039$i200 = 0, $$041$i199 = 0;
var $$050$i194 = 0, $$1 = 0, $$1$i153 = 0, $$1$i202 = 0, $$1110$lcssa = 0, $$1110250 = 0, $$1113$lcssa = 0, $$1113249 = 0, $$1116$lcssa = 0, $$1116248 = 0, $$12731$i = 0, $$12731$i170 = 0, $$12731$i170$ph = 0, $$12731$i230 = 0, $$12731$i230$ph = 0, $$12930$i = 0, $$12930$i171 = 0, $$12930$i171$ph = 0, $$12930$i231 = 0, $$12930$i231$ph = 0;
var $$13845$i206 = 0, $$14044$i207 = 0, $$14243$i208 = 0, $$2 = 0, $$2111 = 0, $$2114 = 0, $$2117 = 0, $$232$i = 0, $$232$i169 = 0, $$232$i169$ph = 0, $$232$i229 = 0, $$232$i229$ph = 0, $$246$i205 = 0, $$3 = 0, $$in = 0, $$phi$trans$insert273 = 0, $$pre = 0, $$pre275 = 0, $10 = 0, $100 = 0;
var $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0;
var $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0;
var $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0;
var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0;
var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0;
var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0;
var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0;
var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0;
var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0;
var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0;
var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0;
var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0;
var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0;
var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0;
var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0;
var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0;
var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0;
var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0;
var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0;
var $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0;
var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0;
var $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0;
var $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0;
var $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0;
var $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0;
var $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0;
var $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0;
var $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0;
var $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0;
var $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0;
var $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0;
var $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0;
var $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0;
var $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0;
var $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0;
var $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0;
var $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0;
var $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0;
var $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0;
var $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0;
var $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0;
var $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $or$cond = 0, $or$cond$i = 0;
var $or$cond$i156 = 0, $or$cond$i189 = 0, $or$cond$i216 = 0, $scevgep = 0, $scevgep$i152 = 0, $scevgep$i157 = 0, $scevgep$i190 = 0, $scevgep$i217 = 0, $scevgep272 = 0, $scevgep44$i = 0, $scevgep44$i158 = 0, $scevgep44$i218 = 0, $scevgep61$i191 = 0, $scevgep63$i192 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$6 = sp + 16|0;
$7 = sp;
$8 = $5 >>> 4;
$9 = ((($0)) + 56|0);
$10 = HEAP8[$9>>0]|0;
$11 = $10 & 2;
$12 = ($11<<24>>24)==(0);
if ($12) {
$$0 = 156;
STACKTOP = sp;return ($$0|0);
}
$13 = ((($0)) + 128|0);
$14 = ((($13)) + 353|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15 & 1;
$17 = ($16<<24>>24)==(0);
if (!($17)) {
$$0 = 156;
STACKTOP = sp;return ($$0|0);
}
$18 = ((($0)) + 12|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($19)) + 20|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($21|0)==(16);
if (!($22)) {
$$0 = 12;
STACKTOP = sp;return ($$0|0);
}
$23 = ($3>>>0)<($5>>>0);
if ($23) {
$$0 = 200;
STACKTOP = sp;return ($$0|0);
}
$24 = $10 & 8;
$25 = ($24<<24>>24)!=(0);
$26 = $5 & 15;
$27 = ($26|0)==(0);
$or$cond = $27 | $25;
if (!($or$cond)) {
$$0 = 139;
STACKTOP = sp;return ($$0|0);
}
$28 = ($8|0)==(0);
do {
if ($28) {
$$1 = 0;$$2111 = $5;$$2114 = $4;$$2117 = $2;
} else {
$29 = ((($0)) + 40|0);
$30 = HEAP32[$29>>2]|0;
$31 = ($30|0)==(0|0);
$32 = $5 & -16;
if (!($31)) {
$33 = (($5) - ($32))|0;
$34 = (($2) + ($32)|0);
$35 = (($4) + ($32)|0);
FUNCTION_TABLE_viiiii[$30 & 127]($0,$2,$4,$8,$1);
$$1 = 0;$$2111 = $33;$$2114 = $35;$$2117 = $34;
break;
}
$36 = ($1|0)!=(0);
$37 = ((($19)) + 36|0);
$38 = ((($19)) + 40|0);
$$in = $36 ? $37 : $38;
$39 = HEAP32[$$in>>2]|0;
if ($36) {
$40 = ((($0)) + 80|0);
_ocb_checksum($40,$4,$8);
}
$41 = ($5>>>0)>(15);
if ($41) {
$42 = ((($0)) + 464|0);
$43 = ((($0)) + 64|0);
$44 = $43;
$45 = ((($43)) + 4|0);
$46 = ((($0)) + 72|0);
$47 = ((($0)) + 76|0);
$48 = ((($0)) + 496|0);
$49 = (($5) + -16)|0;
$50 = $49 & -16;
$51 = (($50) + 16)|0;
$52 = (($49) - ($50))|0;
$53 = ((($43)) + 1|0);
$54 = ((($43)) + 2|0);
$55 = ((($43)) + 3|0);
$56 = ((($43)) + 4|0);
$57 = ((($43)) + 5|0);
$58 = ((($43)) + 6|0);
$59 = ((($43)) + 7|0);
$60 = ((($0)) + 72|0);
$61 = ((($0)) + 73|0);
$62 = ((($0)) + 74|0);
$63 = ((($0)) + 75|0);
$64 = ((($0)) + 76|0);
$65 = ((($0)) + 77|0);
$66 = ((($0)) + 78|0);
$67 = ((($0)) + 79|0);
$68 = ((($0)) + 72|0);
$69 = ((($43)) + 4|0);
$70 = ((($0)) + 76|0);
$71 = ((($43)) + 1|0);
$72 = ((($43)) + 2|0);
$73 = ((($43)) + 3|0);
$74 = ((($43)) + 4|0);
$75 = ((($43)) + 5|0);
$76 = ((($43)) + 6|0);
$77 = ((($43)) + 7|0);
$78 = ((($0)) + 72|0);
$79 = ((($0)) + 73|0);
$80 = ((($0)) + 74|0);
$81 = ((($0)) + 75|0);
$82 = ((($0)) + 76|0);
$83 = ((($0)) + 77|0);
$84 = ((($0)) + 78|0);
$85 = ((($0)) + 79|0);
$86 = ((($43)) + 1|0);
$87 = ((($43)) + 2|0);
$88 = ((($43)) + 3|0);
$89 = ((($43)) + 4|0);
$90 = ((($43)) + 5|0);
$91 = ((($43)) + 6|0);
$92 = ((($43)) + 7|0);
$93 = ((($0)) + 72|0);
$94 = ((($0)) + 73|0);
$95 = ((($0)) + 74|0);
$96 = ((($0)) + 75|0);
$97 = ((($0)) + 76|0);
$98 = ((($0)) + 77|0);
$99 = ((($0)) + 78|0);
$100 = ((($0)) + 79|0);
$$0108251 = 0;$$1110250 = $5;$$1113249 = $4;$$1116248 = $2;
while(1) {
$101 = $42;
$102 = $101;
$103 = HEAP32[$102>>2]|0;
$104 = (($101) + 4)|0;
$105 = $104;
$106 = HEAP32[$105>>2]|0;
$107 = (_i64Add(($103|0),($106|0),1,0)|0);
$108 = tempRet0;
$109 = $42;
$110 = $109;
HEAP32[$110>>2] = $107;
$111 = (($109) + 4)|0;
$112 = $111;
HEAP32[$112>>2] = $108;
$113 = (__gcry_cipher_ocb_get_l($0,$6,$107,$108)|0);
$114 = $113;
$115 = $114 | $44;
$116 = $115 & 3;
$117 = ($116|0)==(0);
if ($117) {
$118 = ((($113)) + 4|0);
$119 = HEAP32[$113>>2]|0;
$120 = HEAP32[$43>>2]|0;
$121 = $120 ^ $119;
HEAP32[$43>>2] = $121;
$122 = ((($113)) + 8|0);
$123 = HEAP32[$118>>2]|0;
$124 = HEAP32[$45>>2]|0;
$125 = $124 ^ $123;
HEAP32[$45>>2] = $125;
$126 = ((($113)) + 12|0);
$127 = HEAP32[$122>>2]|0;
$128 = HEAP32[$46>>2]|0;
$129 = $128 ^ $127;
HEAP32[$46>>2] = $129;
$130 = HEAP32[$126>>2]|0;
$131 = HEAP32[$47>>2]|0;
$132 = $131 ^ $130;
HEAP32[$47>>2] = $132;
} else {
$133 = ((($113)) + 1|0);
$134 = HEAP8[$113>>0]|0;
$135 = HEAP8[$43>>0]|0;
$136 = $135 ^ $134;
HEAP8[$43>>0] = $136;
$137 = ((($113)) + 2|0);
$138 = HEAP8[$133>>0]|0;
$139 = HEAP8[$53>>0]|0;
$140 = $139 ^ $138;
HEAP8[$53>>0] = $140;
$141 = ((($113)) + 3|0);
$142 = HEAP8[$137>>0]|0;
$143 = HEAP8[$54>>0]|0;
$144 = $143 ^ $142;
HEAP8[$54>>0] = $144;
$145 = ((($113)) + 4|0);
$146 = HEAP8[$141>>0]|0;
$147 = HEAP8[$55>>0]|0;
$148 = $147 ^ $146;
HEAP8[$55>>0] = $148;
$149 = ((($113)) + 5|0);
$150 = HEAP8[$145>>0]|0;
$151 = HEAP8[$56>>0]|0;
$152 = $151 ^ $150;
HEAP8[$56>>0] = $152;
$153 = ((($113)) + 6|0);
$154 = HEAP8[$149>>0]|0;
$155 = HEAP8[$57>>0]|0;
$156 = $155 ^ $154;
HEAP8[$57>>0] = $156;
$157 = ((($113)) + 7|0);
$158 = HEAP8[$153>>0]|0;
$159 = HEAP8[$58>>0]|0;
$160 = $159 ^ $158;
HEAP8[$58>>0] = $160;
$161 = ((($113)) + 8|0);
$162 = HEAP8[$157>>0]|0;
$163 = HEAP8[$59>>0]|0;
$164 = $163 ^ $162;
HEAP8[$59>>0] = $164;
$165 = ((($113)) + 9|0);
$166 = HEAP8[$161>>0]|0;
$167 = HEAP8[$60>>0]|0;
$168 = $167 ^ $166;
HEAP8[$60>>0] = $168;
$169 = ((($113)) + 10|0);
$170 = HEAP8[$165>>0]|0;
$171 = HEAP8[$61>>0]|0;
$172 = $171 ^ $170;
HEAP8[$61>>0] = $172;
$173 = ((($113)) + 11|0);
$174 = HEAP8[$169>>0]|0;
$175 = HEAP8[$62>>0]|0;
$176 = $175 ^ $174;
HEAP8[$62>>0] = $176;
$177 = ((($113)) + 12|0);
$178 = HEAP8[$173>>0]|0;
$179 = HEAP8[$63>>0]|0;
$180 = $179 ^ $178;
HEAP8[$63>>0] = $180;
$181 = ((($113)) + 13|0);
$182 = HEAP8[$177>>0]|0;
$183 = HEAP8[$64>>0]|0;
$184 = $183 ^ $182;
HEAP8[$64>>0] = $184;
$185 = ((($113)) + 14|0);
$186 = HEAP8[$181>>0]|0;
$187 = HEAP8[$65>>0]|0;
$188 = $187 ^ $186;
HEAP8[$65>>0] = $188;
$189 = ((($113)) + 15|0);
$190 = HEAP8[$185>>0]|0;
$191 = HEAP8[$66>>0]|0;
$192 = $191 ^ $190;
HEAP8[$66>>0] = $192;
$193 = HEAP8[$189>>0]|0;
$194 = HEAP8[$67>>0]|0;
$195 = $194 ^ $193;
HEAP8[$67>>0] = $195;
}
$196 = $$1116248;
$197 = $196 | $44;
$198 = $$1113249;
$199 = $197 | $198;
$200 = $199 & 3;
$201 = ($200|0)==(0);
if ($201) {
$202 = HEAP32[$43>>2]|0;
$203 = ((($$1113249)) + 4|0);
$204 = HEAP32[$$1113249>>2]|0;
$205 = $204 ^ $202;
$206 = ((($$1116248)) + 4|0);
HEAP32[$$1116248>>2] = $205;
$207 = HEAP32[$69>>2]|0;
$208 = ((($$1113249)) + 8|0);
$209 = HEAP32[$203>>2]|0;
$210 = $209 ^ $207;
$211 = ((($$1116248)) + 8|0);
HEAP32[$206>>2] = $210;
$212 = HEAP32[$68>>2]|0;
$213 = ((($$1113249)) + 12|0);
$214 = HEAP32[$208>>2]|0;
$215 = $214 ^ $212;
$216 = ((($$1116248)) + 12|0);
HEAP32[$211>>2] = $215;
$217 = HEAP32[$70>>2]|0;
$218 = HEAP32[$213>>2]|0;
$219 = $218 ^ $217;
HEAP32[$216>>2] = $219;
} else {
$220 = HEAP8[$43>>0]|0;
$221 = ((($$1113249)) + 1|0);
$222 = HEAP8[$$1113249>>0]|0;
$223 = $222 ^ $220;
$224 = ((($$1116248)) + 1|0);
HEAP8[$$1116248>>0] = $223;
$225 = HEAP8[$71>>0]|0;
$226 = ((($$1113249)) + 2|0);
$227 = HEAP8[$221>>0]|0;
$228 = $227 ^ $225;
$229 = ((($$1116248)) + 2|0);
HEAP8[$224>>0] = $228;
$230 = HEAP8[$72>>0]|0;
$231 = ((($$1113249)) + 3|0);
$232 = HEAP8[$226>>0]|0;
$233 = $232 ^ $230;
$234 = ((($$1116248)) + 3|0);
HEAP8[$229>>0] = $233;
$235 = HEAP8[$73>>0]|0;
$236 = ((($$1113249)) + 4|0);
$237 = HEAP8[$231>>0]|0;
$238 = $237 ^ $235;
$239 = ((($$1116248)) + 4|0);
HEAP8[$234>>0] = $238;
$240 = HEAP8[$74>>0]|0;
$241 = ((($$1113249)) + 5|0);
$242 = HEAP8[$236>>0]|0;
$243 = $242 ^ $240;
$244 = ((($$1116248)) + 5|0);
HEAP8[$239>>0] = $243;
$245 = HEAP8[$75>>0]|0;
$246 = ((($$1113249)) + 6|0);
$247 = HEAP8[$241>>0]|0;
$248 = $247 ^ $245;
$249 = ((($$1116248)) + 6|0);
HEAP8[$244>>0] = $248;
$250 = HEAP8[$76>>0]|0;
$251 = ((($$1113249)) + 7|0);
$252 = HEAP8[$246>>0]|0;
$253 = $252 ^ $250;
$254 = ((($$1116248)) + 7|0);
HEAP8[$249>>0] = $253;
$255 = HEAP8[$77>>0]|0;
$256 = ((($$1113249)) + 8|0);
$257 = HEAP8[$251>>0]|0;
$258 = $257 ^ $255;
$259 = ((($$1116248)) + 8|0);
HEAP8[$254>>0] = $258;
$260 = HEAP8[$78>>0]|0;
$261 = ((($$1113249)) + 9|0);
$262 = HEAP8[$256>>0]|0;
$263 = $262 ^ $260;
$264 = ((($$1116248)) + 9|0);
HEAP8[$259>>0] = $263;
$265 = HEAP8[$79>>0]|0;
$266 = ((($$1113249)) + 10|0);
$267 = HEAP8[$261>>0]|0;
$268 = $267 ^ $265;
$269 = ((($$1116248)) + 10|0);
HEAP8[$264>>0] = $268;
$270 = HEAP8[$80>>0]|0;
$271 = ((($$1113249)) + 11|0);
$272 = HEAP8[$266>>0]|0;
$273 = $272 ^ $270;
$274 = ((($$1116248)) + 11|0);
HEAP8[$269>>0] = $273;
$275 = HEAP8[$81>>0]|0;
$276 = ((($$1113249)) + 12|0);
$277 = HEAP8[$271>>0]|0;
$278 = $277 ^ $275;
$279 = ((($$1116248)) + 12|0);
HEAP8[$274>>0] = $278;
$280 = HEAP8[$82>>0]|0;
$281 = ((($$1113249)) + 13|0);
$282 = HEAP8[$276>>0]|0;
$283 = $282 ^ $280;
$284 = ((($$1116248)) + 13|0);
HEAP8[$279>>0] = $283;
$285 = HEAP8[$83>>0]|0;
$286 = ((($$1113249)) + 14|0);
$287 = HEAP8[$281>>0]|0;
$288 = $287 ^ $285;
$289 = ((($$1116248)) + 14|0);
HEAP8[$284>>0] = $288;
$290 = HEAP8[$84>>0]|0;
$291 = ((($$1113249)) + 15|0);
$292 = HEAP8[$286>>0]|0;
$293 = $292 ^ $290;
$294 = ((($$1116248)) + 15|0);
HEAP8[$289>>0] = $293;
$295 = HEAP8[$85>>0]|0;
$296 = HEAP8[$291>>0]|0;
$297 = $296 ^ $295;
HEAP8[$294>>0] = $297;
}
$298 = (FUNCTION_TABLE_iiii[$39 & 127]($48,$$1116248,$$1116248)|0);
$299 = ($298>>>0)>($$0108251>>>0);
$300 = $299 ? $298 : $$0108251;
$301 = $197 & 3;
$302 = ($301|0)==(0);
if ($302) {
$303 = HEAP32[$43>>2]|0;
$304 = ((($$1116248)) + 4|0);
$305 = HEAP32[$$1116248>>2]|0;
$306 = $305 ^ $303;
HEAP32[$$1116248>>2] = $306;
$307 = HEAP32[$45>>2]|0;
$308 = ((($$1116248)) + 8|0);
$309 = HEAP32[$304>>2]|0;
$310 = $309 ^ $307;
HEAP32[$304>>2] = $310;
$311 = HEAP32[$46>>2]|0;
$312 = ((($$1116248)) + 12|0);
$313 = HEAP32[$308>>2]|0;
$314 = $313 ^ $311;
HEAP32[$308>>2] = $314;
$315 = HEAP32[$47>>2]|0;
$316 = HEAP32[$312>>2]|0;
$317 = $316 ^ $315;
HEAP32[$312>>2] = $317;
} else {
$318 = HEAP8[$43>>0]|0;
$319 = ((($$1116248)) + 1|0);
$320 = HEAP8[$$1116248>>0]|0;
$321 = $320 ^ $318;
HEAP8[$$1116248>>0] = $321;
$322 = HEAP8[$86>>0]|0;
$323 = ((($$1116248)) + 2|0);
$324 = HEAP8[$319>>0]|0;
$325 = $324 ^ $322;
HEAP8[$319>>0] = $325;
$326 = HEAP8[$87>>0]|0;
$327 = ((($$1116248)) + 3|0);
$328 = HEAP8[$323>>0]|0;
$329 = $328 ^ $326;
HEAP8[$323>>0] = $329;
$330 = HEAP8[$88>>0]|0;
$331 = ((($$1116248)) + 4|0);
$332 = HEAP8[$327>>0]|0;
$333 = $332 ^ $330;
HEAP8[$327>>0] = $333;
$334 = HEAP8[$89>>0]|0;
$335 = ((($$1116248)) + 5|0);
$336 = HEAP8[$331>>0]|0;
$337 = $336 ^ $334;
HEAP8[$331>>0] = $337;
$338 = HEAP8[$90>>0]|0;
$339 = ((($$1116248)) + 6|0);
$340 = HEAP8[$335>>0]|0;
$341 = $340 ^ $338;
HEAP8[$335>>0] = $341;
$342 = HEAP8[$91>>0]|0;
$343 = ((($$1116248)) + 7|0);
$344 = HEAP8[$339>>0]|0;
$345 = $344 ^ $342;
HEAP8[$339>>0] = $345;
$346 = HEAP8[$92>>0]|0;
$347 = ((($$1116248)) + 8|0);
$348 = HEAP8[$343>>0]|0;
$349 = $348 ^ $346;
HEAP8[$343>>0] = $349;
$350 = HEAP8[$93>>0]|0;
$351 = ((($$1116248)) + 9|0);
$352 = HEAP8[$347>>0]|0;
$353 = $352 ^ $350;
HEAP8[$347>>0] = $353;
$354 = HEAP8[$94>>0]|0;
$355 = ((($$1116248)) + 10|0);
$356 = HEAP8[$351>>0]|0;
$357 = $356 ^ $354;
HEAP8[$351>>0] = $357;
$358 = HEAP8[$95>>0]|0;
$359 = ((($$1116248)) + 11|0);
$360 = HEAP8[$355>>0]|0;
$361 = $360 ^ $358;
HEAP8[$355>>0] = $361;
$362 = HEAP8[$96>>0]|0;
$363 = ((($$1116248)) + 12|0);
$364 = HEAP8[$359>>0]|0;
$365 = $364 ^ $362;
HEAP8[$359>>0] = $365;
$366 = HEAP8[$97>>0]|0;
$367 = ((($$1116248)) + 13|0);
$368 = HEAP8[$363>>0]|0;
$369 = $368 ^ $366;
HEAP8[$363>>0] = $369;
$370 = HEAP8[$98>>0]|0;
$371 = ((($$1116248)) + 14|0);
$372 = HEAP8[$367>>0]|0;
$373 = $372 ^ $370;
HEAP8[$367>>0] = $373;
$374 = HEAP8[$99>>0]|0;
$375 = ((($$1116248)) + 15|0);
$376 = HEAP8[$371>>0]|0;
$377 = $376 ^ $374;
HEAP8[$371>>0] = $377;
$378 = HEAP8[$100>>0]|0;
$379 = HEAP8[$375>>0]|0;
$380 = $379 ^ $378;
HEAP8[$375>>0] = $380;
}
$381 = ((($$1113249)) + 16|0);
$382 = (($$1110250) + -16)|0;
$383 = ((($$1116248)) + 16|0);
$384 = ($382>>>0)>(15);
if ($384) {
$$0108251 = $300;$$1110250 = $382;$$1113249 = $381;$$1116248 = $383;
} else {
break;
}
}
$scevgep = (($4) + ($51)|0);
$scevgep272 = (($2) + ($51)|0);
$$0108$lcssa = $300;$$1110$lcssa = $52;$$1113$lcssa = $scevgep;$$1116$lcssa = $scevgep272;
} else {
$$0108$lcssa = 0;$$1110$lcssa = $5;$$1113$lcssa = $4;$$1116$lcssa = $2;
}
if ($36) {
$$1 = $$0108$lcssa;$$2111 = $$1110$lcssa;$$2114 = $$1113$lcssa;$$2117 = $$1116$lcssa;
} else {
$385 = (0 - ($32))|0;
$386 = (($$1116$lcssa) + ($385)|0);
$387 = ((($0)) + 80|0);
_ocb_checksum($387,$386,$8);
$$1 = $$0108$lcssa;$$2111 = $$1110$lcssa;$$2114 = $$1113$lcssa;$$2117 = $$1116$lcssa;
}
}
} while(0);
$388 = ($$2111|0)==(0);
if ($388) {
$$2 = $$1;
} else {
$389 = ((($0)) + 64|0);
$390 = $389;
$391 = $13;
$392 = $391 | $390;
$393 = $392 & 3;
$394 = ($393|0)==(0);
if ($394) {
$395 = ((($13)) + 4|0);
$396 = HEAP32[$13>>2]|0;
$397 = ((($389)) + 4|0);
$398 = HEAP32[$389>>2]|0;
$399 = $398 ^ $396;
HEAP32[$389>>2] = $399;
$400 = ((($0)) + 136|0);
$401 = HEAP32[$395>>2]|0;
$402 = ((($0)) + 72|0);
$403 = HEAP32[$397>>2]|0;
$404 = $403 ^ $401;
HEAP32[$397>>2] = $404;
$405 = ((($0)) + 140|0);
$406 = HEAP32[$400>>2]|0;
$407 = ((($0)) + 76|0);
$408 = HEAP32[$402>>2]|0;
$409 = $408 ^ $406;
HEAP32[$402>>2] = $409;
$410 = HEAP32[$405>>2]|0;
$411 = HEAP32[$407>>2]|0;
$412 = $411 ^ $410;
HEAP32[$407>>2] = $412;
} else {
$413 = ((($13)) + 1|0);
$414 = HEAP8[$13>>0]|0;
$415 = ((($389)) + 1|0);
$416 = HEAP8[$389>>0]|0;
$417 = $416 ^ $414;
HEAP8[$389>>0] = $417;
$418 = ((($13)) + 2|0);
$419 = HEAP8[$413>>0]|0;
$420 = ((($389)) + 2|0);
$421 = HEAP8[$415>>0]|0;
$422 = $421 ^ $419;
HEAP8[$415>>0] = $422;
$423 = ((($13)) + 3|0);
$424 = HEAP8[$418>>0]|0;
$425 = ((($389)) + 3|0);
$426 = HEAP8[$420>>0]|0;
$427 = $426 ^ $424;
HEAP8[$420>>0] = $427;
$428 = ((($13)) + 4|0);
$429 = HEAP8[$423>>0]|0;
$430 = ((($389)) + 4|0);
$431 = HEAP8[$425>>0]|0;
$432 = $431 ^ $429;
HEAP8[$425>>0] = $432;
$433 = ((($13)) + 5|0);
$434 = HEAP8[$428>>0]|0;
$435 = ((($389)) + 5|0);
$436 = HEAP8[$430>>0]|0;
$437 = $436 ^ $434;
HEAP8[$430>>0] = $437;
$438 = ((($13)) + 6|0);
$439 = HEAP8[$433>>0]|0;
$440 = ((($389)) + 6|0);
$441 = HEAP8[$435>>0]|0;
$442 = $441 ^ $439;
HEAP8[$435>>0] = $442;
$443 = ((($13)) + 7|0);
$444 = HEAP8[$438>>0]|0;
$445 = ((($389)) + 7|0);
$446 = HEAP8[$440>>0]|0;
$447 = $446 ^ $444;
HEAP8[$440>>0] = $447;
$448 = ((($0)) + 136|0);
$449 = HEAP8[$443>>0]|0;
$450 = ((($0)) + 72|0);
$451 = HEAP8[$445>>0]|0;
$452 = $451 ^ $449;
HEAP8[$445>>0] = $452;
$453 = ((($0)) + 137|0);
$454 = HEAP8[$448>>0]|0;
$455 = ((($0)) + 73|0);
$456 = HEAP8[$450>>0]|0;
$457 = $456 ^ $454;
HEAP8[$450>>0] = $457;
$458 = ((($0)) + 138|0);
$459 = HEAP8[$453>>0]|0;
$460 = ((($0)) + 74|0);
$461 = HEAP8[$455>>0]|0;
$462 = $461 ^ $459;
HEAP8[$455>>0] = $462;
$463 = ((($0)) + 139|0);
$464 = HEAP8[$458>>0]|0;
$465 = ((($0)) + 75|0);
$466 = HEAP8[$460>>0]|0;
$467 = $466 ^ $464;
HEAP8[$460>>0] = $467;
$468 = ((($0)) + 140|0);
$469 = HEAP8[$463>>0]|0;
$470 = ((($0)) + 76|0);
$471 = HEAP8[$465>>0]|0;
$472 = $471 ^ $469;
HEAP8[$465>>0] = $472;
$473 = ((($0)) + 141|0);
$474 = HEAP8[$468>>0]|0;
$475 = ((($0)) + 77|0);
$476 = HEAP8[$470>>0]|0;
$477 = $476 ^ $474;
HEAP8[$470>>0] = $477;
$478 = ((($0)) + 142|0);
$479 = HEAP8[$473>>0]|0;
$480 = ((($0)) + 78|0);
$481 = HEAP8[$475>>0]|0;
$482 = $481 ^ $479;
HEAP8[$475>>0] = $482;
$483 = ((($0)) + 143|0);
$484 = HEAP8[$478>>0]|0;
$485 = ((($0)) + 79|0);
$486 = HEAP8[$480>>0]|0;
$487 = $486 ^ $484;
HEAP8[$480>>0] = $487;
$488 = HEAP8[$483>>0]|0;
$489 = HEAP8[$485>>0]|0;
$490 = $489 ^ $488;
HEAP8[$485>>0] = $490;
}
$491 = HEAP32[$18>>2]|0;
$492 = ((($491)) + 36|0);
$493 = HEAP32[$492>>2]|0;
$494 = ((($0)) + 496|0);
$495 = (FUNCTION_TABLE_iiii[$493 & 127]($494,$7,$389)|0);
$496 = ($495>>>0)>($$1>>>0);
$497 = $496 ? $495 : $$1;
$498 = ($1|0)==(0);
do {
if ($498) {
$645 = ((($7)) + 4|0);
$646 = HEAP32[$7>>2]|0;
$647 = ((($6)) + 4|0);
HEAP32[$6>>2] = $646;
$648 = ((($7)) + 8|0);
$649 = HEAP32[$645>>2]|0;
$650 = ((($6)) + 8|0);
HEAP32[$647>>2] = $649;
$651 = ((($7)) + 12|0);
$652 = HEAP32[$648>>2]|0;
$653 = ((($6)) + 12|0);
HEAP32[$650>>2] = $652;
$654 = HEAP32[$651>>2]|0;
HEAP32[$653>>2] = $654;
$655 = $$2114;
$656 = $655 & 3;
$657 = ($656|0)==(0);
$658 = ($$2111>>>0)>(3);
$or$cond$i156 = $658 & $657;
if ($or$cond$i156) {
$659 = (($$2111) + -4)|0;
$660 = $659 & -4;
$661 = (($660) + 4)|0;
$scevgep$i157 = (($$2114) + ($661)|0);
$$02434$i161 = $$2114;$$02533$i162 = $6;$$035$i160 = $$2111;
while(1) {
$662 = ((($$02434$i161)) + 4|0);
$663 = HEAP32[$$02434$i161>>2]|0;
$664 = ((($$02533$i162)) + 4|0);
HEAP32[$$02533$i162>>2] = $663;
$665 = (($$035$i160) + -4)|0;
$666 = ($665>>>0)>(3);
if ($666) {
$$02434$i161 = $662;$$02533$i162 = $664;$$035$i160 = $665;
} else {
break;
}
}
$scevgep44$i158 = (($6) + ($661)|0);
$667 = (($659) - ($660))|0;
$668 = ($667|0)==(0);
if ($668) {
$677 = $646;$682 = $649;
} else {
$$12731$i170$ph = $scevgep$i157;$$12930$i171$ph = $scevgep44$i158;$$232$i169$ph = $667;
label = 51;
}
} else {
$$12731$i170$ph = $$2114;$$12930$i171$ph = $6;$$232$i169$ph = $$2111;
label = 51;
}
if ((label|0) == 51) {
$$12731$i170 = $$12731$i170$ph;$$12930$i171 = $$12930$i171$ph;$$232$i169 = $$232$i169$ph;
while(1) {
$669 = ((($$12731$i170)) + 1|0);
$670 = HEAP8[$$12731$i170>>0]|0;
$671 = ((($$12930$i171)) + 1|0);
HEAP8[$$12930$i171>>0] = $670;
$672 = (($$232$i169) + -1)|0;
$673 = ($672|0)==(0);
if ($673) {
break;
} else {
$$12731$i170 = $669;$$12930$i171 = $671;$$232$i169 = $672;
}
}
$$pre = HEAP32[$7>>2]|0;
$$phi$trans$insert273 = ((($7)) + 4|0);
$$pre275 = HEAP32[$$phi$trans$insert273>>2]|0;
$677 = $$pre;$682 = $$pre275;
}
$674 = ((($6)) + 4|0);
$675 = HEAP32[$6>>2]|0;
$676 = $675 ^ $677;
HEAP32[$6>>2] = $676;
$678 = ((($7)) + 8|0);
$679 = ((($6)) + 8|0);
$680 = HEAP32[$674>>2]|0;
$681 = $680 ^ $682;
HEAP32[$674>>2] = $681;
$683 = ((($7)) + 12|0);
$684 = HEAP32[$678>>2]|0;
$685 = ((($6)) + 12|0);
$686 = HEAP32[$679>>2]|0;
$687 = $686 ^ $684;
HEAP32[$679>>2] = $687;
$688 = HEAP32[$683>>2]|0;
$689 = HEAP32[$685>>2]|0;
$690 = $689 ^ $688;
HEAP32[$685>>2] = $690;
$691 = (($6) + ($$2111)|0);
HEAP8[$691>>0] = -128;
$692 = $$2117;
$693 = $692 & 3;
$694 = ($693|0)==(0);
$or$cond$i = $694 & $658;
if ($or$cond$i) {
$695 = (($$2111) + -4)|0;
$696 = $695 & -4;
$697 = (($696) + 4)|0;
$scevgep$i152 = (($6) + ($697)|0);
$$02434$i = $6;$$02533$i = $$2117;$$035$i = $$2111;
while(1) {
$698 = ((($$02434$i)) + 4|0);
$699 = HEAP32[$$02434$i>>2]|0;
$700 = ((($$02533$i)) + 4|0);
HEAP32[$$02533$i>>2] = $699;
$701 = (($$035$i) + -4)|0;
$702 = ($701>>>0)>(3);
if ($702) {
$$02434$i = $698;$$02533$i = $700;$$035$i = $701;
} else {
break;
}
}
$scevgep44$i = (($$2117) + ($697)|0);
$703 = (($695) - ($696))|0;
$$026$i = $scevgep$i152;$$028$i = $scevgep44$i;$$1$i153 = $703;
} else {
$$026$i = $6;$$028$i = $$2117;$$1$i153 = $$2111;
}
$704 = ($$1$i153|0)==(0);
if (!($704)) {
$$12731$i = $$026$i;$$12930$i = $$028$i;$$232$i = $$1$i153;
while(1) {
$705 = ((($$12731$i)) + 1|0);
$706 = HEAP8[$$12731$i>>0]|0;
$707 = ((($$12930$i)) + 1|0);
HEAP8[$$12930$i>>0] = $706;
$708 = (($$232$i) + -1)|0;
$709 = ($708|0)==(0);
if ($709) {
break;
} else {
$$12731$i = $705;$$12930$i = $707;$$232$i = $708;
}
}
}
$710 = ((($0)) + 80|0);
$711 = $710;
$712 = $711 & 3;
$713 = ($712|0)==(0);
if ($713) {
$714 = HEAP32[$6>>2]|0;
$715 = ((($710)) + 4|0);
$716 = HEAP32[$710>>2]|0;
$717 = $716 ^ $714;
HEAP32[$710>>2] = $717;
$718 = HEAP32[$674>>2]|0;
$719 = ((($0)) + 88|0);
$720 = HEAP32[$715>>2]|0;
$721 = $720 ^ $718;
HEAP32[$715>>2] = $721;
$722 = HEAP32[$679>>2]|0;
$723 = ((($0)) + 92|0);
$724 = HEAP32[$719>>2]|0;
$725 = $724 ^ $722;
HEAP32[$719>>2] = $725;
$726 = HEAP32[$685>>2]|0;
$727 = HEAP32[$723>>2]|0;
$728 = $727 ^ $726;
HEAP32[$723>>2] = $728;
break;
} else {
$729 = ((($6)) + 1|0);
$730 = HEAP8[$6>>0]|0;
$731 = ((($710)) + 1|0);
$732 = HEAP8[$710>>0]|0;
$733 = $732 ^ $730;
HEAP8[$710>>0] = $733;
$734 = ((($6)) + 2|0);
$735 = HEAP8[$729>>0]|0;
$736 = ((($710)) + 2|0);
$737 = HEAP8[$731>>0]|0;
$738 = $737 ^ $735;
HEAP8[$731>>0] = $738;
$739 = ((($6)) + 3|0);
$740 = HEAP8[$734>>0]|0;
$741 = ((($710)) + 3|0);
$742 = HEAP8[$736>>0]|0;
$743 = $742 ^ $740;
HEAP8[$736>>0] = $743;
$744 = ((($6)) + 4|0);
$745 = HEAP8[$739>>0]|0;
$746 = ((($710)) + 4|0);
$747 = HEAP8[$741>>0]|0;
$748 = $747 ^ $745;
HEAP8[$741>>0] = $748;
$749 = ((($6)) + 5|0);
$750 = HEAP8[$744>>0]|0;
$751 = ((($710)) + 5|0);
$752 = HEAP8[$746>>0]|0;
$753 = $752 ^ $750;
HEAP8[$746>>0] = $753;
$754 = ((($6)) + 6|0);
$755 = HEAP8[$749>>0]|0;
$756 = ((($710)) + 6|0);
$757 = HEAP8[$751>>0]|0;
$758 = $757 ^ $755;
HEAP8[$751>>0] = $758;
$759 = ((($6)) + 7|0);
$760 = HEAP8[$754>>0]|0;
$761 = ((($710)) + 7|0);
$762 = HEAP8[$756>>0]|0;
$763 = $762 ^ $760;
HEAP8[$756>>0] = $763;
$764 = ((($6)) + 8|0);
$765 = HEAP8[$759>>0]|0;
$766 = ((($0)) + 88|0);
$767 = HEAP8[$761>>0]|0;
$768 = $767 ^ $765;
HEAP8[$761>>0] = $768;
$769 = ((($6)) + 9|0);
$770 = HEAP8[$764>>0]|0;
$771 = ((($0)) + 89|0);
$772 = HEAP8[$766>>0]|0;
$773 = $772 ^ $770;
HEAP8[$766>>0] = $773;
$774 = ((($6)) + 10|0);
$775 = HEAP8[$769>>0]|0;
$776 = ((($0)) + 90|0);
$777 = HEAP8[$771>>0]|0;
$778 = $777 ^ $775;
HEAP8[$771>>0] = $778;
$779 = ((($6)) + 11|0);
$780 = HEAP8[$774>>0]|0;
$781 = ((($0)) + 91|0);
$782 = HEAP8[$776>>0]|0;
$783 = $782 ^ $780;
HEAP8[$776>>0] = $783;
$784 = ((($6)) + 12|0);
$785 = HEAP8[$779>>0]|0;
$786 = ((($0)) + 92|0);
$787 = HEAP8[$781>>0]|0;
$788 = $787 ^ $785;
HEAP8[$781>>0] = $788;
$789 = ((($6)) + 13|0);
$790 = HEAP8[$784>>0]|0;
$791 = ((($0)) + 93|0);
$792 = HEAP8[$786>>0]|0;
$793 = $792 ^ $790;
HEAP8[$786>>0] = $793;
$794 = ((($6)) + 14|0);
$795 = HEAP8[$789>>0]|0;
$796 = ((($0)) + 94|0);
$797 = HEAP8[$791>>0]|0;
$798 = $797 ^ $795;
HEAP8[$791>>0] = $798;
$799 = ((($6)) + 15|0);
$800 = HEAP8[$794>>0]|0;
$801 = ((($0)) + 95|0);
$802 = HEAP8[$796>>0]|0;
$803 = $802 ^ $800;
HEAP8[$796>>0] = $803;
$804 = HEAP8[$799>>0]|0;
$805 = HEAP8[$801>>0]|0;
$806 = $805 ^ $804;
HEAP8[$801>>0] = $806;
break;
}
} else {
$499 = $$2114;
$500 = $499 & 3;
$501 = ($500|0)==(0);
$502 = ($$2111>>>0)>(3);
$or$cond$i216 = $502 & $501;
if ($or$cond$i216) {
$503 = (($$2111) + -4)|0;
$504 = $503 & -4;
$505 = (($504) + 4)|0;
$scevgep$i217 = (($$2114) + ($505)|0);
$$02434$i221 = $$2114;$$02533$i222 = $6;$$035$i220 = $$2111;
while(1) {
$506 = ((($$02434$i221)) + 4|0);
$507 = HEAP32[$$02434$i221>>2]|0;
$508 = ((($$02533$i222)) + 4|0);
HEAP32[$$02533$i222>>2] = $507;
$509 = (($$035$i220) + -4)|0;
$510 = ($509>>>0)>(3);
if ($510) {
$$02434$i221 = $506;$$02533$i222 = $508;$$035$i220 = $509;
} else {
break;
}
}
$scevgep44$i218 = (($6) + ($505)|0);
$511 = (($503) - ($504))|0;
$512 = ($511|0)==(0);
if (!($512)) {
$$12731$i230$ph = $scevgep$i217;$$12930$i231$ph = $scevgep44$i218;$$232$i229$ph = $511;
label = 35;
}
} else {
$$12731$i230$ph = $$2114;$$12930$i231$ph = $6;$$232$i229$ph = $$2111;
label = 35;
}
if ((label|0) == 35) {
$$12731$i230 = $$12731$i230$ph;$$12930$i231 = $$12930$i231$ph;$$232$i229 = $$232$i229$ph;
while(1) {
$513 = ((($$12731$i230)) + 1|0);
$514 = HEAP8[$$12731$i230>>0]|0;
$515 = ((($$12930$i231)) + 1|0);
HEAP8[$$12930$i231>>0] = $514;
$516 = (($$232$i229) + -1)|0;
$517 = ($516|0)==(0);
if ($517) {
break;
} else {
$$12731$i230 = $513;$$12930$i231 = $515;$$232$i229 = $516;
}
}
}
$518 = (($6) + ($$2111)|0);
$519 = (16 - ($$2111))|0;
_memset(($518|0),0,($519|0))|0;
HEAP8[$518>>0] = -128;
$520 = ((($0)) + 80|0);
$521 = $520;
$522 = $521 & 3;
$523 = ($522|0)==(0);
if ($523) {
$524 = ((($6)) + 4|0);
$525 = HEAP32[$6>>2]|0;
$526 = ((($520)) + 4|0);
$527 = HEAP32[$520>>2]|0;
$528 = $527 ^ $525;
HEAP32[$520>>2] = $528;
$529 = ((($6)) + 8|0);
$530 = HEAP32[$524>>2]|0;
$531 = ((($0)) + 88|0);
$532 = HEAP32[$526>>2]|0;
$533 = $532 ^ $530;
HEAP32[$526>>2] = $533;
$534 = ((($6)) + 12|0);
$535 = HEAP32[$529>>2]|0;
$536 = ((($0)) + 92|0);
$537 = HEAP32[$531>>2]|0;
$538 = $537 ^ $535;
HEAP32[$531>>2] = $538;
$539 = HEAP32[$534>>2]|0;
$540 = HEAP32[$536>>2]|0;
$541 = $540 ^ $539;
HEAP32[$536>>2] = $541;
} else {
$542 = ((($6)) + 1|0);
$543 = HEAP8[$6>>0]|0;
$544 = ((($520)) + 1|0);
$545 = HEAP8[$520>>0]|0;
$546 = $545 ^ $543;
HEAP8[$520>>0] = $546;
$547 = ((($6)) + 2|0);
$548 = HEAP8[$542>>0]|0;
$549 = ((($520)) + 2|0);
$550 = HEAP8[$544>>0]|0;
$551 = $550 ^ $548;
HEAP8[$544>>0] = $551;
$552 = ((($6)) + 3|0);
$553 = HEAP8[$547>>0]|0;
$554 = ((($520)) + 3|0);
$555 = HEAP8[$549>>0]|0;
$556 = $555 ^ $553;
HEAP8[$549>>0] = $556;
$557 = ((($6)) + 4|0);
$558 = HEAP8[$552>>0]|0;
$559 = ((($520)) + 4|0);
$560 = HEAP8[$554>>0]|0;
$561 = $560 ^ $558;
HEAP8[$554>>0] = $561;
$562 = ((($6)) + 5|0);
$563 = HEAP8[$557>>0]|0;
$564 = ((($520)) + 5|0);
$565 = HEAP8[$559>>0]|0;
$566 = $565 ^ $563;
HEAP8[$559>>0] = $566;
$567 = ((($6)) + 6|0);
$568 = HEAP8[$562>>0]|0;
$569 = ((($520)) + 6|0);
$570 = HEAP8[$564>>0]|0;
$571 = $570 ^ $568;
HEAP8[$564>>0] = $571;
$572 = ((($6)) + 7|0);
$573 = HEAP8[$567>>0]|0;
$574 = ((($520)) + 7|0);
$575 = HEAP8[$569>>0]|0;
$576 = $575 ^ $573;
HEAP8[$569>>0] = $576;
$577 = ((($6)) + 8|0);
$578 = HEAP8[$572>>0]|0;
$579 = ((($0)) + 88|0);
$580 = HEAP8[$574>>0]|0;
$581 = $580 ^ $578;
HEAP8[$574>>0] = $581;
$582 = ((($6)) + 9|0);
$583 = HEAP8[$577>>0]|0;
$584 = ((($0)) + 89|0);
$585 = HEAP8[$579>>0]|0;
$586 = $585 ^ $583;
HEAP8[$579>>0] = $586;
$587 = ((($6)) + 10|0);
$588 = HEAP8[$582>>0]|0;
$589 = ((($0)) + 90|0);
$590 = HEAP8[$584>>0]|0;
$591 = $590 ^ $588;
HEAP8[$584>>0] = $591;
$592 = ((($6)) + 11|0);
$593 = HEAP8[$587>>0]|0;
$594 = ((($0)) + 91|0);
$595 = HEAP8[$589>>0]|0;
$596 = $595 ^ $593;
HEAP8[$589>>0] = $596;
$597 = ((($6)) + 12|0);
$598 = HEAP8[$592>>0]|0;
$599 = ((($0)) + 92|0);
$600 = HEAP8[$594>>0]|0;
$601 = $600 ^ $598;
HEAP8[$594>>0] = $601;
$602 = ((($6)) + 13|0);
$603 = HEAP8[$597>>0]|0;
$604 = ((($0)) + 93|0);
$605 = HEAP8[$599>>0]|0;
$606 = $605 ^ $603;
HEAP8[$599>>0] = $606;
$607 = ((($6)) + 14|0);
$608 = HEAP8[$602>>0]|0;
$609 = ((($0)) + 94|0);
$610 = HEAP8[$604>>0]|0;
$611 = $610 ^ $608;
HEAP8[$604>>0] = $611;
$612 = ((($6)) + 15|0);
$613 = HEAP8[$607>>0]|0;
$614 = ((($0)) + 95|0);
$615 = HEAP8[$609>>0]|0;
$616 = $615 ^ $613;
HEAP8[$609>>0] = $616;
$617 = HEAP8[$612>>0]|0;
$618 = HEAP8[$614>>0]|0;
$619 = $618 ^ $617;
HEAP8[$614>>0] = $619;
}
$620 = $$2117;
$621 = $499 | $620;
$622 = $621 & 3;
$623 = ($622|0)==(0);
$or$cond$i189 = $502 & $623;
if ($or$cond$i189) {
$624 = (($$2111) + -4)|0;
$625 = $624 & -4;
$626 = (($625) + 4)|0;
$scevgep61$i191 = (($7) + ($626)|0);
$$03449$i195 = $7;$$03548$i196 = $$2114;$$03647$i197 = $$2117;$$050$i194 = $$2111;
while(1) {
$627 = ((($$03548$i196)) + 4|0);
$628 = HEAP32[$$03548$i196>>2]|0;
$629 = ((($$03449$i195)) + 4|0);
$630 = HEAP32[$$03449$i195>>2]|0;
$631 = $630 ^ $628;
$632 = ((($$03647$i197)) + 4|0);
HEAP32[$$03647$i197>>2] = $631;
$633 = (($$050$i194) + -4)|0;
$634 = ($633>>>0)>(3);
if ($634) {
$$03449$i195 = $629;$$03548$i196 = $627;$$03647$i197 = $632;$$050$i194 = $633;
} else {
break;
}
}
$scevgep$i190 = (($$2114) + ($626)|0);
$scevgep63$i192 = (($$2117) + ($626)|0);
$635 = (($624) - ($625))|0;
$$037$i201 = $scevgep61$i191;$$039$i200 = $scevgep$i190;$$041$i199 = $scevgep63$i192;$$1$i202 = $635;
} else {
$$037$i201 = $7;$$039$i200 = $$2114;$$041$i199 = $$2117;$$1$i202 = $$2111;
}
$636 = ($$1$i202|0)==(0);
if (!($636)) {
$$13845$i206 = $$037$i201;$$14044$i207 = $$039$i200;$$14243$i208 = $$041$i199;$$246$i205 = $$1$i202;
while(1) {
$637 = ((($$14044$i207)) + 1|0);
$638 = HEAP8[$$14044$i207>>0]|0;
$639 = ((($$13845$i206)) + 1|0);
$640 = HEAP8[$$13845$i206>>0]|0;
$641 = $640 ^ $638;
$642 = ((($$14243$i208)) + 1|0);
HEAP8[$$14243$i208>>0] = $641;
$643 = (($$246$i205) + -1)|0;
$644 = ($643|0)==(0);
if ($644) {
break;
} else {
$$13845$i206 = $639;$$14044$i207 = $637;$$14243$i208 = $642;$$246$i205 = $643;
}
}
}
}
} while(0);
$$2 = $497;
}
$807 = HEAP8[$9>>0]|0;
$808 = $807 & 8;
$809 = ($808<<24>>24)==(0);
if ($809) {
$$3 = $$2;
} else {
$810 = ((($0)) + 416|0);
$811 = ((($0)) + 80|0);
$812 = ((($0)) + 64|0);
$813 = $810;
$814 = $811;
$815 = $814 | $813;
$816 = $812;
$817 = $815 | $816;
$818 = $817 & 3;
$819 = ($818|0)==(0);
if ($819) {
$820 = HEAP32[$811>>2]|0;
$821 = HEAP32[$812>>2]|0;
$822 = $821 ^ $820;
$823 = ((($0)) + 420|0);
HEAP32[$810>>2] = $822;
$824 = ((($0)) + 88|0);
$825 = ((($811)) + 4|0);
$826 = HEAP32[$825>>2]|0;
$827 = ((($0)) + 72|0);
$828 = ((($812)) + 4|0);
$829 = HEAP32[$828>>2]|0;
$830 = $829 ^ $826;
$831 = ((($0)) + 424|0);
HEAP32[$823>>2] = $830;
$832 = ((($0)) + 92|0);
$833 = HEAP32[$824>>2]|0;
$834 = ((($0)) + 76|0);
$835 = HEAP32[$827>>2]|0;
$836 = $835 ^ $833;
$837 = ((($0)) + 428|0);
HEAP32[$831>>2] = $836;
$838 = HEAP32[$832>>2]|0;
$839 = HEAP32[$834>>2]|0;
$840 = $839 ^ $838;
HEAP32[$837>>2] = $840;
} else {
$841 = ((($811)) + 1|0);
$842 = HEAP8[$811>>0]|0;
$843 = ((($812)) + 1|0);
$844 = HEAP8[$812>>0]|0;
$845 = $844 ^ $842;
$846 = ((($810)) + 1|0);
HEAP8[$810>>0] = $845;
$847 = ((($811)) + 2|0);
$848 = HEAP8[$841>>0]|0;
$849 = ((($812)) + 2|0);
$850 = HEAP8[$843>>0]|0;
$851 = $850 ^ $848;
$852 = ((($810)) + 2|0);
HEAP8[$846>>0] = $851;
$853 = ((($811)) + 3|0);
$854 = HEAP8[$847>>0]|0;
$855 = ((($812)) + 3|0);
$856 = HEAP8[$849>>0]|0;
$857 = $856 ^ $854;
$858 = ((($810)) + 3|0);
HEAP8[$852>>0] = $857;
$859 = ((($811)) + 4|0);
$860 = HEAP8[$853>>0]|0;
$861 = ((($812)) + 4|0);
$862 = HEAP8[$855>>0]|0;
$863 = $862 ^ $860;
$864 = ((($0)) + 420|0);
HEAP8[$858>>0] = $863;
$865 = ((($811)) + 5|0);
$866 = HEAP8[$859>>0]|0;
$867 = ((($812)) + 5|0);
$868 = HEAP8[$861>>0]|0;
$869 = $868 ^ $866;
$870 = ((($864)) + 1|0);
HEAP8[$864>>0] = $869;
$871 = ((($811)) + 6|0);
$872 = HEAP8[$865>>0]|0;
$873 = ((($812)) + 6|0);
$874 = HEAP8[$867>>0]|0;
$875 = $874 ^ $872;
$876 = ((($864)) + 2|0);
HEAP8[$870>>0] = $875;
$877 = ((($811)) + 7|0);
$878 = HEAP8[$871>>0]|0;
$879 = ((($812)) + 7|0);
$880 = HEAP8[$873>>0]|0;
$881 = $880 ^ $878;
$882 = ((($864)) + 3|0);
HEAP8[$876>>0] = $881;
$883 = ((($0)) + 88|0);
$884 = HEAP8[$877>>0]|0;
$885 = ((($0)) + 72|0);
$886 = HEAP8[$879>>0]|0;
$887 = $886 ^ $884;
$888 = ((($0)) + 424|0);
HEAP8[$882>>0] = $887;
$889 = ((($0)) + 89|0);
$890 = HEAP8[$883>>0]|0;
$891 = ((($0)) + 73|0);
$892 = HEAP8[$885>>0]|0;
$893 = $892 ^ $890;
$894 = ((($888)) + 1|0);
HEAP8[$888>>0] = $893;
$895 = ((($0)) + 90|0);
$896 = HEAP8[$889>>0]|0;
$897 = ((($0)) + 74|0);
$898 = HEAP8[$891>>0]|0;
$899 = $898 ^ $896;
$900 = ((($888)) + 2|0);
HEAP8[$894>>0] = $899;
$901 = ((($0)) + 91|0);
$902 = HEAP8[$895>>0]|0;
$903 = ((($0)) + 75|0);
$904 = HEAP8[$897>>0]|0;
$905 = $904 ^ $902;
$906 = ((($888)) + 3|0);
HEAP8[$900>>0] = $905;
$907 = ((($0)) + 92|0);
$908 = HEAP8[$901>>0]|0;
$909 = ((($0)) + 76|0);
$910 = HEAP8[$903>>0]|0;
$911 = $910 ^ $908;
$912 = ((($0)) + 428|0);
HEAP8[$906>>0] = $911;
$913 = ((($0)) + 93|0);
$914 = HEAP8[$907>>0]|0;
$915 = ((($0)) + 77|0);
$916 = HEAP8[$909>>0]|0;
$917 = $916 ^ $914;
$918 = ((($912)) + 1|0);
HEAP8[$912>>0] = $917;
$919 = ((($0)) + 94|0);
$920 = HEAP8[$913>>0]|0;
$921 = ((($0)) + 78|0);
$922 = HEAP8[$915>>0]|0;
$923 = $922 ^ $920;
$924 = ((($912)) + 2|0);
HEAP8[$918>>0] = $923;
$925 = ((($0)) + 95|0);
$926 = HEAP8[$919>>0]|0;
$927 = ((($0)) + 79|0);
$928 = HEAP8[$921>>0]|0;
$929 = $928 ^ $926;
$930 = ((($912)) + 3|0);
HEAP8[$924>>0] = $929;
$931 = HEAP8[$925>>0]|0;
$932 = HEAP8[$927>>0]|0;
$933 = $932 ^ $931;
HEAP8[$930>>0] = $933;
}
$934 = ((($0)) + 144|0);
$935 = $934;
$936 = $935 | $813;
$937 = $936 & 3;
$938 = ($937|0)==(0);
if ($938) {
$939 = ((($0)) + 148|0);
$940 = HEAP32[$934>>2]|0;
$941 = ((($0)) + 420|0);
$942 = HEAP32[$810>>2]|0;
$943 = $942 ^ $940;
HEAP32[$810>>2] = $943;
$944 = ((($0)) + 152|0);
$945 = HEAP32[$939>>2]|0;
$946 = ((($0)) + 424|0);
$947 = HEAP32[$941>>2]|0;
$948 = $947 ^ $945;
HEAP32[$941>>2] = $948;
$949 = ((($0)) + 156|0);
$950 = HEAP32[$944>>2]|0;
$951 = ((($0)) + 428|0);
$952 = HEAP32[$946>>2]|0;
$953 = $952 ^ $950;
HEAP32[$946>>2] = $953;
$954 = HEAP32[$949>>2]|0;
$955 = HEAP32[$951>>2]|0;
$956 = $955 ^ $954;
HEAP32[$951>>2] = $956;
} else {
$957 = ((($0)) + 145|0);
$958 = HEAP8[$934>>0]|0;
$959 = ((($810)) + 1|0);
$960 = HEAP8[$810>>0]|0;
$961 = $960 ^ $958;
HEAP8[$810>>0] = $961;
$962 = ((($0)) + 146|0);
$963 = HEAP8[$957>>0]|0;
$964 = ((($810)) + 2|0);
$965 = HEAP8[$959>>0]|0;
$966 = $965 ^ $963;
HEAP8[$959>>0] = $966;
$967 = ((($0)) + 147|0);
$968 = HEAP8[$962>>0]|0;
$969 = ((($810)) + 3|0);
$970 = HEAP8[$964>>0]|0;
$971 = $970 ^ $968;
HEAP8[$964>>0] = $971;
$972 = ((($0)) + 148|0);
$973 = HEAP8[$967>>0]|0;
$974 = ((($0)) + 420|0);
$975 = HEAP8[$969>>0]|0;
$976 = $975 ^ $973;
HEAP8[$969>>0] = $976;
$977 = ((($0)) + 149|0);
$978 = HEAP8[$972>>0]|0;
$979 = ((($974)) + 1|0);
$980 = HEAP8[$974>>0]|0;
$981 = $980 ^ $978;
HEAP8[$974>>0] = $981;
$982 = ((($0)) + 150|0);
$983 = HEAP8[$977>>0]|0;
$984 = ((($974)) + 2|0);
$985 = HEAP8[$979>>0]|0;
$986 = $985 ^ $983;
HEAP8[$979>>0] = $986;
$987 = ((($0)) + 151|0);
$988 = HEAP8[$982>>0]|0;
$989 = ((($974)) + 3|0);
$990 = HEAP8[$984>>0]|0;
$991 = $990 ^ $988;
HEAP8[$984>>0] = $991;
$992 = ((($0)) + 152|0);
$993 = HEAP8[$987>>0]|0;
$994 = ((($0)) + 424|0);
$995 = HEAP8[$989>>0]|0;
$996 = $995 ^ $993;
HEAP8[$989>>0] = $996;
$997 = ((($0)) + 153|0);
$998 = HEAP8[$992>>0]|0;
$999 = ((($994)) + 1|0);
$1000 = HEAP8[$994>>0]|0;
$1001 = $1000 ^ $998;
HEAP8[$994>>0] = $1001;
$1002 = ((($0)) + 154|0);
$1003 = HEAP8[$997>>0]|0;
$1004 = ((($994)) + 2|0);
$1005 = HEAP8[$999>>0]|0;
$1006 = $1005 ^ $1003;
HEAP8[$999>>0] = $1006;
$1007 = ((($0)) + 155|0);
$1008 = HEAP8[$1002>>0]|0;
$1009 = ((($994)) + 3|0);
$1010 = HEAP8[$1004>>0]|0;
$1011 = $1010 ^ $1008;
HEAP8[$1004>>0] = $1011;
$1012 = ((($0)) + 156|0);
$1013 = HEAP8[$1007>>0]|0;
$1014 = ((($0)) + 428|0);
$1015 = HEAP8[$1009>>0]|0;
$1016 = $1015 ^ $1013;
HEAP8[$1009>>0] = $1016;
$1017 = ((($0)) + 157|0);
$1018 = HEAP8[$1012>>0]|0;
$1019 = ((($1014)) + 1|0);
$1020 = HEAP8[$1014>>0]|0;
$1021 = $1020 ^ $1018;
HEAP8[$1014>>0] = $1021;
$1022 = ((($0)) + 158|0);
$1023 = HEAP8[$1017>>0]|0;
$1024 = ((($1014)) + 2|0);
$1025 = HEAP8[$1019>>0]|0;
$1026 = $1025 ^ $1023;
HEAP8[$1019>>0] = $1026;
$1027 = ((($0)) + 159|0);
$1028 = HEAP8[$1022>>0]|0;
$1029 = ((($1014)) + 3|0);
$1030 = HEAP8[$1024>>0]|0;
$1031 = $1030 ^ $1028;
HEAP8[$1024>>0] = $1031;
$1032 = HEAP8[$1027>>0]|0;
$1033 = HEAP8[$1029>>0]|0;
$1034 = $1033 ^ $1032;
HEAP8[$1029>>0] = $1034;
}
$1035 = HEAP32[$18>>2]|0;
$1036 = ((($1035)) + 36|0);
$1037 = HEAP32[$1036>>2]|0;
$1038 = ((($0)) + 496|0);
$1039 = (FUNCTION_TABLE_iiii[$1037 & 127]($1038,$810,$810)|0);
$1040 = ($1039>>>0)>($$2>>>0);
$1041 = $1040 ? $1039 : $$2;
$1042 = HEAP8[$14>>0]|0;
$1043 = $1042 | 1;
HEAP8[$14>>0] = $1043;
$$3 = $1041;
}
$1044 = ($$3|0)==(0);
if ($1044) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$1045 = (($$3) + 16)|0;
___gcry_burn_stack($1045);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _ocb_checksum($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$045 = 0, $$06 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($2|0)==(0);
if ($3) {
return;
}
$4 = $0;
$5 = ((($0)) + 4|0);
$6 = ((($0)) + 8|0);
$7 = ((($0)) + 12|0);
$8 = ((($0)) + 1|0);
$9 = ((($0)) + 2|0);
$10 = ((($0)) + 3|0);
$11 = ((($0)) + 4|0);
$12 = ((($0)) + 5|0);
$13 = ((($0)) + 6|0);
$14 = ((($0)) + 7|0);
$15 = ((($0)) + 8|0);
$16 = ((($0)) + 9|0);
$17 = ((($0)) + 10|0);
$18 = ((($0)) + 11|0);
$19 = ((($0)) + 12|0);
$20 = ((($0)) + 13|0);
$21 = ((($0)) + 14|0);
$22 = ((($0)) + 15|0);
$$045 = $1;$$06 = $2;
while(1) {
$23 = $$045;
$24 = $23 | $4;
$25 = $24 & 3;
$26 = ($25|0)==(0);
if ($26) {
$27 = ((($$045)) + 4|0);
$28 = HEAP32[$$045>>2]|0;
$29 = HEAP32[$0>>2]|0;
$30 = $29 ^ $28;
HEAP32[$0>>2] = $30;
$31 = ((($$045)) + 8|0);
$32 = HEAP32[$27>>2]|0;
$33 = HEAP32[$5>>2]|0;
$34 = $33 ^ $32;
HEAP32[$5>>2] = $34;
$35 = ((($$045)) + 12|0);
$36 = HEAP32[$31>>2]|0;
$37 = HEAP32[$6>>2]|0;
$38 = $37 ^ $36;
HEAP32[$6>>2] = $38;
$39 = HEAP32[$35>>2]|0;
$40 = HEAP32[$7>>2]|0;
$41 = $40 ^ $39;
HEAP32[$7>>2] = $41;
} else {
$42 = ((($$045)) + 1|0);
$43 = HEAP8[$$045>>0]|0;
$44 = HEAP8[$0>>0]|0;
$45 = $44 ^ $43;
HEAP8[$0>>0] = $45;
$46 = ((($$045)) + 2|0);
$47 = HEAP8[$42>>0]|0;
$48 = HEAP8[$8>>0]|0;
$49 = $48 ^ $47;
HEAP8[$8>>0] = $49;
$50 = ((($$045)) + 3|0);
$51 = HEAP8[$46>>0]|0;
$52 = HEAP8[$9>>0]|0;
$53 = $52 ^ $51;
HEAP8[$9>>0] = $53;
$54 = ((($$045)) + 4|0);
$55 = HEAP8[$50>>0]|0;
$56 = HEAP8[$10>>0]|0;
$57 = $56 ^ $55;
HEAP8[$10>>0] = $57;
$58 = ((($$045)) + 5|0);
$59 = HEAP8[$54>>0]|0;
$60 = HEAP8[$11>>0]|0;
$61 = $60 ^ $59;
HEAP8[$11>>0] = $61;
$62 = ((($$045)) + 6|0);
$63 = HEAP8[$58>>0]|0;
$64 = HEAP8[$12>>0]|0;
$65 = $64 ^ $63;
HEAP8[$12>>0] = $65;
$66 = ((($$045)) + 7|0);
$67 = HEAP8[$62>>0]|0;
$68 = HEAP8[$13>>0]|0;
$69 = $68 ^ $67;
HEAP8[$13>>0] = $69;
$70 = ((($$045)) + 8|0);
$71 = HEAP8[$66>>0]|0;
$72 = HEAP8[$14>>0]|0;
$73 = $72 ^ $71;
HEAP8[$14>>0] = $73;
$74 = ((($$045)) + 9|0);
$75 = HEAP8[$70>>0]|0;
$76 = HEAP8[$15>>0]|0;
$77 = $76 ^ $75;
HEAP8[$15>>0] = $77;
$78 = ((($$045)) + 10|0);
$79 = HEAP8[$74>>0]|0;
$80 = HEAP8[$16>>0]|0;
$81 = $80 ^ $79;
HEAP8[$16>>0] = $81;
$82 = ((($$045)) + 11|0);
$83 = HEAP8[$78>>0]|0;
$84 = HEAP8[$17>>0]|0;
$85 = $84 ^ $83;
HEAP8[$17>>0] = $85;
$86 = ((($$045)) + 12|0);
$87 = HEAP8[$82>>0]|0;
$88 = HEAP8[$18>>0]|0;
$89 = $88 ^ $87;
HEAP8[$18>>0] = $89;
$90 = ((($$045)) + 13|0);
$91 = HEAP8[$86>>0]|0;
$92 = HEAP8[$19>>0]|0;
$93 = $92 ^ $91;
HEAP8[$19>>0] = $93;
$94 = ((($$045)) + 14|0);
$95 = HEAP8[$90>>0]|0;
$96 = HEAP8[$20>>0]|0;
$97 = $96 ^ $95;
HEAP8[$20>>0] = $97;
$98 = ((($$045)) + 15|0);
$99 = HEAP8[$94>>0]|0;
$100 = HEAP8[$21>>0]|0;
$101 = $100 ^ $99;
HEAP8[$21>>0] = $101;
$102 = HEAP8[$98>>0]|0;
$103 = HEAP8[$22>>0]|0;
$104 = $103 ^ $102;
HEAP8[$22>>0] = $104;
}
$105 = ((($$045)) + 16|0);
$106 = (($$06) + -1)|0;
$107 = ($106|0)==(0);
if ($107) {
break;
} else {
$$045 = $105;$$06 = $106;
}
}
return;
}
function __gcry_cipher_ocb_decrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = (_ocb_crypt($0,0,$1,$2,$3,$4)|0);
return ($5|0);
}
function __gcry_cipher_ofb_encrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0$lcssa = 0, $$0163 = 0, $$0163$us = 0, $$03449$i = 0, $$03449$i116 = 0, $$03449$i137$us = 0, $$03449$i95 = 0, $$03548$i = 0, $$03548$i117 = 0, $$03548$i138$us = 0, $$03548$i96 = 0, $$03647$i = 0, $$03647$i118 = 0, $$03647$i139$us = 0, $$03647$i97 = 0, $$037$i = 0, $$037$i143$us = 0, $$039$i = 0, $$039$i142$us = 0, $$041$i = 0;
var $$041$i141$us = 0, $$050$i = 0, $$050$i115 = 0, $$050$i136$us = 0, $$050$i94 = 0, $$082 = 0, $$083 = 0, $$085 = 0, $$087 = 0, $$1 = 0, $$1$i = 0, $$1$i144$us = 0, $$13845$i = 0, $$13845$i106 = 0, $$13845$i106$ph = 0, $$13845$i127 = 0, $$13845$i127$ph = 0, $$13845$i148 = 0, $$13845$i148$us = 0, $$14044$i = 0;
var $$14044$i107 = 0, $$14044$i107$ph = 0, $$14044$i128 = 0, $$14044$i128$ph = 0, $$14044$i149 = 0, $$14044$i149$us = 0, $$14243$i = 0, $$14243$i108 = 0, $$14243$i108$ph = 0, $$14243$i129 = 0, $$14243$i129$ph = 0, $$14243$i150 = 0, $$14243$i150$us = 0, $$184$lcssa = 0, $$184162 = 0, $$184162$us = 0, $$186$lcssa = 0, $$186161 = 0, $$186161$us = 0, $$188$lcssa = 0;
var $$188160 = 0, $$188160$us = 0, $$246$i = 0, $$246$i105 = 0, $$246$i105$ph = 0, $$246$i126 = 0, $$246$i126$ph = 0, $$246$i147 = 0, $$246$i147$us = 0, $$pre = 0, $$pre175 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0;
var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0;
var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0;
var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0;
var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0;
var $180 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond$i = 0, $or$cond$i110 = 0, $or$cond$i89 = 0, $scevgep$i = 0, $scevgep$i111 = 0, $scevgep$i132 = 0, $scevgep$i90 = 0, $scevgep61$i = 0, $scevgep61$i112 = 0, $scevgep61$i133$us = 0, $scevgep61$i91 = 0, $scevgep63$i = 0, $scevgep63$i113 = 0;
var $scevgep63$i134$us = 0, $scevgep63$i92 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($0)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = ((($6)) + 36|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($6)) + 20|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($2>>>0)<($4>>>0);
if ($11) {
$$082 = 200;
return ($$082|0);
}
$12 = ((($0)) + 112|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13>>>0)<($4>>>0);
if (!($14)) {
$15 = ((($0)) + 64|0);
$16 = (($15) + ($10)|0);
$17 = (0 - ($13))|0;
$18 = (($16) + ($17)|0);
$19 = $1;
$20 = $18;
$21 = $3;
$22 = $21 | $19;
$23 = $22 | $20;
$24 = $23 & 3;
$25 = ($24|0)==(0);
$26 = ($4>>>0)>(3);
$or$cond$i = $26 & $25;
if ($or$cond$i) {
$27 = (($4) + -4)|0;
$28 = $27 & -4;
$29 = (($28) + 4)|0;
$scevgep61$i = (($3) + ($29)|0);
$$03449$i = $3;$$03548$i = $18;$$03647$i = $1;$$050$i = $4;
while(1) {
$30 = ((($$03548$i)) + 4|0);
$31 = HEAP32[$$03548$i>>2]|0;
$32 = ((($$03449$i)) + 4|0);
$33 = HEAP32[$$03449$i>>2]|0;
$34 = $33 ^ $31;
$35 = ((($$03647$i)) + 4|0);
HEAP32[$$03647$i>>2] = $34;
$36 = (($$050$i) + -4)|0;
$37 = ($36>>>0)>(3);
if ($37) {
$$03449$i = $32;$$03548$i = $30;$$03647$i = $35;$$050$i = $36;
} else {
break;
}
}
$scevgep$i = (($18) + ($29)|0);
$scevgep63$i = (($1) + ($29)|0);
$38 = (($27) - ($28))|0;
$$037$i = $scevgep61$i;$$039$i = $scevgep$i;$$041$i = $scevgep63$i;$$1$i = $38;
} else {
$$037$i = $3;$$039$i = $18;$$041$i = $1;$$1$i = $4;
}
$39 = ($$1$i|0)==(0);
if ($39) {
$49 = $13;
} else {
$$13845$i = $$037$i;$$14044$i = $$039$i;$$14243$i = $$041$i;$$246$i = $$1$i;
while(1) {
$40 = ((($$14044$i)) + 1|0);
$41 = HEAP8[$$14044$i>>0]|0;
$42 = ((($$13845$i)) + 1|0);
$43 = HEAP8[$$13845$i>>0]|0;
$44 = $43 ^ $41;
$45 = ((($$14243$i)) + 1|0);
HEAP8[$$14243$i>>0] = $44;
$46 = (($$246$i) + -1)|0;
$47 = ($46|0)==(0);
if ($47) {
break;
} else {
$$13845$i = $42;$$14044$i = $40;$$14243$i = $45;$$246$i = $46;
}
}
$$pre = HEAP32[$12>>2]|0;
$49 = $$pre;
}
$48 = (($49) - ($4))|0;
HEAP32[$12>>2] = $48;
$$082 = 0;
return ($$082|0);
}
$50 = ($13|0)==(0);
if ($50) {
$$083 = $1;$$085 = $4;$$087 = $3;
} else {
$51 = (($4) - ($13))|0;
$52 = ((($0)) + 64|0);
$53 = (($52) + ($10)|0);
$54 = (0 - ($13))|0;
$55 = (($53) + ($54)|0);
$56 = $1;
$57 = $55;
$58 = $3;
$59 = $58 | $56;
$60 = $59 | $57;
$61 = $60 & 3;
$62 = ($61|0)==(0);
$63 = ($13>>>0)>(3);
$or$cond$i110 = $63 & $62;
if ($or$cond$i110) {
$64 = (($13) + -4)|0;
$65 = $64 & -4;
$66 = (($65) + 4)|0;
$scevgep61$i112 = (($3) + ($66)|0);
$$03449$i116 = $3;$$03548$i117 = $55;$$03647$i118 = $1;$$050$i115 = $13;
while(1) {
$67 = ((($$03548$i117)) + 4|0);
$68 = HEAP32[$$03548$i117>>2]|0;
$69 = ((($$03449$i116)) + 4|0);
$70 = HEAP32[$$03449$i116>>2]|0;
$71 = $70 ^ $68;
$72 = ((($$03647$i118)) + 4|0);
HEAP32[$$03647$i118>>2] = $71;
$73 = (($$050$i115) + -4)|0;
$74 = ($73>>>0)>(3);
if ($74) {
$$03449$i116 = $69;$$03548$i117 = $67;$$03647$i118 = $72;$$050$i115 = $73;
} else {
break;
}
}
$scevgep$i111 = (($55) + ($66)|0);
$scevgep63$i113 = (($1) + ($66)|0);
$75 = (($64) - ($65))|0;
$76 = ($75|0)==(0);
if ($76) {
$86 = $13;
} else {
$$13845$i127$ph = $scevgep61$i112;$$14044$i128$ph = $scevgep$i111;$$14243$i129$ph = $scevgep63$i113;$$246$i126$ph = $75;
label = 17;
}
} else {
$$13845$i127$ph = $3;$$14044$i128$ph = $55;$$14243$i129$ph = $1;$$246$i126$ph = $13;
label = 17;
}
if ((label|0) == 17) {
$$13845$i127 = $$13845$i127$ph;$$14044$i128 = $$14044$i128$ph;$$14243$i129 = $$14243$i129$ph;$$246$i126 = $$246$i126$ph;
while(1) {
$77 = ((($$14044$i128)) + 1|0);
$78 = HEAP8[$$14044$i128>>0]|0;
$79 = ((($$13845$i127)) + 1|0);
$80 = HEAP8[$$13845$i127>>0]|0;
$81 = $80 ^ $78;
$82 = ((($$14243$i129)) + 1|0);
HEAP8[$$14243$i129>>0] = $81;
$83 = (($$246$i126) + -1)|0;
$84 = ($83|0)==(0);
if ($84) {
break;
} else {
$$13845$i127 = $79;$$14044$i128 = $77;$$14243$i129 = $82;$$246$i126 = $83;
}
}
$$pre175 = HEAP32[$12>>2]|0;
$86 = $$pre175;
}
$85 = (($1) + ($86)|0);
$87 = (($3) + ($86)|0);
HEAP32[$12>>2] = 0;
$$083 = $85;$$085 = $51;$$087 = $87;
}
$88 = ($$085>>>0)<($10>>>0);
L34: do {
if ($88) {
$$0$lcssa = 0;$$184$lcssa = $$083;$$186$lcssa = $$085;$$188$lcssa = $$087;
} else {
$89 = ((($0)) + 496|0);
$90 = ((($0)) + 64|0);
$91 = $90;
$92 = ($10>>>0)>(3);
$93 = (($10) + -4)|0;
$94 = $93 & -4;
$95 = (($94) + 4)|0;
$scevgep$i132 = (($90) + ($95)|0);
$96 = (($93) - ($94))|0;
if (!($92)) {
$127 = ($10|0)==(0);
$$0163 = 0;$$184162 = $$083;$$186161 = $$085;$$188160 = $$087;
while(1) {
$128 = (FUNCTION_TABLE_iiii[$8 & 127]($89,$90,$90)|0);
$129 = ($128>>>0)>($$0163>>>0);
$130 = $129 ? $128 : $$0163;
if (!($127)) {
$$13845$i148 = $$188160;$$14044$i149 = $90;$$14243$i150 = $$184162;$$246$i147 = $10;
while(1) {
$131 = ((($$14044$i149)) + 1|0);
$132 = HEAP8[$$14044$i149>>0]|0;
$133 = ((($$13845$i148)) + 1|0);
$134 = HEAP8[$$13845$i148>>0]|0;
$135 = $134 ^ $132;
$136 = ((($$14243$i150)) + 1|0);
HEAP8[$$14243$i150>>0] = $135;
$137 = (($$246$i147) + -1)|0;
$138 = ($137|0)==(0);
if ($138) {
break;
} else {
$$13845$i148 = $133;$$14044$i149 = $131;$$14243$i150 = $136;$$246$i147 = $137;
}
}
}
$139 = (($$184162) + ($10)|0);
$140 = (($$188160) + ($10)|0);
$141 = (($$186161) - ($10))|0;
$142 = ($141>>>0)<($10>>>0);
if ($142) {
$$0$lcssa = $130;$$184$lcssa = $139;$$186$lcssa = $141;$$188$lcssa = $140;
break L34;
} else {
$$0163 = $130;$$184162 = $139;$$186161 = $141;$$188160 = $140;
}
}
}
$$0163$us = 0;$$184162$us = $$083;$$186161$us = $$085;$$188160$us = $$087;
while(1) {
$97 = (FUNCTION_TABLE_iiii[$8 & 127]($89,$90,$90)|0);
$98 = ($97>>>0)>($$0163$us>>>0);
$99 = $98 ? $97 : $$0163$us;
$100 = $$184162$us;
$101 = $$188160$us;
$102 = $101 | $91;
$103 = $102 | $100;
$104 = $103 & 3;
$105 = ($104|0)==(0);
if ($105) {
$scevgep61$i133$us = (($$188160$us) + ($95)|0);
$$03449$i137$us = $$188160$us;$$03548$i138$us = $90;$$03647$i139$us = $$184162$us;$$050$i136$us = $10;
while(1) {
$106 = ((($$03548$i138$us)) + 4|0);
$107 = HEAP32[$$03548$i138$us>>2]|0;
$108 = ((($$03449$i137$us)) + 4|0);
$109 = HEAP32[$$03449$i137$us>>2]|0;
$110 = $109 ^ $107;
$111 = ((($$03647$i139$us)) + 4|0);
HEAP32[$$03647$i139$us>>2] = $110;
$112 = (($$050$i136$us) + -4)|0;
$113 = ($112>>>0)>(3);
if ($113) {
$$03449$i137$us = $108;$$03548$i138$us = $106;$$03647$i139$us = $111;$$050$i136$us = $112;
} else {
break;
}
}
$scevgep63$i134$us = (($$184162$us) + ($95)|0);
$$037$i143$us = $scevgep61$i133$us;$$039$i142$us = $scevgep$i132;$$041$i141$us = $scevgep63$i134$us;$$1$i144$us = $96;
} else {
$$037$i143$us = $$188160$us;$$039$i142$us = $90;$$041$i141$us = $$184162$us;$$1$i144$us = $10;
}
$114 = ($$1$i144$us|0)==(0);
if (!($114)) {
$$13845$i148$us = $$037$i143$us;$$14044$i149$us = $$039$i142$us;$$14243$i150$us = $$041$i141$us;$$246$i147$us = $$1$i144$us;
while(1) {
$115 = ((($$14044$i149$us)) + 1|0);
$116 = HEAP8[$$14044$i149$us>>0]|0;
$117 = ((($$13845$i148$us)) + 1|0);
$118 = HEAP8[$$13845$i148$us>>0]|0;
$119 = $118 ^ $116;
$120 = ((($$14243$i150$us)) + 1|0);
HEAP8[$$14243$i150$us>>0] = $119;
$121 = (($$246$i147$us) + -1)|0;
$122 = ($121|0)==(0);
if ($122) {
break;
} else {
$$13845$i148$us = $117;$$14044$i149$us = $115;$$14243$i150$us = $120;$$246$i147$us = $121;
}
}
}
$123 = (($$184162$us) + ($10)|0);
$124 = (($$188160$us) + ($10)|0);
$125 = (($$186161$us) - ($10))|0;
$126 = ($125>>>0)<($10>>>0);
if ($126) {
$$0$lcssa = $99;$$184$lcssa = $123;$$186$lcssa = $125;$$188$lcssa = $124;
break;
} else {
$$0163$us = $99;$$184162$us = $123;$$186161$us = $125;$$188160$us = $124;
}
}
}
} while(0);
$143 = ($$186$lcssa|0)==(0);
do {
if ($143) {
$$1 = $$0$lcssa;
} else {
$144 = ((($0)) + 496|0);
$145 = ((($0)) + 64|0);
$146 = (FUNCTION_TABLE_iiii[$8 & 127]($144,$145,$145)|0);
$147 = ($146>>>0)>($$0$lcssa>>>0);
$148 = $147 ? $146 : $$0$lcssa;
$149 = (($10) - ($$186$lcssa))|0;
HEAP32[$12>>2] = $149;
$150 = $$184$lcssa;
$151 = $145;
$152 = $$188$lcssa;
$153 = $152 | $151;
$154 = $153 | $150;
$155 = $154 & 3;
$156 = ($155|0)==(0);
$157 = ($$186$lcssa>>>0)>(3);
$or$cond$i89 = $157 & $156;
if ($or$cond$i89) {
$158 = (($$186$lcssa) + -4)|0;
$159 = $158 & -4;
$160 = (($159) + 4)|0;
$scevgep61$i91 = (($$188$lcssa) + ($160)|0);
$$03449$i95 = $$188$lcssa;$$03548$i96 = $145;$$03647$i97 = $$184$lcssa;$$050$i94 = $$186$lcssa;
while(1) {
$161 = ((($$03548$i96)) + 4|0);
$162 = HEAP32[$$03548$i96>>2]|0;
$163 = ((($$03449$i95)) + 4|0);
$164 = HEAP32[$$03449$i95>>2]|0;
$165 = $164 ^ $162;
$166 = ((($$03647$i97)) + 4|0);
HEAP32[$$03647$i97>>2] = $165;
$167 = (($$050$i94) + -4)|0;
$168 = ($167>>>0)>(3);
if ($168) {
$$03449$i95 = $163;$$03548$i96 = $161;$$03647$i97 = $166;$$050$i94 = $167;
} else {
break;
}
}
$scevgep$i90 = (($145) + ($160)|0);
$scevgep63$i92 = (($$184$lcssa) + ($160)|0);
$169 = (($158) - ($159))|0;
$170 = ($169|0)==(0);
if ($170) {
$$1 = $148;
break;
} else {
$$13845$i106$ph = $scevgep61$i91;$$14044$i107$ph = $scevgep$i90;$$14243$i108$ph = $scevgep63$i92;$$246$i105$ph = $169;
}
} else {
$$13845$i106$ph = $$188$lcssa;$$14044$i107$ph = $145;$$14243$i108$ph = $$184$lcssa;$$246$i105$ph = $$186$lcssa;
}
$$13845$i106 = $$13845$i106$ph;$$14044$i107 = $$14044$i107$ph;$$14243$i108 = $$14243$i108$ph;$$246$i105 = $$246$i105$ph;
while(1) {
$171 = ((($$14044$i107)) + 1|0);
$172 = HEAP8[$$14044$i107>>0]|0;
$173 = ((($$13845$i106)) + 1|0);
$174 = HEAP8[$$13845$i106>>0]|0;
$175 = $174 ^ $172;
$176 = ((($$14243$i108)) + 1|0);
HEAP8[$$14243$i108>>0] = $175;
$177 = (($$246$i105) + -1)|0;
$178 = ($177|0)==(0);
if ($178) {
$$1 = $148;
break;
} else {
$$13845$i106 = $173;$$14044$i107 = $171;$$14243$i108 = $176;$$246$i105 = $177;
}
}
}
} while(0);
$179 = ($$1|0)==(0);
if ($179) {
$$082 = 0;
return ($$082|0);
}
$180 = (($$1) + 16)|0;
___gcry_burn_stack($180);
$$082 = 0;
return ($$082|0);
}
function __gcry_cipher_poly1305_encrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre21 = 0, $$pre23 = 0, $$val$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$5 = sp;
$6 = sp + 64|0;
$7 = ($2>>>0)<($4>>>0);
if ($7) {
$$0 = 200;
STACKTOP = sp;return ($$0|0);
}
$8 = ((($0)) + 56|0);
$9 = HEAP8[$8>>0]|0;
$10 = $9 & 4;
$11 = ($10<<24>>24)==(0);
if (!($11)) {
$$0 = 156;
STACKTOP = sp;return ($$0|0);
}
$12 = ((($0)) + 144|0);
$13 = HEAP8[$12>>0]|0;
$14 = $13 & 2;
$15 = ($14<<24>>24)==(0);
if (!($15)) {
$$0 = 139;
STACKTOP = sp;return ($$0|0);
}
$16 = $9 & 2;
$17 = ($16<<24>>24)==(0);
do {
if ($17) {
$18 = $6;
$19 = $18;
HEAP32[$19>>2] = 0;
$20 = (($18) + 4)|0;
$21 = $20;
HEAP32[$21>>2] = 0;
$22 = ((($0)) + 128|0);
$23 = ((($0)) + 148|0);
dest=$23; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
HEAP32[$22>>2] = 0;
$24 = ((($22)) + 4|0);
HEAP32[$24>>2] = 0;
$25 = ((($0)) + 136|0);
HEAP32[$25>>2] = 0;
$26 = ((($0)) + 140|0);
HEAP32[$26>>2] = 0;
$27 = $13 & -4;
HEAP8[$12>>0] = $27;
$28 = $9 & -7;
HEAP8[$8>>0] = $28;
$29 = ((($0)) + 12|0);
$30 = HEAP32[$29>>2]|0;
$31 = ((($30)) + 60|0);
$32 = HEAP32[$31>>2]|0;
$33 = ((($0)) + 496|0);
FUNCTION_TABLE_viii[$32 & 127]($33,$6,8);
dest=$5; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$34 = HEAP32[$29>>2]|0;
$35 = ((($34)) + 44|0);
$36 = HEAP32[$35>>2]|0;
FUNCTION_TABLE_viiii[$36 & 63]($33,$5,$5,64);
$37 = (__gcry_poly1305_init($23,$5,32)|0);
$38 = $5;
$39 = $38;
HEAP32[$39>>2] = 0;
$40 = (($38) + 4)|0;
$41 = $40;
HEAP32[$41>>2] = 0;
$42 = ((($5)) + 8|0);
$43 = $42;
$44 = $43;
HEAP32[$44>>2] = 0;
$45 = (($43) + 4)|0;
$46 = $45;
HEAP32[$46>>2] = 0;
$47 = ((($5)) + 16|0);
$48 = $47;
$49 = $48;
HEAP32[$49>>2] = 0;
$50 = (($48) + 4)|0;
$51 = $50;
HEAP32[$51>>2] = 0;
$52 = ((($5)) + 24|0);
$53 = $52;
$54 = $53;
HEAP32[$54>>2] = 0;
$55 = (($53) + 4)|0;
$56 = $55;
HEAP32[$56>>2] = 0;
$57 = ((($5)) + 32|0);
$58 = $57;
$59 = $58;
HEAP32[$59>>2] = 0;
$60 = (($58) + 4)|0;
$61 = $60;
HEAP32[$61>>2] = 0;
$62 = ((($5)) + 40|0);
$63 = $62;
$64 = $63;
HEAP32[$64>>2] = 0;
$65 = (($63) + 4)|0;
$66 = $65;
HEAP32[$66>>2] = 0;
$67 = ((($5)) + 48|0);
$68 = $67;
$69 = $68;
HEAP32[$69>>2] = 0;
$70 = (($68) + 4)|0;
$71 = $70;
HEAP32[$71>>2] = 0;
$72 = ((($5)) + 56|0);
$73 = $72;
$74 = $73;
HEAP32[$74>>2] = 0;
$75 = (($73) + 4)|0;
$76 = $75;
HEAP32[$76>>2] = 0;
$77 = ($37|0)==(0);
if ($77) {
$78 = HEAP8[$8>>0]|0;
$79 = $78 | 2;
HEAP8[$8>>0] = $79;
$$pre = HEAP8[$12>>0]|0;
$81 = $$pre;
break;
}
$$0 = $37;
STACKTOP = sp;return ($$0|0);
} else {
$81 = $13;
}
} while(0);
$80 = $81 & 1;
$82 = ($80<<24>>24)==(0);
if ($82) {
$83 = ((($0)) + 128|0);
$$val$i = HEAP32[$83>>2]|0;
$84 = $$val$i & 15;
$85 = ($84|0)==(0);
if ($85) {
$89 = $81;
} else {
$86 = ((($0)) + 148|0);
$87 = (16 - ($84))|0;
__gcry_poly1305_update($86,73322,$87);
$$pre21 = HEAP8[$12>>0]|0;
$89 = $$pre21;
}
$88 = $89 | 1;
HEAP8[$12>>0] = $88;
$90 = ((($0)) + 136|0);
HEAP32[$90>>2] = 0;
$91 = ((($0)) + 140|0);
HEAP32[$91>>2] = 0;
$$pre$phi24Z2D = $90;$100 = $88;$93 = 0;
} else {
$$phi$trans$insert = ((($0)) + 136|0);
$$pre23 = HEAP32[$$phi$trans$insert>>2]|0;
$$pre$phi24Z2D = $$phi$trans$insert;$100 = $81;$93 = $$pre23;
}
$92 = (($93) + ($4))|0;
HEAP32[$$pre$phi24Z2D>>2] = $92;
$94 = ($92>>>0)<($4>>>0);
if ($94) {
$95 = ((($0)) + 140|0);
$96 = HEAP32[$95>>2]|0;
$97 = (($96) + 1)|0;
HEAP32[$95>>2] = $97;
$98 = ($97|0)==(0);
if ($98) {
$99 = $100 | 2;
HEAP8[$12>>0] = $99;
$$0 = 139;
STACKTOP = sp;return ($$0|0);
}
}
$101 = ((($0)) + 12|0);
$102 = HEAP32[$101>>2]|0;
$103 = ((($102)) + 44|0);
$104 = HEAP32[$103>>2]|0;
$105 = ((($0)) + 496|0);
FUNCTION_TABLE_viiii[$104 & 63]($105,$1,$3,$4);
$106 = ((($0)) + 148|0);
__gcry_poly1305_update($106,$1,$4);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function __gcry_cipher_poly1305_decrypt($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre21 = 0, $$pre23 = 0, $$val$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$5 = sp;
$6 = sp + 64|0;
$7 = ($2>>>0)<($4>>>0);
if ($7) {
$$0 = 200;
STACKTOP = sp;return ($$0|0);
}
$8 = ((($0)) + 56|0);
$9 = HEAP8[$8>>0]|0;
$10 = $9 & 4;
$11 = ($10<<24>>24)==(0);
if (!($11)) {
$$0 = 156;
STACKTOP = sp;return ($$0|0);
}
$12 = ((($0)) + 144|0);
$13 = HEAP8[$12>>0]|0;
$14 = $13 & 2;
$15 = ($14<<24>>24)==(0);
if (!($15)) {
$$0 = 139;
STACKTOP = sp;return ($$0|0);
}
$16 = $9 & 2;
$17 = ($16<<24>>24)==(0);
do {
if ($17) {
$18 = $6;
$19 = $18;
HEAP32[$19>>2] = 0;
$20 = (($18) + 4)|0;
$21 = $20;
HEAP32[$21>>2] = 0;
$22 = ((($0)) + 128|0);
$23 = ((($0)) + 148|0);
dest=$23; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
HEAP32[$22>>2] = 0;
$24 = ((($22)) + 4|0);
HEAP32[$24>>2] = 0;
$25 = ((($0)) + 136|0);
HEAP32[$25>>2] = 0;
$26 = ((($0)) + 140|0);
HEAP32[$26>>2] = 0;
$27 = $13 & -4;
HEAP8[$12>>0] = $27;
$28 = $9 & -7;
HEAP8[$8>>0] = $28;
$29 = ((($0)) + 12|0);
$30 = HEAP32[$29>>2]|0;
$31 = ((($30)) + 60|0);
$32 = HEAP32[$31>>2]|0;
$33 = ((($0)) + 496|0);
FUNCTION_TABLE_viii[$32 & 127]($33,$6,8);
dest=$5; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$34 = HEAP32[$29>>2]|0;
$35 = ((($34)) + 44|0);
$36 = HEAP32[$35>>2]|0;
FUNCTION_TABLE_viiii[$36 & 63]($33,$5,$5,64);
$37 = (__gcry_poly1305_init($23,$5,32)|0);
$38 = $5;
$39 = $38;
HEAP32[$39>>2] = 0;
$40 = (($38) + 4)|0;
$41 = $40;
HEAP32[$41>>2] = 0;
$42 = ((($5)) + 8|0);
$43 = $42;
$44 = $43;
HEAP32[$44>>2] = 0;
$45 = (($43) + 4)|0;
$46 = $45;
HEAP32[$46>>2] = 0;
$47 = ((($5)) + 16|0);
$48 = $47;
$49 = $48;
HEAP32[$49>>2] = 0;
$50 = (($48) + 4)|0;
$51 = $50;
HEAP32[$51>>2] = 0;
$52 = ((($5)) + 24|0);
$53 = $52;
$54 = $53;
HEAP32[$54>>2] = 0;
$55 = (($53) + 4)|0;
$56 = $55;
HEAP32[$56>>2] = 0;
$57 = ((($5)) + 32|0);
$58 = $57;
$59 = $58;
HEAP32[$59>>2] = 0;
$60 = (($58) + 4)|0;
$61 = $60;
HEAP32[$61>>2] = 0;
$62 = ((($5)) + 40|0);
$63 = $62;
$64 = $63;
HEAP32[$64>>2] = 0;
$65 = (($63) + 4)|0;
$66 = $65;
HEAP32[$66>>2] = 0;
$67 = ((($5)) + 48|0);
$68 = $67;
$69 = $68;
HEAP32[$69>>2] = 0;
$70 = (($68) + 4)|0;
$71 = $70;
HEAP32[$71>>2] = 0;
$72 = ((($5)) + 56|0);
$73 = $72;
$74 = $73;
HEAP32[$74>>2] = 0;
$75 = (($73) + 4)|0;
$76 = $75;
HEAP32[$76>>2] = 0;
$77 = ($37|0)==(0);
if ($77) {
$78 = HEAP8[$8>>0]|0;
$79 = $78 | 2;
HEAP8[$8>>0] = $79;
$$pre = HEAP8[$12>>0]|0;
$81 = $$pre;
break;
}
$$0 = $37;
STACKTOP = sp;return ($$0|0);
} else {
$81 = $13;
}
} while(0);
$80 = $81 & 1;
$82 = ($80<<24>>24)==(0);
if ($82) {
$83 = ((($0)) + 128|0);
$$val$i = HEAP32[$83>>2]|0;
$84 = $$val$i & 15;
$85 = ($84|0)==(0);
if ($85) {
$89 = $81;
} else {
$86 = ((($0)) + 148|0);
$87 = (16 - ($84))|0;
__gcry_poly1305_update($86,73322,$87);
$$pre21 = HEAP8[$12>>0]|0;
$89 = $$pre21;
}
$88 = $89 | 1;
HEAP8[$12>>0] = $88;
$90 = ((($0)) + 136|0);
HEAP32[$90>>2] = 0;
$91 = ((($0)) + 140|0);
HEAP32[$91>>2] = 0;
$$pre$phi24Z2D = $90;$100 = $88;$93 = 0;
} else {
$$phi$trans$insert = ((($0)) + 136|0);
$$pre23 = HEAP32[$$phi$trans$insert>>2]|0;
$$pre$phi24Z2D = $$phi$trans$insert;$100 = $81;$93 = $$pre23;
}
$92 = (($93) + ($4))|0;
HEAP32[$$pre$phi24Z2D>>2] = $92;
$94 = ($92>>>0)<($4>>>0);
if ($94) {
$95 = ((($0)) + 140|0);
$96 = HEAP32[$95>>2]|0;
$97 = (($96) + 1)|0;
HEAP32[$95>>2] = $97;
$98 = ($97|0)==(0);
if ($98) {
$99 = $100 | 2;
HEAP8[$12>>0] = $99;
$$0 = 139;
STACKTOP = sp;return ($$0|0);
}
}
$101 = ((($0)) + 148|0);
__gcry_poly1305_update($101,$3,$4);
$102 = ((($0)) + 12|0);
$103 = HEAP32[$102>>2]|0;
$104 = ((($103)) + 48|0);
$105 = HEAP32[$104>>2]|0;
$106 = ((($0)) + 496|0);
FUNCTION_TABLE_viiii[$105 & 63]($106,$1,$3,$4);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function __gcry_cipher_poly1305_setkey($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 128|0);
HEAP32[$1>>2] = 0;
$2 = ((($1)) + 4|0);
HEAP32[$2>>2] = 0;
$3 = ((($0)) + 136|0);
HEAP32[$3>>2] = 0;
$4 = ((($0)) + 140|0);
HEAP32[$4>>2] = 0;
$5 = ((($0)) + 144|0);
$6 = HEAP8[$5>>0]|0;
$7 = $6 & -4;
HEAP8[$5>>0] = $7;
$8 = ((($0)) + 56|0);
$9 = HEAP8[$8>>0]|0;
$10 = $9 & -7;
HEAP8[$8>>0] = $10;
return;
}
function __gcry_cipher_poly1305_setiv($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$3 = sp;
$4 = ($1|0)==(0|0);
$5 = ($2|0)!=(12);
$or$cond = $4 & $5;
if ($or$cond) {
$$0 = 45;
STACKTOP = sp;return ($$0|0);
}
$6 = ((($0)) + 128|0);
$7 = ((($0)) + 148|0);
dest=$7; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
HEAP32[$6>>2] = 0;
$8 = ((($6)) + 4|0);
HEAP32[$8>>2] = 0;
$9 = ((($0)) + 136|0);
HEAP32[$9>>2] = 0;
$10 = ((($0)) + 140|0);
HEAP32[$10>>2] = 0;
$11 = ((($0)) + 144|0);
$12 = HEAP8[$11>>0]|0;
$13 = $12 & -4;
HEAP8[$11>>0] = $13;
$14 = ((($0)) + 56|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15 & -7;
HEAP8[$14>>0] = $16;
$17 = ((($0)) + 12|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($18)) + 60|0);
$20 = HEAP32[$19>>2]|0;
$21 = ((($0)) + 496|0);
FUNCTION_TABLE_viii[$20 & 127]($21,$1,$2);
dest=$3; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$22 = HEAP32[$17>>2]|0;
$23 = ((($22)) + 44|0);
$24 = HEAP32[$23>>2]|0;
FUNCTION_TABLE_viiii[$24 & 63]($21,$3,$3,64);
$25 = (__gcry_poly1305_init($7,$3,32)|0);
$26 = $3;
$27 = $26;
HEAP32[$27>>2] = 0;
$28 = (($26) + 4)|0;
$29 = $28;
HEAP32[$29>>2] = 0;
$30 = ((($3)) + 8|0);
$31 = $30;
$32 = $31;
HEAP32[$32>>2] = 0;
$33 = (($31) + 4)|0;
$34 = $33;
HEAP32[$34>>2] = 0;
$35 = ((($3)) + 16|0);
$36 = $35;
$37 = $36;
HEAP32[$37>>2] = 0;
$38 = (($36) + 4)|0;
$39 = $38;
HEAP32[$39>>2] = 0;
$40 = ((($3)) + 24|0);
$41 = $40;
$42 = $41;
HEAP32[$42>>2] = 0;
$43 = (($41) + 4)|0;
$44 = $43;
HEAP32[$44>>2] = 0;
$45 = ((($3)) + 32|0);
$46 = $45;
$47 = $46;
HEAP32[$47>>2] = 0;
$48 = (($46) + 4)|0;
$49 = $48;
HEAP32[$49>>2] = 0;
$50 = ((($3)) + 40|0);
$51 = $50;
$52 = $51;
HEAP32[$52>>2] = 0;
$53 = (($51) + 4)|0;
$54 = $53;
HEAP32[$54>>2] = 0;
$55 = ((($3)) + 48|0);
$56 = $55;
$57 = $56;
HEAP32[$57>>2] = 0;
$58 = (($56) + 4)|0;
$59 = $58;
HEAP32[$59>>2] = 0;
$60 = ((($3)) + 56|0);
$61 = $60;
$62 = $61;
HEAP32[$62>>2] = 0;
$63 = (($61) + 4)|0;
$64 = $63;
HEAP32[$64>>2] = 0;
$65 = ($25|0)==(0);
if (!($65)) {
$$0 = $25;
STACKTOP = sp;return ($$0|0);
}
$66 = HEAP8[$14>>0]|0;
$67 = $66 | 2;
HEAP8[$14>>0] = $67;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function __gcry_selftest_helper_cbc($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$ = 0, $$0 = 0, $$0129156 = 0, $$03449$i = 0, $$03449$i136$us = 0, $$03548$i = 0, $$03548$i137$us = 0, $$03647$i = 0, $$03647$i138$us = 0, $$037$i = 0, $$037$i142$us = 0, $$039$i = 0, $$039$i141$us = 0, $$041$i = 0, $$041$i140$us = 0, $$050$i = 0, $$050$i135$us = 0, $$1$i = 0, $$1$i143$us = 0, $$1152 = 0;
var $$13845$i = 0, $$13845$i147 = 0, $$13845$i147$us = 0, $$14044$i = 0, $$14044$i148 = 0, $$14044$i148$us = 0, $$14243$i = 0, $$14243$i149 = 0, $$14243$i149$us = 0, $$2151 = 0, $$2151$us = 0, $$246$i = 0, $$246$i146 = 0, $$246$i146$us = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond161 = 0, $or$cond$i = 0, $scevgep$i = 0, $scevgep$i131 = 0, $scevgep61$i = 0, $scevgep61$i132$us = 0, $scevgep63$i = 0, $scevgep63$i133$us = 0, label = 0, sp = 0;
sp = STACKTOP;
$7 = (($6) + 15)|0;
$8 = $7 & -16;
$9 = $5 << 1;
$10 = Math_imul($5, $4)|0;
$11 = ($10*3)|0;
$12 = (($9) + 16)|0;
$13 = (($12) + ($11))|0;
$14 = (($13) + ($8))|0;
$15 = (__gcry_calloc(1,$14)|0);
$16 = ($15|0)==(0|0);
if ($16) {
$$0 = 64554;
return ($$0|0);
}
$17 = $15;
$18 = (0 - ($17))|0;
$19 = $18 & 15;
$20 = (($15) + ($19)|0);
$21 = (($20) + ($8)|0);
$22 = (($21) + ($5)|0);
$23 = (($22) + ($5)|0);
$24 = (($23) + ($10)|0);
$25 = (($24) + ($10)|0);
$26 = (FUNCTION_TABLE_iiii[$1 & 127]($20,16208,16)|0);
$27 = ($26|0)==(0);
if (!($27)) {
__gcry_free($15);
$$0 = 64540;
return ($$0|0);
}
_memset(($21|0),78,($5|0))|0;
_memset(($22|0),78,($5|0))|0;
$28 = ($5|0)>(0);
if ($28) {
$$0129156 = 0;
while(1) {
$29 = $$0129156&255;
$30 = (($23) + ($$0129156)|0);
HEAP8[$30>>0] = $29;
$31 = (($$0129156) + 1)|0;
$exitcond161 = ($31|0)==($5|0);
if ($exitcond161) {
break;
} else {
$$0129156 = $31;
}
}
}
$32 = $25;
$33 = $21;
$34 = $23;
$35 = $34 | $33;
$36 = $35 | $32;
$37 = $36 & 3;
$38 = ($37|0)==(0);
$39 = ($5>>>0)>(3);
$or$cond$i = $39 & $38;
if ($or$cond$i) {
$40 = (($5) + -4)|0;
$41 = $40 & -4;
$42 = (($41) + 4)|0;
$scevgep61$i = (($23) + ($42)|0);
$$03449$i = $23;$$03548$i = $21;$$03647$i = $25;$$050$i = $5;
while(1) {
$43 = ((($$03548$i)) + 4|0);
$44 = HEAP32[$$03548$i>>2]|0;
$45 = ((($$03449$i)) + 4|0);
$46 = HEAP32[$$03449$i>>2]|0;
$47 = $46 ^ $44;
$48 = ((($$03647$i)) + 4|0);
HEAP32[$$03647$i>>2] = $47;
$49 = (($$050$i) + -4)|0;
$50 = ($49>>>0)>(3);
if ($50) {
$$03449$i = $45;$$03548$i = $43;$$03647$i = $48;$$050$i = $49;
} else {
break;
}
}
$scevgep$i = (($21) + ($42)|0);
$scevgep63$i = (($25) + ($42)|0);
$51 = (($40) - ($41))|0;
$$037$i = $scevgep61$i;$$039$i = $scevgep$i;$$041$i = $scevgep63$i;$$1$i = $51;
} else {
$$037$i = $23;$$039$i = $21;$$041$i = $25;$$1$i = $5;
}
$52 = ($$1$i|0)==(0);
if (!($52)) {
$$13845$i = $$037$i;$$14044$i = $$039$i;$$14243$i = $$041$i;$$246$i = $$1$i;
while(1) {
$53 = ((($$14044$i)) + 1|0);
$54 = HEAP8[$$14044$i>>0]|0;
$55 = ((($$13845$i)) + 1|0);
$56 = HEAP8[$$13845$i>>0]|0;
$57 = $56 ^ $54;
$58 = ((($$14243$i)) + 1|0);
HEAP8[$$14243$i>>0] = $57;
$59 = (($$246$i) + -1)|0;
$60 = ($59|0)==(0);
if ($60) {
break;
} else {
$$13845$i = $55;$$14044$i = $53;$$14243$i = $58;$$246$i = $59;
}
}
}
(FUNCTION_TABLE_iiii[$2 & 127]($20,$25,$25)|0);
_memcpy(($21|0),($25|0),($5|0))|0;
FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$24,$25,1);
$61 = (_memcmp($24,$23,$5)|0);
$62 = ($61|0)==(0);
if (!($62)) {
__gcry_free($15);
$$0 = 64491;
return ($$0|0);
}
$63 = (_memcmp($22,$21,$5)|0);
$64 = ($63|0)==(0);
if (!($64)) {
__gcry_free($15);
$$0 = 64491;
return ($$0|0);
}
_memset(($21|0),95,($5|0))|0;
_memset(($22|0),95,($5|0))|0;
$65 = ($10|0)>(0);
L32: do {
if ($65) {
$$1152 = 0;
while(1) {
$66 = $$1152&255;
$67 = (($23) + ($$1152)|0);
HEAP8[$67>>0] = $66;
$68 = (($$1152) + 1)|0;
$exitcond = ($68|0)==($10|0);
if ($exitcond) {
break;
} else {
$$1152 = $68;
}
}
if ($65) {
$69 = (($5) + -4)|0;
$70 = $69 & -4;
$71 = (($70) + 4)|0;
$scevgep$i131 = (($21) + ($71)|0);
$72 = (($69) - ($70))|0;
if (!($39)) {
$100 = ($5|0)==(0);
$$2151 = 0;
while(1) {
$101 = (($25) + ($$2151)|0);
if (!($100)) {
$102 = (($23) + ($$2151)|0);
$$13845$i147 = $102;$$14044$i148 = $21;$$14243$i149 = $101;$$246$i146 = $5;
while(1) {
$103 = ((($$14044$i148)) + 1|0);
$104 = HEAP8[$$14044$i148>>0]|0;
$105 = ((($$13845$i147)) + 1|0);
$106 = HEAP8[$$13845$i147>>0]|0;
$107 = $106 ^ $104;
$108 = ((($$14243$i149)) + 1|0);
HEAP8[$$14243$i149>>0] = $107;
$109 = (($$246$i146) + -1)|0;
$110 = ($109|0)==(0);
if ($110) {
break;
} else {
$$13845$i147 = $105;$$14044$i148 = $103;$$14243$i149 = $108;$$246$i146 = $109;
}
}
}
(FUNCTION_TABLE_iiii[$2 & 127]($20,$101,$101)|0);
_memcpy(($21|0),($101|0),($5|0))|0;
$111 = (($$2151) + ($5))|0;
$112 = ($111|0)<($10|0);
if ($112) {
$$2151 = $111;
} else {
break L32;
}
}
}
$$2151$us = 0;
while(1) {
$73 = (($25) + ($$2151$us)|0);
$74 = (($23) + ($$2151$us)|0);
$75 = $73;
$76 = $75 | $33;
$77 = $74;
$78 = $76 | $77;
$79 = $78 & 3;
$80 = ($79|0)==(0);
if ($80) {
$scevgep61$i132$us = (($74) + ($71)|0);
$$03449$i136$us = $74;$$03548$i137$us = $21;$$03647$i138$us = $73;$$050$i135$us = $5;
while(1) {
$81 = ((($$03548$i137$us)) + 4|0);
$82 = HEAP32[$$03548$i137$us>>2]|0;
$83 = ((($$03449$i136$us)) + 4|0);
$84 = HEAP32[$$03449$i136$us>>2]|0;
$85 = $84 ^ $82;
$86 = ((($$03647$i138$us)) + 4|0);
HEAP32[$$03647$i138$us>>2] = $85;
$87 = (($$050$i135$us) + -4)|0;
$88 = ($87>>>0)>(3);
if ($88) {
$$03449$i136$us = $83;$$03548$i137$us = $81;$$03647$i138$us = $86;$$050$i135$us = $87;
} else {
break;
}
}
$scevgep63$i133$us = (($73) + ($71)|0);
$$037$i142$us = $scevgep61$i132$us;$$039$i141$us = $scevgep$i131;$$041$i140$us = $scevgep63$i133$us;$$1$i143$us = $72;
} else {
$$037$i142$us = $74;$$039$i141$us = $21;$$041$i140$us = $73;$$1$i143$us = $5;
}
$89 = ($$1$i143$us|0)==(0);
if (!($89)) {
$$13845$i147$us = $$037$i142$us;$$14044$i148$us = $$039$i141$us;$$14243$i149$us = $$041$i140$us;$$246$i146$us = $$1$i143$us;
while(1) {
$90 = ((($$14044$i148$us)) + 1|0);
$91 = HEAP8[$$14044$i148$us>>0]|0;
$92 = ((($$13845$i147$us)) + 1|0);
$93 = HEAP8[$$13845$i147$us>>0]|0;
$94 = $93 ^ $91;
$95 = ((($$14243$i149$us)) + 1|0);
HEAP8[$$14243$i149$us>>0] = $94;
$96 = (($$246$i146$us) + -1)|0;
$97 = ($96|0)==(0);
if ($97) {
break;
} else {
$$13845$i147$us = $92;$$14044$i148$us = $90;$$14243$i149$us = $95;$$246$i146$us = $96;
}
}
}
(FUNCTION_TABLE_iiii[$2 & 127]($20,$73,$73)|0);
_memcpy(($21|0),($73|0),($5|0))|0;
$98 = (($$2151$us) + ($5))|0;
$99 = ($98|0)<($10|0);
if ($99) {
$$2151$us = $98;
} else {
break;
}
}
}
}
} while(0);
FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$24,$25,$4);
$113 = (_memcmp($24,$23,$10)|0);
$114 = ($113|0)==(0);
if ($114) {
$115 = (_memcmp($22,$21,$5)|0);
$116 = ($115|0)==(0);
__gcry_free($15);
$$ = $116 ? 0 : 64491;
$$0 = $$;
return ($$0|0);
} else {
__gcry_free($15);
$$0 = 64491;
return ($$0|0);
}
return (0)|0;
}
function __gcry_selftest_helper_cfb($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$ = 0, $$0 = 0, $$0121148 = 0, $$03449$i = 0, $$03449$i128$us = 0, $$03548$i = 0, $$03548$i129$us = 0, $$03647$i = 0, $$03647$i130$us = 0, $$037$i = 0, $$037$i134$us = 0, $$039$i = 0, $$039$i133$us = 0, $$041$i = 0, $$041$i132$us = 0, $$050$i = 0, $$050$i127$us = 0, $$1$i = 0, $$1$i135$us = 0, $$1144 = 0;
var $$13845$i = 0, $$13845$i139 = 0, $$13845$i139$us = 0, $$14044$i = 0, $$14044$i140 = 0, $$14044$i140$us = 0, $$14243$i = 0, $$14243$i141 = 0, $$14243$i141$us = 0, $$2143 = 0, $$2143$us = 0, $$246$i = 0, $$246$i138 = 0, $$246$i138$us = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond153 = 0, $or$cond$i = 0, $scevgep$i = 0, $scevgep$i123$us = 0, $scevgep61$i = 0, $scevgep61$i124$us = 0, $scevgep63$i = 0, $scevgep63$i125 = 0, label = 0, sp = 0;
sp = STACKTOP;
$7 = (($6) + 15)|0;
$8 = $7 & -16;
$9 = $5 << 1;
$10 = Math_imul($5, $4)|0;
$11 = ($10*3)|0;
$12 = (($9) + 16)|0;
$13 = (($12) + ($11))|0;
$14 = (($13) + ($8))|0;
$15 = (__gcry_calloc(1,$14)|0);
$16 = ($15|0)==(0|0);
if ($16) {
$$0 = 64554;
return ($$0|0);
}
$17 = $15;
$18 = (0 - ($17))|0;
$19 = $18 & 15;
$20 = (($15) + ($19)|0);
$21 = (($20) + ($8)|0);
$22 = (($21) + ($5)|0);
$23 = (($22) + ($5)|0);
$24 = (($23) + ($10)|0);
$25 = (($24) + ($10)|0);
$26 = (FUNCTION_TABLE_iiii[$1 & 127]($20,16224,16)|0);
$27 = ($26|0)==(0);
if (!($27)) {
__gcry_free($15);
$$0 = 64540;
return ($$0|0);
}
_memset(($21|0),-45,($5|0))|0;
_memset(($22|0),-45,($5|0))|0;
$28 = ($5|0)>(0);
if ($28) {
$$0121148 = 0;
while(1) {
$29 = $$0121148&255;
$30 = (($23) + ($$0121148)|0);
HEAP8[$30>>0] = $29;
$31 = (($$0121148) + 1)|0;
$exitcond153 = ($31|0)==($5|0);
if ($exitcond153) {
break;
} else {
$$0121148 = $31;
}
}
}
(FUNCTION_TABLE_iiii[$2 & 127]($20,$25,$21)|0);
$32 = $23;
$33 = $21;
$34 = $25;
$35 = $32 | $33;
$36 = $35 | $34;
$37 = $36 & 3;
$38 = ($37|0)==(0);
$39 = ($5>>>0)>(3);
$or$cond$i = $39 & $38;
if ($or$cond$i) {
$40 = (($5) + -4)|0;
$41 = $40 & -4;
$42 = (($41) + 4)|0;
$scevgep61$i = (($25) + ($42)|0);
$$03449$i = $23;$$03548$i = $25;$$03647$i = $21;$$050$i = $5;
while(1) {
$43 = ((($$03449$i)) + 4|0);
$44 = HEAP32[$$03449$i>>2]|0;
$45 = ((($$03548$i)) + 4|0);
$46 = HEAP32[$$03548$i>>2]|0;
$47 = $46 ^ $44;
HEAP32[$$03548$i>>2] = $47;
$48 = ((($$03647$i)) + 4|0);
HEAP32[$$03647$i>>2] = $47;
$49 = (($$050$i) + -4)|0;
$50 = ($49>>>0)>(3);
if ($50) {
$$03449$i = $43;$$03548$i = $45;$$03647$i = $48;$$050$i = $49;
} else {
break;
}
}
$scevgep$i = (($23) + ($42)|0);
$scevgep63$i = (($21) + ($42)|0);
$51 = (($40) - ($41))|0;
$$037$i = $scevgep$i;$$039$i = $scevgep61$i;$$041$i = $scevgep63$i;$$1$i = $51;
} else {
$$037$i = $23;$$039$i = $25;$$041$i = $21;$$1$i = $5;
}
$52 = ($$1$i|0)==(0);
if (!($52)) {
$$13845$i = $$037$i;$$14044$i = $$039$i;$$14243$i = $$041$i;$$246$i = $$1$i;
while(1) {
$53 = ((($$13845$i)) + 1|0);
$54 = HEAP8[$$13845$i>>0]|0;
$55 = ((($$14044$i)) + 1|0);
$56 = HEAP8[$$14044$i>>0]|0;
$57 = $56 ^ $54;
HEAP8[$$14044$i>>0] = $57;
$58 = ((($$14243$i)) + 1|0);
HEAP8[$$14243$i>>0] = $57;
$59 = (($$246$i) + -1)|0;
$60 = ($59|0)==(0);
if ($60) {
break;
} else {
$$13845$i = $53;$$14044$i = $55;$$14243$i = $58;$$246$i = $59;
}
}
}
FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$24,$25,1);
$61 = (_memcmp($24,$23,$5)|0);
$62 = ($61|0)==(0);
if (!($62)) {
__gcry_free($15);
$$0 = 64580;
return ($$0|0);
}
$63 = (_memcmp($22,$21,$5)|0);
$64 = ($63|0)==(0);
if (!($64)) {
__gcry_free($15);
$$0 = 64580;
return ($$0|0);
}
_memset(($21|0),-26,($5|0))|0;
_memset(($22|0),-26,($5|0))|0;
$65 = ($10|0)>(0);
L32: do {
if ($65) {
$$1144 = 0;
while(1) {
$66 = $$1144&255;
$67 = (($23) + ($$1144)|0);
HEAP8[$67>>0] = $66;
$68 = (($$1144) + 1)|0;
$exitcond = ($68|0)==($10|0);
if ($exitcond) {
break;
} else {
$$1144 = $68;
}
}
if ($65) {
$69 = (($5) + -4)|0;
$70 = $69 & -4;
$71 = (($70) + 4)|0;
$scevgep63$i125 = (($21) + ($71)|0);
$72 = (($69) - ($70))|0;
if (!($39)) {
$100 = ($5|0)==(0);
$$2143 = 0;
while(1) {
$101 = (($25) + ($$2143)|0);
(FUNCTION_TABLE_iiii[$2 & 127]($20,$101,$21)|0);
if (!($100)) {
$102 = (($23) + ($$2143)|0);
$$13845$i139 = $102;$$14044$i140 = $101;$$14243$i141 = $21;$$246$i138 = $5;
while(1) {
$103 = ((($$13845$i139)) + 1|0);
$104 = HEAP8[$$13845$i139>>0]|0;
$105 = ((($$14044$i140)) + 1|0);
$106 = HEAP8[$$14044$i140>>0]|0;
$107 = $106 ^ $104;
HEAP8[$$14044$i140>>0] = $107;
$108 = ((($$14243$i141)) + 1|0);
HEAP8[$$14243$i141>>0] = $107;
$109 = (($$246$i138) + -1)|0;
$110 = ($109|0)==(0);
if ($110) {
break;
} else {
$$13845$i139 = $103;$$14044$i140 = $105;$$14243$i141 = $108;$$246$i138 = $109;
}
}
}
$111 = (($$2143) + ($5))|0;
$112 = ($111|0)<($10|0);
if ($112) {
$$2143 = $111;
} else {
break L32;
}
}
}
$$2143$us = 0;
while(1) {
$73 = (($25) + ($$2143$us)|0);
(FUNCTION_TABLE_iiii[$2 & 127]($20,$73,$21)|0);
$74 = (($23) + ($$2143$us)|0);
$75 = $74;
$76 = $73;
$77 = $76 | $33;
$78 = $77 | $75;
$79 = $78 & 3;
$80 = ($79|0)==(0);
if ($80) {
$scevgep$i123$us = (($74) + ($71)|0);
$$03449$i128$us = $74;$$03548$i129$us = $73;$$03647$i130$us = $21;$$050$i127$us = $5;
while(1) {
$81 = ((($$03449$i128$us)) + 4|0);
$82 = HEAP32[$$03449$i128$us>>2]|0;
$83 = ((($$03548$i129$us)) + 4|0);
$84 = HEAP32[$$03548$i129$us>>2]|0;
$85 = $84 ^ $82;
HEAP32[$$03548$i129$us>>2] = $85;
$86 = ((($$03647$i130$us)) + 4|0);
HEAP32[$$03647$i130$us>>2] = $85;
$87 = (($$050$i127$us) + -4)|0;
$88 = ($87>>>0)>(3);
if ($88) {
$$03449$i128$us = $81;$$03548$i129$us = $83;$$03647$i130$us = $86;$$050$i127$us = $87;
} else {
break;
}
}
$scevgep61$i124$us = (($73) + ($71)|0);
$$037$i134$us = $scevgep$i123$us;$$039$i133$us = $scevgep61$i124$us;$$041$i132$us = $scevgep63$i125;$$1$i135$us = $72;
} else {
$$037$i134$us = $74;$$039$i133$us = $73;$$041$i132$us = $21;$$1$i135$us = $5;
}
$89 = ($$1$i135$us|0)==(0);
if (!($89)) {
$$13845$i139$us = $$037$i134$us;$$14044$i140$us = $$039$i133$us;$$14243$i141$us = $$041$i132$us;$$246$i138$us = $$1$i135$us;
while(1) {
$90 = ((($$13845$i139$us)) + 1|0);
$91 = HEAP8[$$13845$i139$us>>0]|0;
$92 = ((($$14044$i140$us)) + 1|0);
$93 = HEAP8[$$14044$i140$us>>0]|0;
$94 = $93 ^ $91;
HEAP8[$$14044$i140$us>>0] = $94;
$95 = ((($$14243$i141$us)) + 1|0);
HEAP8[$$14243$i141$us>>0] = $94;
$96 = (($$246$i138$us) + -1)|0;
$97 = ($96|0)==(0);
if ($97) {
break;
} else {
$$13845$i139$us = $90;$$14044$i140$us = $92;$$14243$i141$us = $95;$$246$i138$us = $96;
}
}
}
$98 = (($$2143$us) + ($5))|0;
$99 = ($98|0)<($10|0);
if ($99) {
$$2143$us = $98;
} else {
break;
}
}
}
}
} while(0);
FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$24,$25,$4);
$113 = (_memcmp($24,$23,$10)|0);
$114 = ($113|0)==(0);
if ($114) {
$115 = (_memcmp($22,$21,$5)|0);
$116 = ($115|0)==(0);
__gcry_free($15);
$$ = $116 ? 0 : 64580;
$$0 = $$;
return ($$0|0);
} else {
__gcry_free($15);
$$0 = 64580;
return ($$0|0);
}
return (0)|0;
}
function __gcry_selftest_helper_ctr($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$0 = 0, $$0236308 = 0, $$0237271$us = 0, $$0241267 = 0, $$1238275$us = 0, $$1304 = 0, $$2239243$us = 0, $$2299 = 0, $$3240247$us = 0, $$3295 = 0, $$4280 = 0, $$4280$us = 0, $$5242 = 0, $$6252 = 0, $$6252$us = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0;
var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0;
var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond316 = 0;
var $exitcond317 = 0, $exitcond318 = 0, $exitcond319 = 0, $exitcond320 = 0, $or$cond = 0, $or$cond313 = 0, $or$cond315 = 0, label = 0, sp = 0;
sp = STACKTOP;
$7 = (($6) + 15)|0;
$8 = $7 & -16;
$9 = $5 << 1;
$10 = Math_imul($5, $4)|0;
$11 = $10 << 2;
$12 = (($9) + 16)|0;
$13 = (($12) + ($11))|0;
$14 = (($13) + ($8))|0;
$15 = (__gcry_calloc(1,$14)|0);
$16 = ($15|0)==(0|0);
if ($16) {
$$0 = 64554;
return ($$0|0);
}
$17 = $15;
$18 = (0 - ($17))|0;
$19 = $18 & 15;
$20 = (($15) + ($19)|0);
$21 = (($20) + ($8)|0);
$22 = (($21) + ($5)|0);
$23 = (($22) + ($5)|0);
$24 = (($23) + ($10)|0);
$25 = (($24) + ($10)|0);
$26 = (($25) + ($10)|0);
$27 = (FUNCTION_TABLE_iiii[$1 & 127]($20,16240,16)|0);
$28 = ($27|0)==(0);
if (!($28)) {
__gcry_free($15);
$$0 = 64540;
return ($$0|0);
}
_memset(($21|0),-1,($5|0))|0;
$29 = ($5|0)>(0);
if ($29) {
$$0236308 = 0;
while(1) {
$30 = $$0236308&255;
$31 = (($23) + ($$0236308)|0);
HEAP8[$31>>0] = $30;
$32 = (($$0236308) + 1)|0;
$exitcond320 = ($32|0)==($5|0);
if ($exitcond320) {
break;
} else {
$$0236308 = $32;
}
}
(FUNCTION_TABLE_iiii[$2 & 127]($20,$25,$21)|0);
if ($29) {
$$1304 = 0;
while(1) {
$33 = (($23) + ($$1304)|0);
$34 = HEAP8[$33>>0]|0;
$35 = (($25) + ($$1304)|0);
$36 = HEAP8[$35>>0]|0;
$37 = $36 ^ $34;
HEAP8[$35>>0] = $37;
$38 = (($$1304) + 1)|0;
$exitcond319 = ($38|0)==($5|0);
if ($exitcond319) {
break;
} else {
$$1304 = $38;
}
}
if ($29) {
$$2299 = $5;
while(1) {
$39 = (($$2299) + -1)|0;
$40 = (($21) + ($39)|0);
$41 = HEAP8[$40>>0]|0;
$42 = (($41) + 1)<<24>>24;
HEAP8[$40>>0] = $42;
$43 = ($42<<24>>24)==(0);
$44 = ($$2299|0)>(1);
$or$cond315 = $43 & $44;
if ($or$cond315) {
$$2299 = $39;
} else {
break;
}
}
}
}
} else {
(FUNCTION_TABLE_iiii[$2 & 127]($20,$25,$21)|0);
}
_memset(($22|0),-1,($5|0))|0;
FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$24,$25,1);
$45 = (_memcmp($24,$23,$5)|0);
$46 = ($45|0)==(0);
if (!($46)) {
__gcry_free($15);
$$0 = 64629;
return ($$0|0);
}
$47 = (_memcmp($22,$21,$5)|0);
$48 = ($47|0)==(0);
if (!($48)) {
__gcry_free($15);
$$0 = 64629;
return ($$0|0);
}
$49 = (($5) + -4)|0;
_memset(($21|0),87,($49|0))|0;
$50 = (($5) + -1)|0;
$51 = (($21) + ($50)|0);
HEAP8[$51>>0] = 1;
$52 = (($5) + -2)|0;
$53 = (($21) + ($52)|0);
HEAP8[$53>>0] = 0;
$54 = (($5) + -3)|0;
$55 = (($21) + ($54)|0);
HEAP8[$55>>0] = 0;
$56 = (($21) + ($49)|0);
HEAP8[$56>>0] = 0;
_memset(($22|0),87,($49|0))|0;
$57 = (($22) + ($50)|0);
HEAP8[$57>>0] = 1;
$58 = (($22) + ($52)|0);
HEAP8[$58>>0] = 0;
$59 = (($22) + ($54)|0);
HEAP8[$59>>0] = 0;
$60 = (($22) + ($49)|0);
HEAP8[$60>>0] = 0;
$61 = ($10|0)>(0);
L30: do {
if ($61) {
$$3295 = 0;
while(1) {
$62 = $$3295&255;
$63 = (($23) + ($$3295)|0);
HEAP8[$63>>0] = $62;
$64 = (($24) + ($$3295)|0);
HEAP8[$64>>0] = $62;
$65 = (($$3295) + 1)|0;
$exitcond318 = ($65|0)==($10|0);
if ($exitcond318) {
break;
} else {
$$3295 = $65;
}
}
if ($61) {
if (!($29)) {
$$4280 = 0;
while(1) {
$82 = (($25) + ($$4280)|0);
(FUNCTION_TABLE_iiii[$2 & 127]($20,$82,$21)|0);
$83 = (($$4280) + ($5))|0;
$84 = ($83|0)<($10|0);
if ($84) {
$$4280 = $83;
} else {
break L30;
}
}
}
$$4280$us = 0;
while(1) {
$66 = (($25) + ($$4280$us)|0);
(FUNCTION_TABLE_iiii[$2 & 127]($20,$66,$21)|0);
$$0237271$us = 0;
while(1) {
$75 = (($$0237271$us) + ($$4280$us))|0;
$76 = (($23) + ($75)|0);
$77 = HEAP8[$76>>0]|0;
$78 = (($25) + ($75)|0);
$79 = HEAP8[$78>>0]|0;
$80 = $79 ^ $77;
HEAP8[$78>>0] = $80;
$81 = (($$0237271$us) + 1)|0;
$exitcond317 = ($81|0)==($5|0);
if ($exitcond317) {
break;
} else {
$$0237271$us = $81;
}
}
$$1238275$us = $5;
while(1) {
$67 = (($$1238275$us) + -1)|0;
$68 = (($21) + ($67)|0);
$69 = HEAP8[$68>>0]|0;
$70 = (($69) + 1)<<24>>24;
HEAP8[$68>>0] = $70;
$71 = ($70<<24>>24)==(0);
$72 = ($$1238275$us|0)>(1);
$or$cond313 = $71 & $72;
if ($or$cond313) {
$$1238275$us = $67;
} else {
break;
}
}
$73 = (($$4280$us) + ($5))|0;
$74 = ($73|0)<($10|0);
if ($74) {
$$4280$us = $73;
} else {
break;
}
}
}
}
} while(0);
FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$26,$24,$4);
$85 = (_memcmp($26,$25,$10)|0);
$86 = ($85|0)==(0);
if (!($86)) {
__gcry_free($15);
$$0 = 64629;
return ($$0|0);
}
$87 = (_memcmp($22,$21,$5)|0);
$88 = ($87|0)==(0);
if (!($88)) {
__gcry_free($15);
$$0 = 64629;
return ($$0|0);
}
$89 = ($4|0)>(0);
L58: do {
if ($89) {
$90 = ((($21)) + 1|0);
$91 = ((($21)) + 2|0);
$92 = ((($22)) + 1|0);
$93 = ((($22)) + 2|0);
$$0241267 = 0;
while(1) {
_memset(($21|0),-1,($5|0))|0;
$96 = HEAP8[$51>>0]|0;
$97 = $96&255;
$98 = (($97) - ($$0241267))|0;
$99 = $98&255;
HEAP8[$51>>0] = $99;
HEAP8[$90>>0] = 0;
HEAP8[$21>>0] = 0;
HEAP8[$91>>0] = 7;
L62: do {
if ($61) {
$$5242 = 0;
while(1) {
$100 = $$5242&255;
$101 = (($23) + ($$5242)|0);
HEAP8[$101>>0] = $100;
$102 = (($$5242) + 1)|0;
$exitcond = ($102|0)==($10|0);
if ($exitcond) {
break;
} else {
$$5242 = $102;
}
}
if ($61) {
if (!($29)) {
$$6252 = 0;
while(1) {
$119 = (($25) + ($$6252)|0);
(FUNCTION_TABLE_iiii[$2 & 127]($20,$119,$21)|0);
$120 = (($$6252) + ($5))|0;
$121 = ($120|0)<($10|0);
if ($121) {
$$6252 = $120;
} else {
break L62;
}
}
}
$$6252$us = 0;
while(1) {
$103 = (($25) + ($$6252$us)|0);
(FUNCTION_TABLE_iiii[$2 & 127]($20,$103,$21)|0);
$$2239243$us = 0;
while(1) {
$112 = (($$2239243$us) + ($$6252$us))|0;
$113 = (($23) + ($112)|0);
$114 = HEAP8[$113>>0]|0;
$115 = (($25) + ($112)|0);
$116 = HEAP8[$115>>0]|0;
$117 = $116 ^ $114;
HEAP8[$115>>0] = $117;
$118 = (($$2239243$us) + 1)|0;
$exitcond316 = ($118|0)==($5|0);
if ($exitcond316) {
break;
} else {
$$2239243$us = $118;
}
}
$$3240247$us = $5;
while(1) {
$104 = (($$3240247$us) + -1)|0;
$105 = (($21) + ($104)|0);
$106 = HEAP8[$105>>0]|0;
$107 = (($106) + 1)<<24>>24;
HEAP8[$105>>0] = $107;
$108 = ($107<<24>>24)==(0);
$109 = ($$3240247$us|0)>(1);
$or$cond = $108 & $109;
if ($or$cond) {
$$3240247$us = $104;
} else {
break;
}
}
$110 = (($$6252$us) + ($5))|0;
$111 = ($110|0)<($10|0);
if ($111) {
$$6252$us = $110;
} else {
break;
}
}
}
}
} while(0);
_memset(($22|0),-1,($5|0))|0;
$122 = HEAP8[$57>>0]|0;
$123 = $122&255;
$124 = (($123) - ($$0241267))|0;
$125 = $124&255;
HEAP8[$57>>0] = $125;
HEAP8[$92>>0] = 0;
HEAP8[$22>>0] = 0;
HEAP8[$93>>0] = 7;
FUNCTION_TABLE_viiiii[$3 & 127]($20,$22,$24,$25,$4);
$126 = (_memcmp($24,$23,$10)|0);
$127 = ($126|0)==(0);
if (!($127)) {
label = 52;
break;
}
$128 = (_memcmp($22,$21,$5)|0);
$129 = ($128|0)==(0);
$95 = (($$0241267) + 1)|0;
if (!($129)) {
label = 54;
break;
}
$94 = ($95|0)<($4|0);
if ($94) {
$$0241267 = $95;
} else {
break L58;
}
}
if ((label|0) == 52) {
__gcry_free($15);
$$0 = 64629;
return ($$0|0);
}
else if ((label|0) == 54) {
__gcry_free($15);
$$0 = 64629;
return ($$0|0);
}
}
} while(0);
__gcry_free($15);
$$0 = 0;
return ($$0|0);
}
function _ecc_generate($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$i$i = 0, $$0102110 = 0, $$0105109 = 0, $$076 = 0, $$078 = 0, $$079 = 0, $$080 = 0, $$081 = 0, $$081$i = 0, $$082 = 0, $$082$i = 0, $$1 = 0, $$1103 = 0, $$1106 = 0, $$184 = 0, $$187 = 0, $$2 = 0, $$2$i = 0, $$2104 = 0, $$2107 = 0;
var $$284$i = 0, $$285 = 0, $$3 = 0, $$3108 = 0, $$byval_copy = 0, $$byval_copy71 = 0, $$lobit = 0, $$pre = 0, $$pre$i = 0, $$pre$phi$iZ2D = 0, $$pre$phi116Z2D = 0, $$pre$phi118Z2D = 0, $$pre$phi120Z2D = 0, $$pre$phi122Z2D = 0, $$pre$phi124Z2D = 0, $$pre$phi2$iZ2D = 0, $$pre1$i = 0, $$pre115 = 0, $$pre117 = 0, $$pre119 = 0;
var $$pre121 = 0, $$pre123 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $34 = 0;
var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond93 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer12 = 0, $vararg_buffer14 = 0, $vararg_buffer16 = 0, $vararg_buffer18 = 0;
var $vararg_buffer2 = 0, $vararg_buffer20 = 0, $vararg_buffer22 = 0, $vararg_buffer24 = 0, $vararg_buffer26 = 0, $vararg_buffer28 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer37 = 0, $vararg_buffer39 = 0, $vararg_buffer5 = 0, $vararg_buffer60 = 0, $vararg_buffer69 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr44 = 0, $vararg_ptr45 = 0, $vararg_ptr46 = 0;
var $vararg_ptr47 = 0, $vararg_ptr48 = 0, $vararg_ptr49 = 0, $vararg_ptr50 = 0, $vararg_ptr51 = 0, $vararg_ptr52 = 0, $vararg_ptr53 = 0, $vararg_ptr54 = 0, $vararg_ptr55 = 0, $vararg_ptr56 = 0, $vararg_ptr57 = 0, $vararg_ptr58 = 0, $vararg_ptr59 = 0, $vararg_ptr63 = 0, $vararg_ptr64 = 0, $vararg_ptr65 = 0, $vararg_ptr66 = 0, $vararg_ptr67 = 0, $vararg_ptr68 = 0, dest = 0;
var label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 704|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(704|0);
$$byval_copy71 = sp + 660|0;
$$byval_copy = sp + 616|0;
$vararg_buffer69 = sp + 248|0;
$vararg_buffer60 = sp + 216|0;
$vararg_buffer39 = sp + 136|0;
$vararg_buffer37 = sp + 128|0;
$vararg_buffer34 = sp + 120|0;
$vararg_buffer31 = sp + 112|0;
$vararg_buffer28 = sp + 104|0;
$vararg_buffer26 = sp + 96|0;
$vararg_buffer24 = sp + 88|0;
$vararg_buffer22 = sp + 80|0;
$vararg_buffer20 = sp + 72|0;
$vararg_buffer18 = sp + 64|0;
$vararg_buffer16 = sp + 56|0;
$vararg_buffer14 = sp + 48|0;
$vararg_buffer12 = sp + 40|0;
$vararg_buffer10 = sp + 32|0;
$vararg_buffer8 = sp + 24|0;
$vararg_buffer5 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$2 = sp + 560|0;
$3 = sp + 548|0;
$4 = sp + 504|0;
$5 = sp + 448|0;
$6 = sp + 436|0;
$7 = sp + 392|0;
$8 = sp + 380|0;
$9 = sp + 376|0;
$10 = sp + 332|0;
$11 = sp + 272|0;
$12 = sp + 268|0;
$13 = sp + 264|0;
$14 = sp + 260|0;
$15 = sp + 256|0;
$16 = sp + 252|0;
HEAP32[$12>>2] = 0;
HEAP32[$13>>2] = 0;
HEAP32[$14>>2] = 0;
dest=$10; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
dest=$11; stop=dest+60|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$17 = (__gcry_pk_util_get_nbits($0,$9)|0);
$18 = ($17|0)==(0);
if (!($18)) {
$$187 = $17;
STACKTOP = sp;return ($$187|0);
}
$19 = (__gcry_sexp_find_token($0,64745,0)|0);
$20 = ($19|0)==(0|0);
if ($20) {
$$080 = 0;
} else {
$21 = (__gcry_sexp_nth_string($19,1)|0);
__gcry_sexp_release($19);
$22 = ($21|0)==(0|0);
if ($22) {
$$187 = 65;
STACKTOP = sp;return ($$187|0);
} else {
$$080 = $21;
}
}
$23 = (__gcry_sexp_find_token($0,64705,0)|0);
$24 = ($23|0)==(0|0);
if ($24) {
label = 6;
} else {
$25 = (__gcry_pk_util_parse_flaglist($23,$14,0)|0);
__gcry_sexp_release($23);
$26 = ($25|0)==(0);
if ($26) {
label = 6;
} else {
$$076 = 0;$$078 = 0;$$079 = 0;$$081 = 0;$$082 = 0;$$2 = 0;$$285 = $25;$$3 = 0;$$3108 = 0;
}
}
do {
if ((label|0) == 6) {
$27 = (__gcry_sexp_find_token($0,66452,0)|0);
$28 = ($27|0)==(0|0);
if (!($28)) {
$29 = HEAP32[$14>>2]|0;
$30 = $29 | 32;
HEAP32[$14>>2] = $30;
__gcry_sexp_release($27);
}
$31 = HEAP32[$9>>2]|0;
$32 = ($31|0)!=(0);
$33 = ($$080|0)!=(0|0);
$or$cond = $33 | $32;
if (!($or$cond)) {
$$187 = 68;
STACKTOP = sp;return ($$187|0);
}
$34 = (__gcry_ecc_fill_in_curve($31,$$080,$10,$9)|0);
__gcry_free($$080);
$35 = ($34|0)==(0);
if ($35) {
$36 = (__gcry_get_debug_flag(1)|0);
$37 = ($36|0)==(0);
if ($37) {
$$pre115 = ((($10)) + 4|0);
$$pre117 = ((($10)) + 8|0);
$$pre119 = ((($10)) + 12|0);
$$pre121 = ((($10)) + 16|0);
$$pre$phi116Z2D = $$pre115;$$pre$phi118Z2D = $$pre117;$$pre$phi120Z2D = $$pre119;$$pre$phi122Z2D = $$pre121;
} else {
$38 = HEAP32[$10>>2]|0;
$39 = (__gcry_ecc_model2str($38)|0);
$40 = ((($10)) + 4|0);
$41 = HEAP32[$40>>2]|0;
$42 = (__gcry_ecc_dialect2str($41)|0);
HEAP32[$vararg_buffer>>2] = $39;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $42;
__gcry_log_debug(66466,$vararg_buffer);
$43 = ((($10)) + 40|0);
$44 = HEAP32[$43>>2]|0;
$45 = ($44|0)==(0|0);
if (!($45)) {
HEAP32[$vararg_buffer2>>2] = $44;
__gcry_log_debug(66491,$vararg_buffer2);
}
$46 = ((($10)) + 8|0);
$47 = HEAP32[$46>>2]|0;
__gcry_log_printmpi(66513,$47);
$48 = ((($10)) + 12|0);
$49 = HEAP32[$48>>2]|0;
__gcry_log_printmpi(66529,$49);
$50 = ((($10)) + 16|0);
$51 = HEAP32[$50>>2]|0;
__gcry_log_printmpi(66545,$51);
$52 = ((($10)) + 32|0);
$53 = HEAP32[$52>>2]|0;
__gcry_log_printmpi(66561,$53);
$54 = ((($10)) + 36|0);
$55 = HEAP32[$54>>2]|0;
__gcry_log_printmpi(66577,$55);
$56 = ((($10)) + 20|0);
__gcry_mpi_point_log(66593,$56,0);
$$pre$phi116Z2D = $40;$$pre$phi118Z2D = $46;$$pre$phi120Z2D = $48;$$pre$phi122Z2D = $50;
}
$57 = HEAP32[$10>>2]|0;
$58 = HEAP32[$$pre$phi116Z2D>>2]|0;
$59 = HEAP32[$$pre$phi118Z2D>>2]|0;
$60 = HEAP32[$$pre$phi120Z2D>>2]|0;
$61 = HEAP32[$$pre$phi122Z2D>>2]|0;
$62 = (__gcry_mpi_ec_p_internal_new($57,$58,0,$59,$60,$61)|0);
$63 = HEAP32[$14>>2]|0;
$64 = $63 & 4096;
$65 = ($64|0)==(0);
if ($65) {
$66 = HEAP32[$9>>2]|0;
$67 = HEAP32[$$pre$phi118Z2D>>2]|0;
$68 = (__gcry_mpi_get_nbits($67)|0);
__gcry_mpi_point_init($8);
$69 = $63 >>> 5;
$70 = $69 & 1;
$71 = (2 - ($70))|0;
$72 = ((($62)) + 4|0);
$73 = HEAP32[$72>>2]|0;
$74 = ($73|0)==(1);
if ($74) {
$75 = (__gcry_mpi_snew(256)|0);
$76 = ((($11)) + 56|0);
HEAP32[$76>>2] = $75;
$77 = (__gcry_random_bytes_secure(32,$71)|0);
$78 = HEAP8[$77>>0]|0;
$79 = $78 & 63;
$80 = $79 | 64;
HEAP8[$77>>0] = $80;
$81 = ((($77)) + 31|0);
$82 = HEAP8[$81>>0]|0;
$83 = $82 & -8;
HEAP8[$81>>0] = $83;
$84 = HEAP32[$76>>2]|0;
__gcry_mpi_set_buffer($84,$77,32,0);
__gcry_free($77);
$$pre$i = HEAP32[$76>>2]|0;
$$pre1$i = ((($10)) + 32|0);
$$pre$phi$iZ2D = $76;$$pre$phi2$iZ2D = $$pre1$i;$90 = $$pre$i;
} else {
$85 = ((($10)) + 32|0);
$86 = HEAP32[$85>>2]|0;
$87 = (__gcry_dsa_gen_k($86,$71)|0);
$88 = ((($11)) + 56|0);
HEAP32[$88>>2] = $87;
$$pre$phi$iZ2D = $88;$$pre$phi2$iZ2D = $85;$90 = $87;
}
$89 = ((($10)) + 20|0);
__gcry_mpi_ec_mul_point($8,$90,$89,$62);
$91 = HEAP32[$10>>2]|0;
HEAP32[$11>>2] = $91;
$92 = HEAP32[$$pre$phi116Z2D>>2]|0;
$93 = ((($11)) + 4|0);
HEAP32[$93>>2] = $92;
$94 = HEAP32[$$pre$phi118Z2D>>2]|0;
$95 = (__gcry_mpi_copy($94)|0);
$96 = ((($11)) + 8|0);
HEAP32[$96>>2] = $95;
$97 = HEAP32[$$pre$phi120Z2D>>2]|0;
$98 = (__gcry_mpi_copy($97)|0);
$99 = ((($11)) + 12|0);
HEAP32[$99>>2] = $98;
$100 = HEAP32[$$pre$phi122Z2D>>2]|0;
$101 = (__gcry_mpi_copy($100)|0);
$102 = ((($11)) + 16|0);
HEAP32[$102>>2] = $101;
$103 = ((($11)) + 20|0);
__gcry_mpi_point_init($103);
$104 = HEAP32[$103>>2]|0;
$105 = HEAP32[$89>>2]|0;
(__gcry_mpi_set($104,$105)|0);
$106 = ((($11)) + 24|0);
$107 = HEAP32[$106>>2]|0;
$108 = ((($10)) + 24|0);
$109 = HEAP32[$108>>2]|0;
(__gcry_mpi_set($107,$109)|0);
$110 = ((($11)) + 28|0);
$111 = HEAP32[$110>>2]|0;
$112 = ((($10)) + 28|0);
$113 = HEAP32[$112>>2]|0;
(__gcry_mpi_set($111,$113)|0);
$114 = HEAP32[$$pre$phi2$iZ2D>>2]|0;
$115 = (__gcry_mpi_copy($114)|0);
$116 = ((($11)) + 32|0);
HEAP32[$116>>2] = $115;
$117 = ((($10)) + 36|0);
$118 = HEAP32[$117>>2]|0;
$119 = (__gcry_mpi_copy($118)|0);
$120 = ((($11)) + 36|0);
HEAP32[$120>>2] = $119;
$121 = ((($11)) + 44|0);
__gcry_mpi_point_init($121);
$122 = (__gcry_mpi_new($68)|0);
$123 = (__gcry_mpi_new($68)|0);
$124 = (__gcry_mpi_ec_get_affine($122,$123,$8,$62)|0);
$125 = ($124|0)==(0);
if (!($125)) {
HEAP32[$vararg_buffer5>>2] = 66655;
__gcry_log_fatal(66607,$vararg_buffer5);
// unreachable;
}
$126 = HEAP32[$$pre$phi116Z2D>>2]|0;
$127 = ($126|0)==(1);
do {
if ($127) {
$128 = HEAP32[$121>>2]|0;
$129 = HEAP32[$8>>2]|0;
(__gcry_mpi_set($128,$129)|0);
$130 = ((($11)) + 48|0);
$131 = HEAP32[$130>>2]|0;
$132 = ((($8)) + 4|0);
$133 = HEAP32[$132>>2]|0;
(__gcry_mpi_set($131,$133)|0);
$134 = ((($11)) + 52|0);
$135 = HEAP32[$134>>2]|0;
$136 = ((($8)) + 8|0);
$137 = HEAP32[$136>>2]|0;
(__gcry_mpi_set($135,$137)|0);
$$2$i = $122;$$284$i = $123;
} else {
$138 = (__gcry_mpi_new($68)|0);
$139 = HEAP32[$10>>2]|0;
$140 = ($139|0)==(0);
$141 = HEAP32[$$pre$phi118Z2D>>2]|0;
if ($140) {
__gcry_mpi_sub($138,$141,$123);
} else {
__gcry_mpi_sub($138,$141,$122);
}
$142 = (__gcry_mpi_cmp($138,$123)|0);
$143 = ($142|0)<(0);
if (!($143)) {
__gcry_mpi_free($138);
$151 = HEAP32[$121>>2]|0;
$152 = HEAP32[$8>>2]|0;
(__gcry_mpi_set($151,$152)|0);
$153 = ((($11)) + 48|0);
$154 = HEAP32[$153>>2]|0;
$155 = ((($8)) + 4|0);
$156 = HEAP32[$155>>2]|0;
(__gcry_mpi_set($154,$156)|0);
$157 = ((($11)) + 52|0);
$158 = HEAP32[$157>>2]|0;
$159 = ((($8)) + 8|0);
$160 = HEAP32[$159>>2]|0;
(__gcry_mpi_set($158,$160)|0);
$161 = (__gcry_get_debug_flag(1)|0);
$162 = ($161|0)==(0);
if ($162) {
$$2$i = $122;$$284$i = $123;
break;
}
__gcry_log_debug(66697,$vararg_buffer10);
$$2$i = $122;$$284$i = $123;
break;
}
$144 = HEAP32[$10>>2]|0;
$145 = ($144|0)==(0);
if ($145) {
__gcry_mpi_free($123);
$$081$i = $122;$$082$i = $138;
} else {
__gcry_mpi_free($122);
$$081$i = $138;$$082$i = $123;
}
$146 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$147 = HEAP32[$$pre$phi2$iZ2D>>2]|0;
__gcry_mpi_sub($146,$147,$146);
$148 = (__gcry_mpi_const(1)|0);
(__gcry_mpi_point_set($121,$$081$i,$$082$i,$148)|0);
$149 = (__gcry_get_debug_flag(1)|0);
$150 = ($149|0)==(0);
if ($150) {
$$2$i = $$081$i;$$284$i = $$082$i;
} else {
__gcry_log_debug(66657,$vararg_buffer8);
$$2$i = $$081$i;$$284$i = $$082$i;
}
}
} while(0);
__gcry_mpi_point_free_parts($8);
$163 = $63 & 16384;
$164 = ($163|0)==(0);
do {
if ($164) {
$165 = HEAP32[$11>>2]|0;
$166 = ($165|0)==(1);
$167 = (($66) + -64)|0;
if (!($166)) {
$168 = (__gcry_mpi_new($167)|0);
$169 = (__gcry_mpi_new($167)|0);
$170 = (__gcry_mpi_new($167)|0);
$171 = (__gcry_mpi_new($167)|0);
$172 = (__gcry_mpi_new($167)|0);
$173 = (__gcry_get_debug_flag(1)|0);
$174 = ($173|0)==(0);
if (!($174)) {
__gcry_log_debug(66750,$vararg_buffer12);
}
__gcry_mpi_point_init($6);
dest=$$byval_copy; src=$11; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
__gcry_ecc_curve_copy($7,$$byval_copy);
dest=$5; src=$7; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
$175 = ((($5)) + 44|0);
__gcry_mpi_point_init($175);
$176 = HEAP32[$175>>2]|0;
$177 = ((($11)) + 44|0);
$178 = HEAP32[$177>>2]|0;
(__gcry_mpi_set($176,$178)|0);
$179 = ((($5)) + 48|0);
$180 = HEAP32[$179>>2]|0;
$181 = ((($11)) + 48|0);
$182 = HEAP32[$181>>2]|0;
(__gcry_mpi_set($180,$182)|0);
$183 = ((($5)) + 52|0);
$184 = HEAP32[$183>>2]|0;
$185 = ((($11)) + 52|0);
$186 = HEAP32[$185>>2]|0;
(__gcry_mpi_set($184,$186)|0);
__gcry_mpi_randomize($168,$167,0);
$187 = (__gcry_ecc_ecdsa_sign($168,$11,$171,$172,0,0)|0);
$188 = ($187|0)==(0);
if (!($188)) {
__gcry_log_fatal(66764,$vararg_buffer14);
// unreachable;
}
$189 = (__gcry_ecc_ecdsa_verify($168,$5,$171,$172)|0);
$190 = ($189|0)==(0);
if (!($190)) {
__gcry_log_fatal(66794,$vararg_buffer16);
// unreachable;
}
$191 = (__gcry_get_debug_flag(1)|0);
$192 = ($191|0)==(0);
if (!($192)) {
__gcry_log_debug(66832,$vararg_buffer18);
}
__gcry_mpi_point_free_parts($175);
__gcry_ecc_curve_free($5);
__gcry_mpi_point_free_parts($6);
__gcry_mpi_free($172);
__gcry_mpi_free($171);
__gcry_mpi_free($170);
__gcry_mpi_free($169);
__gcry_mpi_free($168);
break;
}
$193 = (__gcry_get_debug_flag(1)|0);
$194 = ($193|0)==(0);
if (!($194)) {
__gcry_log_debug(66750,$vararg_buffer20);
}
__gcry_mpi_point_init($3);
dest=$$byval_copy71; src=$11; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
__gcry_ecc_curve_copy($4,$$byval_copy71);
dest=$2; src=$4; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
$195 = ((($2)) + 44|0);
__gcry_mpi_point_init($195);
$196 = HEAP32[$195>>2]|0;
$197 = ((($11)) + 44|0);
$198 = HEAP32[$197>>2]|0;
(__gcry_mpi_set($196,$198)|0);
$199 = ((($2)) + 48|0);
$200 = HEAP32[$199>>2]|0;
$201 = ((($11)) + 48|0);
$202 = HEAP32[$201>>2]|0;
(__gcry_mpi_set($200,$202)|0);
$203 = ((($2)) + 52|0);
$204 = HEAP32[$203>>2]|0;
$205 = ((($11)) + 52|0);
$206 = HEAP32[$205>>2]|0;
(__gcry_mpi_set($204,$206)|0);
$207 = HEAP32[$93>>2]|0;
$208 = ($207|0)==(1);
if ($208) {
$209 = (__gcry_mpi_new(256)|0);
$210 = (__gcry_random_bytes(32,0)|0);
$211 = HEAP8[$210>>0]|0;
$212 = $211 & 63;
$213 = $212 | 64;
HEAP8[$210>>0] = $213;
$214 = ((($210)) + 31|0);
$215 = HEAP8[$214>>0]|0;
$216 = $215 & -8;
HEAP8[$214>>0] = $216;
__gcry_mpi_set_buffer($209,$210,32,0);
__gcry_free($210);
$$0$i$i = $209;
} else {
$217 = (__gcry_mpi_new($167)|0);
__gcry_mpi_randomize($217,$167,0);
$$0$i$i = $217;
}
$218 = HEAP32[$2>>2]|0;
$219 = ((($2)) + 4|0);
$220 = HEAP32[$219>>2]|0;
$221 = ((($2)) + 8|0);
$222 = HEAP32[$221>>2]|0;
$223 = ((($2)) + 12|0);
$224 = HEAP32[$223>>2]|0;
$225 = ((($2)) + 16|0);
$226 = HEAP32[$225>>2]|0;
$227 = (__gcry_mpi_ec_p_internal_new($218,$220,0,$222,$224,$226)|0);
$228 = (__gcry_mpi_new(0)|0);
$229 = (__gcry_mpi_new(0)|0);
__gcry_mpi_ec_mul_point($3,$$0$i$i,$195,$227);
$230 = HEAP32[$93>>2]|0;
$231 = ($230|0)==(1);
if (!($231)) {
$232 = ((($227)) + 36|0);
$233 = HEAP32[$232>>2]|0;
__gcry_mpi_ec_mul_point($3,$233,$3,$227);
}
$234 = (__gcry_mpi_ec_get_affine($228,0,$3,$227)|0);
$235 = ($234|0)==(0);
if (!($235)) {
__gcry_log_fatal(66867,$vararg_buffer22);
// unreachable;
}
$236 = ((($2)) + 20|0);
__gcry_mpi_ec_mul_point($3,$$0$i$i,$236,$227);
$237 = HEAP32[$$pre$phi$iZ2D>>2]|0;
__gcry_mpi_ec_mul_point($3,$237,$3,$227);
$238 = HEAP32[$93>>2]|0;
$239 = ($238|0)==(1);
if (!($239)) {
$240 = ((($227)) + 36|0);
$241 = HEAP32[$240>>2]|0;
__gcry_mpi_ec_mul_point($3,$241,$3,$227);
}
$242 = (__gcry_mpi_ec_get_affine($229,0,$3,$227)|0);
$243 = ($242|0)==(0);
if (!($243)) {
__gcry_log_fatal(66915,$vararg_buffer24);
// unreachable;
}
$244 = (__gcry_mpi_cmp($228,$229)|0);
$245 = ($244|0)==(0);
if ($245) {
__gcry_mpi_free($228);
__gcry_mpi_free($229);
__gcry_mpi_ec_free($227);
__gcry_mpi_point_free_parts($195);
__gcry_ecc_curve_free($2);
__gcry_mpi_point_free_parts($3);
__gcry_mpi_free($$0$i$i);
break;
} else {
__gcry_log_fatal(66964,$vararg_buffer26);
// unreachable;
}
}
} while(0);
$$0102110 = $$284$i;$$0105109 = $$2$i;$$pre$phi124Z2D = $103;
} else {
$246 = (__gcry_ecc_eddsa_genkey($11,$10,$62,$63)|0);
$247 = ($246|0)==(0);
if (!($247)) {
$$076 = 0;$$078 = 0;$$079 = $62;$$081 = 0;$$082 = 0;$$2 = 0;$$285 = $246;$$3 = 0;$$3108 = 0;
break;
}
$$pre123 = ((($11)) + 20|0);
$$0102110 = 0;$$0105109 = 0;$$pre$phi124Z2D = $$pre123;
}
$248 = (__gcry_mpi_new(0)|0);
$249 = (__gcry_mpi_new(0)|0);
$250 = (__gcry_mpi_ec_get_affine($248,$249,$$pre$phi124Z2D,$62)|0);
$251 = ($250|0)==(0);
if (!($251)) {
HEAP32[$vararg_buffer28>>2] = 66983;
__gcry_log_fatal(66607,$vararg_buffer28);
// unreachable;
}
$252 = ((($11)) + 8|0);
$253 = HEAP32[$252>>2]|0;
$254 = (__gcry_ecc_ec2os($248,$249,$253)|0);
$255 = ((($11)) + 4|0);
$256 = HEAP32[$255>>2]|0;
$257 = ($256|0)==(1);
do {
if ($257) {
$258 = HEAP32[$14>>2]|0;
$259 = $258 & 2048;
$260 = ($259|0)==(0);
if ($260) {
$261 = ((($11)) + 44|0);
$262 = $258 >>> 10;
$$lobit = $262 & 1;
$263 = (__gcry_ecc_eddsa_encodepoint($261,$62,$248,$249,$$lobit,$15,$16)|0);
$264 = ($263|0)==(0);
if ($264) {
$265 = (__gcry_mpi_new(0)|0);
$266 = HEAP32[$15>>2]|0;
$267 = HEAP32[$16>>2]|0;
$268 = $267 << 3;
(__gcry_mpi_set_opaque($265,$266,$268)|0);
$$1 = $265;$$2104 = $$0102110;$$2107 = $$0105109;
break;
}
$$187 = $263;
STACKTOP = sp;return ($$187|0);
} else {
label = 71;
}
} else {
label = 71;
}
} while(0);
if ((label|0) == 71) {
$269 = ($$0105109|0)==(0|0);
if ($269) {
$270 = (__gcry_mpi_new(0)|0);
$271 = (__gcry_mpi_new(0)|0);
$272 = ((($11)) + 44|0);
$273 = (__gcry_mpi_ec_get_affine($270,$271,$272,$62)|0);
$274 = ($273|0)==(0);
if ($274) {
$$1103 = $271;$$1106 = $270;
} else {
HEAP32[$vararg_buffer31>>2] = 66655;
__gcry_log_fatal(66607,$vararg_buffer31);
// unreachable;
}
} else {
$$1103 = $$0102110;$$1106 = $$0105109;
}
$275 = HEAP32[$252>>2]|0;
$276 = (__gcry_ecc_ec2os($$1106,$$1103,$275)|0);
$$1 = $276;$$2104 = $$1103;$$2107 = $$1106;
}
$277 = ((($11)) + 56|0);
$278 = HEAP32[$277>>2]|0;
HEAP32[$277>>2] = 0;
$279 = ((($10)) + 40|0);
$280 = HEAP32[$279>>2]|0;
$281 = ($280|0)==(0|0);
if (!($281)) {
HEAP32[$vararg_buffer34>>2] = $280;
$282 = (__gcry_sexp_build($12,0,66985,$vararg_buffer34)|0);
$283 = ($282|0)==(0);
if (!($283)) {
$$076 = $278;$$078 = $254;$$079 = $62;$$081 = $249;$$082 = $248;$$2 = $$1;$$285 = $282;$$3 = $$2104;$$3108 = $$2107;
break;
}
}
$284 = HEAP32[$14>>2]|0;
$285 = $284 & 4608;
$286 = ($285|0)==(0);
if ($286) {
$294 = $284;
} else {
$287 = $284 & 512;
$288 = ($287|0)==(0);
$289 = ($285|0)==(4608);
$290 = $288 ? 66996 : 67010;
$spec$select = $289 ? 67024 : $290;
$291 = (__gcry_sexp_build($13,0,$spec$select,$vararg_buffer37)|0);
$292 = ($291|0)==(0);
if (!($292)) {
$$076 = $278;$$078 = $254;$$079 = $62;$$081 = $249;$$082 = $248;$$2 = $$1;$$285 = $291;$$3 = $$2104;$$3108 = $$2107;
break;
}
$$pre = HEAP32[$14>>2]|0;
$294 = $$pre;
}
$293 = $294 & 512;
$295 = ($293|0)==(0);
$296 = HEAP32[$279>>2]|0;
$297 = ($296|0)==(0|0);
$or$cond93 = $295 | $297;
$298 = HEAP32[$12>>2]|0;
$299 = HEAP32[$13>>2]|0;
if ($or$cond93) {
HEAP32[$vararg_buffer60>>2] = $298;
$vararg_ptr63 = ((($vararg_buffer60)) + 4|0);
HEAP32[$vararg_ptr63>>2] = $299;
$vararg_ptr64 = ((($vararg_buffer60)) + 8|0);
HEAP32[$vararg_ptr64>>2] = $$1;
$vararg_ptr65 = ((($vararg_buffer60)) + 12|0);
HEAP32[$vararg_ptr65>>2] = $298;
$vararg_ptr66 = ((($vararg_buffer60)) + 16|0);
HEAP32[$vararg_ptr66>>2] = $299;
$vararg_ptr67 = ((($vararg_buffer60)) + 20|0);
HEAP32[$vararg_ptr67>>2] = $$1;
$vararg_ptr68 = ((($vararg_buffer60)) + 24|0);
HEAP32[$vararg_ptr68>>2] = $278;
$310 = (__gcry_sexp_build($1,0,67180,$vararg_buffer60)|0);
$$184 = $310;
} else {
$300 = HEAP32[$252>>2]|0;
$301 = ((($11)) + 12|0);
$302 = HEAP32[$301>>2]|0;
$303 = ((($11)) + 16|0);
$304 = HEAP32[$303>>2]|0;
$305 = ((($11)) + 32|0);
$306 = HEAP32[$305>>2]|0;
$307 = ((($11)) + 36|0);
$308 = HEAP32[$307>>2]|0;
HEAP32[$vararg_buffer39>>2] = $298;
$vararg_ptr42 = ((($vararg_buffer39)) + 4|0);
HEAP32[$vararg_ptr42>>2] = $299;
$vararg_ptr43 = ((($vararg_buffer39)) + 8|0);
HEAP32[$vararg_ptr43>>2] = $300;
$vararg_ptr44 = ((($vararg_buffer39)) + 12|0);
HEAP32[$vararg_ptr44>>2] = $302;
$vararg_ptr45 = ((($vararg_buffer39)) + 16|0);
HEAP32[$vararg_ptr45>>2] = $304;
$vararg_ptr46 = ((($vararg_buffer39)) + 20|0);
HEAP32[$vararg_ptr46>>2] = $254;
$vararg_ptr47 = ((($vararg_buffer39)) + 24|0);
HEAP32[$vararg_ptr47>>2] = $306;
$vararg_ptr48 = ((($vararg_buffer39)) + 28|0);
HEAP32[$vararg_ptr48>>2] = $308;
$vararg_ptr49 = ((($vararg_buffer39)) + 32|0);
HEAP32[$vararg_ptr49>>2] = $$1;
$vararg_ptr50 = ((($vararg_buffer39)) + 36|0);
HEAP32[$vararg_ptr50>>2] = $298;
$vararg_ptr51 = ((($vararg_buffer39)) + 40|0);
HEAP32[$vararg_ptr51>>2] = $299;
$vararg_ptr52 = ((($vararg_buffer39)) + 44|0);
HEAP32[$vararg_ptr52>>2] = $300;
$vararg_ptr53 = ((($vararg_buffer39)) + 48|0);
HEAP32[$vararg_ptr53>>2] = $302;
$vararg_ptr54 = ((($vararg_buffer39)) + 52|0);
HEAP32[$vararg_ptr54>>2] = $304;
$vararg_ptr55 = ((($vararg_buffer39)) + 56|0);
HEAP32[$vararg_ptr55>>2] = $254;
$vararg_ptr56 = ((($vararg_buffer39)) + 60|0);
HEAP32[$vararg_ptr56>>2] = $306;
$vararg_ptr57 = ((($vararg_buffer39)) + 64|0);
HEAP32[$vararg_ptr57>>2] = $308;
$vararg_ptr58 = ((($vararg_buffer39)) + 68|0);
HEAP32[$vararg_ptr58>>2] = $$1;
$vararg_ptr59 = ((($vararg_buffer39)) + 72|0);
HEAP32[$vararg_ptr59>>2] = $278;
$309 = (__gcry_sexp_build($1,0,67044,$vararg_buffer39)|0);
$$184 = $309;
}
$311 = ($$184|0)==(0);
if ($311) {
$312 = (__gcry_get_debug_flag(1)|0);
$313 = ($312|0)==(0);
if ($313) {
$$076 = $278;$$078 = $254;$$079 = $62;$$081 = $249;$$082 = $248;$$2 = $$1;$$285 = 0;$$3 = $$2104;$$3108 = $$2107;
} else {
$314 = HEAP32[$252>>2]|0;
__gcry_log_printmpi(67256,$314);
$315 = ((($11)) + 12|0);
$316 = HEAP32[$315>>2]|0;
__gcry_log_printmpi(67272,$316);
$317 = ((($11)) + 16|0);
$318 = HEAP32[$317>>2]|0;
__gcry_log_printmpi(67288,$318);
__gcry_log_printmpi(67304,$254);
$319 = ((($11)) + 32|0);
$320 = HEAP32[$319>>2]|0;
__gcry_log_printmpi(67320,$320);
$321 = ((($11)) + 36|0);
$322 = HEAP32[$321>>2]|0;
__gcry_log_printmpi(67336,$322);
__gcry_log_printmpi(67352,$$1);
__gcry_log_printmpi(67368,$278);
$323 = HEAP32[$14>>2]|0;
$324 = $323 & 4096;
$325 = ($324|0)==(0);
if ($325) {
$$076 = $278;$$078 = $254;$$079 = $62;$$081 = $249;$$082 = $248;$$2 = $$1;$$285 = 0;$$3 = $$2104;$$3108 = $$2107;
} else {
__gcry_log_debug(67384,$vararg_buffer69);
$$076 = $278;$$078 = $254;$$079 = $62;$$081 = $249;$$082 = $248;$$2 = $$1;$$285 = 0;$$3 = $$2104;$$3108 = $$2107;
}
}
} else {
$$076 = $278;$$078 = $254;$$079 = $62;$$081 = $249;$$082 = $248;$$2 = $$1;$$285 = $$184;$$3 = $$2104;$$3108 = $$2107;
}
} else {
$$076 = 0;$$078 = 0;$$079 = 0;$$081 = 0;$$082 = 0;$$2 = 0;$$285 = $34;$$3 = 0;$$3108 = 0;
}
}
} while(0);
__gcry_mpi_free($$076);
__gcry_mpi_free($$2);
__gcry_mpi_free($$078);
__gcry_ecc_curve_free($11);
$326 = ((($11)) + 44|0);
__gcry_mpi_point_free_parts($326);
$327 = ((($11)) + 56|0);
$328 = HEAP32[$327>>2]|0;
__gcry_mpi_free($328);
__gcry_ecc_curve_free($10);
__gcry_mpi_free($$082);
__gcry_mpi_free($$081);
__gcry_mpi_free($$3108);
__gcry_mpi_free($$3);
__gcry_mpi_ec_free($$079);
$329 = HEAP32[$13>>2]|0;
__gcry_sexp_release($329);
$330 = HEAP32[$12>>2]|0;
__gcry_sexp_release($330);
$$187 = $$285;
STACKTOP = sp;return ($$187|0);
}
function _ecc_check_secret_key($0) {
$0 = $0|0;
var $$0 = 0, $$032 = 0, $$033 = 0, $$034 = 0, $$036 = 0, $$045$i = 0, $$046$i = 0, $$1 = 0, $$1$i = 0, $$135 = 0, $$144$i = 0, $$2 = 0, $$lobit = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre38 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0;
var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $2 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer33 = 0, $vararg_buffer35 = 0, $vararg_buffer37 = 0, $vararg_buffer39 = 0;
var $vararg_buffer9 = 0, $vararg_ptr1 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0);
$vararg_buffer39 = sp + 144|0;
$vararg_buffer37 = sp + 136|0;
$vararg_buffer35 = sp + 128|0;
$vararg_buffer33 = sp + 120|0;
$vararg_buffer31 = sp + 112|0;
$vararg_buffer29 = sp + 104|0;
$vararg_buffer27 = sp + 96|0;
$vararg_buffer25 = sp + 88|0;
$vararg_buffer23 = sp + 80|0;
$vararg_buffer21 = sp + 72|0;
$vararg_buffer18 = sp + 64|0;
$vararg_buffer14 = sp + 56|0;
$vararg_buffer9 = sp + 40|0;
$vararg_buffer = sp;
$1 = sp + 220|0;
$2 = sp + 216|0;
$3 = sp + 212|0;
$4 = sp + 208|0;
$5 = sp + 148|0;
HEAP32[$2>>2] = 0;
HEAP32[$3>>2] = 0;
HEAP32[$4>>2] = 0;
dest=$5; stop=dest+60|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$6 = (__gcry_sexp_find_token($0,64705,0)|0);
$7 = ($6|0)==(0|0);
if ($7) {
label = 5;
} else {
$8 = (__gcry_pk_util_parse_flaglist($6,$2,0)|0);
$9 = ($8|0)==(0);
if ($9) {
$$pre = HEAP32[$2>>2]|0;
$10 = $$pre & 512;
$11 = ($10|0)==(0);
if ($11) {
label = 5;
} else {
$12 = ((($5)) + 8|0);
$13 = ((($5)) + 12|0);
$14 = ((($5)) + 16|0);
$15 = ((($5)) + 32|0);
$16 = ((($5)) + 36|0);
$17 = ((($5)) + 56|0);
HEAP32[$vararg_buffer>>2] = $12;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $13;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $14;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $3;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $15;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = $16;
$vararg_ptr6 = ((($vararg_buffer)) + 24|0);
HEAP32[$vararg_ptr6>>2] = $4;
$vararg_ptr7 = ((($vararg_buffer)) + 28|0);
HEAP32[$vararg_ptr7>>2] = $17;
$vararg_ptr8 = ((($vararg_buffer)) + 32|0);
HEAP32[$vararg_ptr8>>2] = 0;
$18 = (__gcry_sexp_extract_param($0,0,65045,$vararg_buffer)|0);
$$034 = $18;
label = 6;
}
} else {
$$0 = 0;$$033 = $6;$$1 = 0;$$2 = $8;
}
}
if ((label|0) == 5) {
$19 = ((($5)) + 56|0);
HEAP32[$vararg_buffer9>>2] = $4;
$vararg_ptr12 = ((($vararg_buffer9)) + 4|0);
HEAP32[$vararg_ptr12>>2] = $19;
$vararg_ptr13 = ((($vararg_buffer9)) + 8|0);
HEAP32[$vararg_ptr13>>2] = 0;
$20 = (__gcry_sexp_extract_param($0,0,65064,$vararg_buffer9)|0);
$$034 = $20;
label = 6;
}
do {
if ((label|0) == 6) {
$21 = ($$034|0)==(0);
if ($21) {
__gcry_sexp_release($6);
$22 = (__gcry_sexp_find_token($0,64745,5)|0);
$23 = ($22|0)==(0|0);
if ($23) {
$$032 = 0;
} else {
$24 = (__gcry_sexp_nth_string($22,1)|0);
$25 = ($24|0)==(0|0);
if ($25) {
$$032 = 0;
} else {
$26 = ((($5)) + 4|0);
$27 = ((($5)) + 8|0);
$28 = ((($5)) + 12|0);
$29 = ((($5)) + 16|0);
$30 = ((($5)) + 32|0);
$31 = ((($5)) + 36|0);
$32 = (__gcry_ecc_update_curve_param($24,$5,$26,$27,$28,$29,$3,$30,$31)|0);
$33 = ($32|0)==(0);
if ($33) {
$$032 = $24;
} else {
$$036 = $32;
STACKTOP = sp;return ($$036|0);
}
}
}
$34 = HEAP32[$3>>2]|0;
$35 = ($34|0)==(0|0);
if (!($35)) {
$36 = ((($5)) + 20|0);
__gcry_mpi_point_init($36);
$37 = HEAP32[$3>>2]|0;
$38 = (__gcry_ecc_os2ec($36,$37)|0);
$39 = ($38|0)==(0);
if (!($39)) {
$$0 = 0;$$033 = $22;$$1 = $$032;$$2 = $38;
break;
}
}
$40 = ($$032|0)==(0|0);
if ($40) {
$41 = HEAP32[$2>>2]|0;
$42 = $41 >>> 11;
$43 = $42 & 2;
HEAP32[$5>>2] = $43;
$44 = $41 >>> 12;
$$lobit = $44 & 1;
$45 = ((($5)) + 4|0);
HEAP32[$45>>2] = $$lobit;
}
$46 = (__gcry_get_debug_flag(1)|0);
$47 = ($46|0)==(0);
if ($47) {
$$pre38 = ((($5)) + 8|0);
$$pre$phiZ2D = $$pre38;
} else {
$48 = HEAP32[$5>>2]|0;
$49 = (__gcry_ecc_model2str($48)|0);
$50 = ((($5)) + 4|0);
$51 = HEAP32[$50>>2]|0;
$52 = (__gcry_ecc_dialect2str($51)|0);
HEAP32[$vararg_buffer14>>2] = $49;
$vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
HEAP32[$vararg_ptr17>>2] = $52;
__gcry_log_debug(65973,$vararg_buffer14);
$53 = ((($5)) + 40|0);
$54 = HEAP32[$53>>2]|0;
$55 = ($54|0)==(0|0);
if (!($55)) {
HEAP32[$vararg_buffer18>>2] = $54;
__gcry_log_debug(65997,$vararg_buffer18);
}
$56 = ((($5)) + 8|0);
$57 = HEAP32[$56>>2]|0;
__gcry_log_printmpi(66018,$57);
$58 = ((($5)) + 12|0);
$59 = HEAP32[$58>>2]|0;
__gcry_log_printmpi(66034,$59);
$60 = ((($5)) + 16|0);
$61 = HEAP32[$60>>2]|0;
__gcry_log_printmpi(66050,$61);
$62 = ((($5)) + 20|0);
__gcry_mpi_point_log(66066,$62,0);
$63 = ((($5)) + 32|0);
$64 = HEAP32[$63>>2]|0;
__gcry_log_printmpi(66080,$64);
$65 = ((($5)) + 36|0);
$66 = HEAP32[$65>>2]|0;
__gcry_log_printmpi(66096,$66);
$67 = HEAP32[$4>>2]|0;
__gcry_log_printmpi(66112,$67);
$68 = (__gcry_fips_mode()|0);
$69 = ($68|0)==(0);
if ($69) {
$70 = ((($5)) + 56|0);
$71 = HEAP32[$70>>2]|0;
__gcry_log_printmpi(66128,$71);
$$pre$phiZ2D = $56;
} else {
$$pre$phiZ2D = $56;
}
}
$72 = HEAP32[$$pre$phiZ2D>>2]|0;
$73 = ($72|0)==(0|0);
if ($73) {
$$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
} else {
$74 = ((($5)) + 12|0);
$75 = HEAP32[$74>>2]|0;
$76 = ($75|0)==(0|0);
if ($76) {
$$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
} else {
$77 = ((($5)) + 16|0);
$78 = HEAP32[$77>>2]|0;
$79 = ($78|0)==(0|0);
if ($79) {
$$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
} else {
$80 = ((($5)) + 20|0);
$81 = HEAP32[$80>>2]|0;
$82 = ($81|0)==(0|0);
if ($82) {
$$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
} else {
$83 = ((($5)) + 32|0);
$84 = HEAP32[$83>>2]|0;
$85 = ($84|0)==(0|0);
if ($85) {
$$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
} else {
$86 = ((($5)) + 36|0);
$87 = HEAP32[$86>>2]|0;
$88 = ($87|0)==(0|0);
if ($88) {
$$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
} else {
$89 = ((($5)) + 56|0);
$90 = HEAP32[$89>>2]|0;
$91 = ($90|0)==(0|0);
if ($91) {
$$0 = 0;$$033 = $22;$$1 = $$032;$$2 = 68;
} else {
$92 = HEAP32[$5>>2]|0;
$93 = ((($5)) + 4|0);
$94 = HEAP32[$93>>2]|0;
$95 = (__gcry_mpi_ec_p_internal_new($92,$94,0,$72,$75,$78)|0);
$96 = HEAP32[$4>>2]|0;
$97 = ($96|0)==(0|0);
if ($97) {
$$0 = $95;$$033 = $22;$$1 = $$032;$$2 = 68;
} else {
$98 = ((($5)) + 44|0);
__gcry_mpi_point_init($98);
$99 = ((($95)) + 4|0);
$100 = HEAP32[$99>>2]|0;
$101 = ($100|0)==(1);
$102 = HEAP32[$4>>2]|0;
if ($101) {
$103 = (__gcry_ecc_eddsa_decodepoint($102,$95,$98,0,0)|0);
$$135 = $103;
} else {
$104 = (__gcry_ecc_os2ec($98,$102)|0);
$$135 = $104;
}
$105 = ($$135|0)==(0);
if ($105) {
$106 = HEAP32[$2>>2]|0;
__gcry_mpi_point_init($1);
$107 = (__gcry_mpi_new(0)|0);
$108 = HEAP32[$95>>2]|0;
$109 = ($108|0)==(1);
if ($109) {
$$045$i = 0;
} else {
$110 = (__gcry_mpi_new(0)|0);
$$045$i = $110;
}
$111 = ((($5)) + 20|0);
$112 = (__gcry_mpi_ec_curve_point($111,$95)|0);
$113 = ($112|0)==(0);
L45: do {
if ($113) {
$114 = (__gcry_get_debug_flag(1)|0);
$115 = ($114|0)==(0);
if ($115) {
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break;
}
__gcry_log_debug(66144,$vararg_buffer21);
$$046$i = 7;$$1$i = 0;$$144$i = 0;
} else {
$116 = ((($5)) + 28|0);
$117 = HEAP32[$116>>2]|0;
$118 = (__gcry_mpi_cmp_ui($117,0)|0);
$119 = ($118|0)==(0);
if ($119) {
$120 = (__gcry_get_debug_flag(1)|0);
$121 = ($120|0)==(0);
if ($121) {
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break;
}
__gcry_log_debug(66196,$vararg_buffer23);
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break;
}
$122 = HEAP32[$93>>2]|0;
$123 = ($122|0)==(1);
do {
if (!($123)) {
$124 = HEAP32[$83>>2]|0;
__gcry_mpi_ec_mul_point($1,$124,$111,$95);
$125 = ((($1)) + 8|0);
$126 = HEAP32[$125>>2]|0;
$127 = (__gcry_mpi_cmp_ui($126,0)|0);
$128 = ($127|0)==(0);
if ($128) {
break;
}
$129 = (__gcry_get_debug_flag(1)|0);
$130 = ($129|0)==(0);
if ($130) {
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break L45;
}
__gcry_log_debug(66241,$vararg_buffer25);
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break L45;
}
} while(0);
$131 = ((($5)) + 52|0);
$132 = HEAP32[$131>>2]|0;
$133 = (__gcry_mpi_cmp_ui($132,0)|0);
$134 = ($133|0)==(0);
if ($134) {
$135 = (__gcry_get_debug_flag(1)|0);
$136 = ($135|0)==(0);
if ($136) {
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break;
}
__gcry_log_debug(66288,$vararg_buffer27);
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break;
}
$137 = HEAP32[$89>>2]|0;
$138 = (__gcry_ecc_compute_public($1,$95,$111,$137)|0);
$139 = ($138|0)==(0|0);
if ($139) {
$140 = (__gcry_get_debug_flag(1)|0);
$141 = ($140|0)==(0);
if ($141) {
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break;
}
__gcry_log_debug(66334,$vararg_buffer29);
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break;
}
$142 = (__gcry_mpi_ec_get_affine($107,$$045$i,$1,$95)|0);
$143 = ($142|0)==(0);
if (!($143)) {
$144 = (__gcry_get_debug_flag(1)|0);
$145 = ($144|0)==(0);
if ($145) {
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break;
}
__gcry_log_debug(66288,$vararg_buffer31);
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break;
}
$146 = $106 & 4096;
$147 = ($146|0)==(0);
if (!($147)) {
$$046$i = 0;$$1$i = 0;$$144$i = 0;
break;
}
$148 = HEAP32[$131>>2]|0;
$149 = (__gcry_mpi_cmp_ui($148,1)|0);
$150 = ($149|0)==(0);
if ($150) {
$151 = HEAP32[$98>>2]|0;
$152 = (__gcry_mpi_cmp($107,$151)|0);
$153 = ($152|0)==(0);
if ($153) {
$154 = ($$045$i|0)==(0|0);
if (!($154)) {
$$046$i = 0;$$1$i = 0;$$144$i = 0;
break;
}
$155 = ((($5)) + 48|0);
$156 = HEAP32[$155>>2]|0;
$157 = (__gcry_mpi_cmp(0,$156)|0);
$158 = ($157|0)==(0);
if ($158) {
$$046$i = 0;$$1$i = 0;$$144$i = 0;
break;
}
}
$159 = (__gcry_get_debug_flag(1)|0);
$160 = ($159|0)==(0);
if ($160) {
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break;
}
__gcry_log_debug(66371,$vararg_buffer33);
$$046$i = 7;$$1$i = 0;$$144$i = 0;
break;
}
$161 = (__gcry_mpi_new(0)|0);
$162 = (__gcry_mpi_new(0)|0);
$163 = (__gcry_mpi_ec_get_affine($161,$162,$98,$95)|0);
$164 = ($163|0)==(0);
if (!($164)) {
$165 = (__gcry_get_debug_flag(1)|0);
$166 = ($165|0)==(0);
if ($166) {
$$046$i = 7;$$1$i = $162;$$144$i = $161;
break;
}
__gcry_log_debug(66288,$vararg_buffer35);
$$046$i = 7;$$1$i = $162;$$144$i = $161;
break;
}
$167 = (__gcry_mpi_cmp($107,$161)|0);
$168 = ($167|0)==(0);
if ($168) {
$169 = (__gcry_mpi_cmp($$045$i,$162)|0);
$170 = ($169|0)==(0);
if ($170) {
$$046$i = 0;$$1$i = $162;$$144$i = $161;
break;
}
}
$171 = (__gcry_get_debug_flag(1)|0);
$172 = ($171|0)==(0);
if ($172) {
$$046$i = 7;$$1$i = $162;$$144$i = $161;
break;
}
__gcry_log_debug(66371,$vararg_buffer37);
$$046$i = 7;$$1$i = $162;$$144$i = $161;
}
} while(0);
__gcry_mpi_free($$144$i);
__gcry_mpi_free($107);
__gcry_mpi_free($$045$i);
__gcry_mpi_free($$1$i);
__gcry_mpi_point_free_parts($1);
$$0 = $95;$$033 = $22;$$1 = $$032;$$2 = $$046$i;
} else {
$$0 = $95;$$033 = $22;$$1 = $$032;$$2 = $$135;
}
}
}
}
}
}
}
}
}
} else {
$$0 = 0;$$033 = $6;$$1 = 0;$$2 = $$034;
}
}
} while(0);
__gcry_mpi_ec_free($$0);
$173 = ((($5)) + 8|0);
$174 = HEAP32[$173>>2]|0;
__gcry_mpi_release($174);
$175 = ((($5)) + 12|0);
$176 = HEAP32[$175>>2]|0;
__gcry_mpi_release($176);
$177 = ((($5)) + 16|0);
$178 = HEAP32[$177>>2]|0;
__gcry_mpi_release($178);
$179 = HEAP32[$3>>2]|0;
__gcry_mpi_release($179);
$180 = ((($5)) + 20|0);
__gcry_mpi_point_free_parts($180);
$181 = ((($5)) + 32|0);
$182 = HEAP32[$181>>2]|0;
__gcry_mpi_release($182);
$183 = ((($5)) + 36|0);
$184 = HEAP32[$183>>2]|0;
__gcry_mpi_release($184);
$185 = HEAP32[$4>>2]|0;
__gcry_mpi_release($185);
$186 = ((($5)) + 44|0);
__gcry_mpi_point_free_parts($186);
$187 = ((($5)) + 56|0);
$188 = HEAP32[$187>>2]|0;
__gcry_mpi_release($188);
__gcry_free($$1);
__gcry_sexp_release($$033);
$189 = (__gcry_get_debug_flag(1)|0);
$190 = ($189|0)==(0);
if ($190) {
$$036 = $$2;
STACKTOP = sp;return ($$036|0);
}
$191 = (_gpg_strerror($$2)|0);
HEAP32[$vararg_buffer39>>2] = $191;
__gcry_log_debug(66431,$vararg_buffer39);
$$036 = $$2;
STACKTOP = sp;return ($$036|0);
}
function _ecc_encrypt_raw($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$055 = 0, $$056 = 0, $$057 = 0, $$058 = 0, $$05966 = 0, $$1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0;
var $or$cond61 = 0, $or$cond63 = 0, $or$cond65 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr2 = 0, $vararg_ptr22 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, dest = 0;
var label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0);
$vararg_buffer23 = sp + 72|0;
$vararg_buffer19 = sp + 64|0;
$vararg_buffer17 = sp + 56|0;
$vararg_buffer15 = sp + 48|0;
$vararg_buffer12 = sp + 40|0;
$vararg_buffer8 = sp + 32|0;
$vararg_buffer = sp;
$3 = sp + 160|0;
$4 = sp + 152|0;
$5 = sp + 148|0;
$6 = sp + 144|0;
$7 = sp + 88|0;
$8 = sp + 76|0;
HEAP32[$4>>2] = 0;
HEAP32[$5>>2] = 0;
HEAP32[$6>>2] = 0;
dest=$7; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$9 = (_ecc_get_nbits($2)|0);
__gcry_pk_util_init_encoding_ctx($3,0,$9);
$10 = (__gcry_pk_util_data_to_mpi($1,$6,$3)|0);
$11 = ($10|0)==(0);
do {
if ($11) {
$12 = (__gcry_get_debug_flag(1)|0);
$13 = ($12|0)==(0);
if (!($13)) {
$14 = HEAP32[$6>>2]|0;
__gcry_log_printmpi(65633,$14);
}
$15 = HEAP32[$6>>2]|0;
$16 = ($15|0)==(0|0);
if (!($16)) {
$17 = ((($15)) + 12|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 & 4;
$20 = ($19|0)==(0);
if (!($20)) {
$$055 = 79;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = 0;
break;
}
}
$21 = ((($7)) + 8|0);
$22 = ((($7)) + 12|0);
$23 = ((($7)) + 16|0);
$24 = ((($7)) + 32|0);
$25 = ((($7)) + 36|0);
HEAP32[$vararg_buffer>>2] = $21;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $22;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $23;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $4;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $24;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = $25;
$vararg_ptr6 = ((($vararg_buffer)) + 24|0);
HEAP32[$vararg_ptr6>>2] = $5;
$vararg_ptr7 = ((($vararg_buffer)) + 28|0);
HEAP32[$vararg_ptr7>>2] = 0;
$26 = (__gcry_sexp_extract_param($2,0,65650,$vararg_buffer)|0);
$27 = ($26|0)==(0);
if ($27) {
$28 = HEAP32[$4>>2]|0;
$29 = ($28|0)==(0|0);
if (!($29)) {
$30 = ((($7)) + 20|0);
__gcry_mpi_point_init($30);
$31 = HEAP32[$4>>2]|0;
$32 = (__gcry_ecc_os2ec($30,$31)|0);
$33 = ($32|0)==(0);
if (!($33)) {
$$055 = $32;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = 0;
break;
}
}
__gcry_sexp_release(0);
$34 = (__gcry_sexp_find_token($2,64745,5)|0);
$35 = ($34|0)==(0|0);
if ($35) {
label = 12;
} else {
$36 = (__gcry_sexp_nth_string($34,1)|0);
$37 = ($36|0)==(0|0);
if ($37) {
label = 12;
} else {
$38 = (__gcry_ecc_fill_in_curve(0,$36,$7,0)|0);
$39 = ($38|0)==(0);
if ($39) {
$$05966 = $36;
} else {
$$0 = $38;
STACKTOP = sp;return ($$0|0);
}
}
}
if ((label|0) == 12) {
HEAP32[$7>>2] = 0;
$40 = ((($7)) + 4|0);
HEAP32[$40>>2] = 0;
$$05966 = 0;
}
$41 = (__gcry_get_debug_flag(1)|0);
$42 = ($41|0)==(0);
if (!($42)) {
$43 = HEAP32[$7>>2]|0;
$44 = (__gcry_ecc_model2str($43)|0);
$45 = ((($7)) + 4|0);
$46 = HEAP32[$45>>2]|0;
$47 = (__gcry_ecc_dialect2str($46)|0);
HEAP32[$vararg_buffer8>>2] = $44;
$vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
HEAP32[$vararg_ptr11>>2] = $47;
__gcry_log_debug(65666,$vararg_buffer8);
$48 = ((($7)) + 40|0);
$49 = HEAP32[$48>>2]|0;
$50 = ($49|0)==(0|0);
if (!($50)) {
HEAP32[$vararg_buffer12>>2] = $49;
__gcry_log_debug(65691,$vararg_buffer12);
}
$51 = HEAP32[$21>>2]|0;
__gcry_log_printmpi(65713,$51);
$52 = HEAP32[$22>>2]|0;
__gcry_log_printmpi(65730,$52);
$53 = HEAP32[$23>>2]|0;
__gcry_log_printmpi(65747,$53);
$54 = ((($7)) + 20|0);
__gcry_mpi_point_log(65764,$54,0);
$55 = HEAP32[$24>>2]|0;
__gcry_log_printmpi(65779,$55);
$56 = HEAP32[$25>>2]|0;
__gcry_log_printmpi(65796,$56);
$57 = HEAP32[$5>>2]|0;
__gcry_log_printmpi(65813,$57);
}
$58 = HEAP32[$21>>2]|0;
$59 = ($58|0)==(0|0);
$60 = HEAP32[$22>>2]|0;
$61 = ($60|0)==(0|0);
$or$cond61 = $59 | $61;
$62 = HEAP32[$23>>2]|0;
$63 = ($62|0)==(0|0);
$or$cond63 = $or$cond61 | $63;
if ($or$cond63) {
$$055 = 68;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = $$05966;
} else {
$64 = ((($7)) + 20|0);
$65 = HEAP32[$64>>2]|0;
$66 = ($65|0)==(0|0);
$67 = HEAP32[$24>>2]|0;
$68 = ($67|0)==(0|0);
$or$cond65 = $66 | $68;
if ($or$cond65) {
$$055 = 68;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = $$05966;
} else {
$69 = HEAP32[$25>>2]|0;
$70 = ($69|0)!=(0|0);
$71 = HEAP32[$5>>2]|0;
$72 = ($71|0)!=(0|0);
$or$cond = $70 & $72;
if ($or$cond) {
$73 = ((($7)) + 44|0);
__gcry_mpi_point_init($73);
$74 = HEAP32[$5>>2]|0;
$75 = (__gcry_ecc_os2ec($73,$74)|0);
$76 = ($75|0)==(0);
if ($76) {
$77 = HEAP32[$7>>2]|0;
$78 = ((($7)) + 4|0);
$79 = HEAP32[$78>>2]|0;
$80 = HEAP32[$21>>2]|0;
$81 = HEAP32[$22>>2]|0;
$82 = HEAP32[$23>>2]|0;
$83 = (__gcry_mpi_ec_p_internal_new($77,$79,0,$80,$81,$82)|0);
$84 = (__gcry_mpi_new(0)|0);
$85 = (__gcry_mpi_new(0)|0);
__gcry_mpi_point_init($8);
$86 = HEAP32[$6>>2]|0;
__gcry_mpi_ec_mul_point($8,$86,$73,$83);
$87 = (__gcry_mpi_ec_get_affine($84,$85,$8,$83)|0);
$88 = ($87|0)==(0);
if (!($88)) {
__gcry_log_fatal(65830,$vararg_buffer15);
// unreachable;
}
$89 = HEAP32[$21>>2]|0;
$90 = (__gcry_ecc_ec2os($84,$85,$89)|0);
$91 = HEAP32[$6>>2]|0;
__gcry_mpi_ec_mul_point($8,$91,$64,$83);
$92 = (__gcry_mpi_ec_get_affine($84,$85,$8,$83)|0);
$93 = ($92|0)==(0);
if ($93) {
$94 = HEAP32[$21>>2]|0;
$95 = (__gcry_ecc_ec2os($84,$85,$94)|0);
__gcry_mpi_free($84);
__gcry_mpi_free($85);
__gcry_mpi_point_free_parts($8);
HEAP32[$vararg_buffer19>>2] = $90;
$vararg_ptr22 = ((($vararg_buffer19)) + 4|0);
HEAP32[$vararg_ptr22>>2] = $95;
$96 = (__gcry_sexp_build($0,0,65925,$vararg_buffer19)|0);
$$055 = $96;$$056 = $83;$$057 = $95;$$058 = $90;$$1 = $$05966;
break;
} else {
__gcry_log_fatal(65878,$vararg_buffer17);
// unreachable;
}
} else {
$$055 = $75;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = $$05966;
}
} else {
$$055 = 68;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = $$05966;
}
}
}
} else {
$$055 = $26;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = 0;
}
} else {
$$055 = $10;$$056 = 0;$$057 = 0;$$058 = 0;$$1 = 0;
}
} while(0);
$97 = ((($7)) + 8|0);
$98 = HEAP32[$97>>2]|0;
__gcry_mpi_release($98);
$99 = ((($7)) + 12|0);
$100 = HEAP32[$99>>2]|0;
__gcry_mpi_release($100);
$101 = ((($7)) + 16|0);
$102 = HEAP32[$101>>2]|0;
__gcry_mpi_release($102);
$103 = HEAP32[$4>>2]|0;
__gcry_mpi_release($103);
$104 = ((($7)) + 20|0);
__gcry_mpi_point_free_parts($104);
$105 = ((($7)) + 32|0);
$106 = HEAP32[$105>>2]|0;
__gcry_mpi_release($106);
$107 = ((($7)) + 36|0);
$108 = HEAP32[$107>>2]|0;
__gcry_mpi_release($108);
$109 = HEAP32[$5>>2]|0;
__gcry_mpi_release($109);
$110 = ((($7)) + 44|0);
__gcry_mpi_point_free_parts($110);
$111 = HEAP32[$6>>2]|0;
__gcry_mpi_release($111);
__gcry_mpi_release($$058);
__gcry_mpi_release($$057);
__gcry_free($$1);
__gcry_mpi_ec_free($$056);
__gcry_pk_util_free_encoding_ctx($3);
$112 = (__gcry_get_debug_flag(1)|0);
$113 = ($112|0)==(0);
if ($113) {
$$0 = $$055;
STACKTOP = sp;return ($$0|0);
}
$114 = (_gpg_strerror($$055)|0);
HEAP32[$vararg_buffer23>>2] = $114;
__gcry_log_debug(65951,$vararg_buffer23);
$$0 = $$055;
STACKTOP = sp;return ($$0|0);
}
function _ecc_decrypt_raw($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$044 = 0, $$045 = 0, $$046 = 0, $$04758 = 0, $$1 = 0, $$148 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond51 = 0, $or$cond53 = 0, $or$cond55 = 0, $or$cond57 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer21 = 0, $vararg_buffer24 = 0, $vararg_ptr1 = 0;
var $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$vararg_buffer24 = sp + 72|0;
$vararg_buffer21 = sp + 64|0;
$vararg_buffer19 = sp + 56|0;
$vararg_buffer16 = sp + 48|0;
$vararg_buffer12 = sp + 40|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$3 = sp + 176|0;
$4 = sp + 168|0;
$5 = sp + 164|0;
$6 = sp + 104|0;
$7 = sp + 100|0;
$8 = sp + 88|0;
$9 = sp + 76|0;
HEAP32[$4>>2] = 0;
HEAP32[$5>>2] = 0;
HEAP32[$7>>2] = 0;
dest=$6; stop=dest+60|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
__gcry_mpi_point_init($8);
__gcry_mpi_point_init($9);
$10 = (_ecc_get_nbits($2)|0);
__gcry_pk_util_init_encoding_ctx($3,1,$10);
$11 = (__gcry_pk_util_preparse_encval($1,16256,$4,$3)|0);
$12 = ($11|0)==(0);
do {
if ($12) {
$13 = HEAP32[$4>>2]|0;
HEAP32[$vararg_buffer>>2] = $5;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 0;
$14 = (__gcry_sexp_extract_param($13,0,65344,$vararg_buffer)|0);
$15 = ($14|0)==(0);
if ($15) {
$16 = (__gcry_get_debug_flag(1)|0);
$17 = ($16|0)==(0);
if (!($17)) {
$18 = HEAP32[$5>>2]|0;
__gcry_log_printmpi(65346,$18);
}
$19 = HEAP32[$5>>2]|0;
$20 = ($19|0)==(0|0);
if (!($20)) {
$21 = ((($19)) + 12|0);
$22 = HEAP32[$21>>2]|0;
$23 = $22 & 4;
$24 = ($23|0)==(0);
if (!($24)) {
$$045 = 0;$$046 = 0;$$1 = 79;$$148 = 0;
break;
}
}
$25 = ((($6)) + 8|0);
$26 = ((($6)) + 12|0);
$27 = ((($6)) + 16|0);
$28 = ((($6)) + 32|0);
$29 = ((($6)) + 36|0);
$30 = ((($6)) + 56|0);
HEAP32[$vararg_buffer2>>2] = $25;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = $26;
$vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
HEAP32[$vararg_ptr6>>2] = $27;
$vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
HEAP32[$vararg_ptr7>>2] = $7;
$vararg_ptr8 = ((($vararg_buffer2)) + 16|0);
HEAP32[$vararg_ptr8>>2] = $28;
$vararg_ptr9 = ((($vararg_buffer2)) + 20|0);
HEAP32[$vararg_ptr9>>2] = $29;
$vararg_ptr10 = ((($vararg_buffer2)) + 24|0);
HEAP32[$vararg_ptr10>>2] = $30;
$vararg_ptr11 = ((($vararg_buffer2)) + 28|0);
HEAP32[$vararg_ptr11>>2] = 0;
$31 = (__gcry_sexp_extract_param($2,0,65363,$vararg_buffer2)|0);
$32 = ($31|0)==(0);
if ($32) {
$33 = HEAP32[$7>>2]|0;
$34 = ($33|0)==(0|0);
if (!($34)) {
$35 = ((($6)) + 20|0);
__gcry_mpi_point_init($35);
$36 = HEAP32[$7>>2]|0;
$37 = (__gcry_ecc_os2ec($35,$36)|0);
$38 = ($37|0)==(0);
if (!($38)) {
$$045 = 0;$$046 = 0;$$1 = $37;$$148 = 0;
break;
}
}
$39 = HEAP32[$4>>2]|0;
__gcry_sexp_release($39);
$40 = (__gcry_sexp_find_token($2,64745,5)|0);
HEAP32[$4>>2] = $40;
$41 = ($40|0)==(0|0);
if ($41) {
label = 13;
} else {
$42 = (__gcry_sexp_nth_string($40,1)|0);
$43 = ($42|0)==(0|0);
if ($43) {
label = 13;
} else {
$44 = (__gcry_ecc_fill_in_curve(0,$42,$6,0)|0);
$45 = ($44|0)==(0);
if ($45) {
$$04758 = $42;
} else {
$$0 = $44;
STACKTOP = sp;return ($$0|0);
}
}
}
if ((label|0) == 13) {
HEAP32[$6>>2] = 0;
$46 = ((($6)) + 4|0);
HEAP32[$46>>2] = 0;
$$04758 = 0;
}
$47 = (__gcry_get_debug_flag(1)|0);
$48 = ($47|0)==(0);
if (!($48)) {
$49 = HEAP32[$6>>2]|0;
$50 = (__gcry_ecc_model2str($49)|0);
$51 = ((($6)) + 4|0);
$52 = HEAP32[$51>>2]|0;
$53 = (__gcry_ecc_dialect2str($52)|0);
HEAP32[$vararg_buffer12>>2] = $50;
$vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
HEAP32[$vararg_ptr15>>2] = $53;
__gcry_log_debug(65379,$vararg_buffer12);
$54 = ((($6)) + 40|0);
$55 = HEAP32[$54>>2]|0;
$56 = ($55|0)==(0|0);
if (!($56)) {
HEAP32[$vararg_buffer16>>2] = $55;
__gcry_log_debug(65404,$vararg_buffer16);
}
$57 = HEAP32[$25>>2]|0;
__gcry_log_printmpi(65426,$57);
$58 = HEAP32[$26>>2]|0;
__gcry_log_printmpi(65443,$58);
$59 = HEAP32[$27>>2]|0;
__gcry_log_printmpi(65460,$59);
$60 = ((($6)) + 20|0);
__gcry_mpi_point_log(65477,$60,0);
$61 = HEAP32[$28>>2]|0;
__gcry_log_printmpi(65492,$61);
$62 = HEAP32[$29>>2]|0;
__gcry_log_printmpi(65509,$62);
$63 = (__gcry_fips_mode()|0);
$64 = ($63|0)==(0);
if ($64) {
$65 = HEAP32[$30>>2]|0;
__gcry_log_printmpi(65526,$65);
}
}
$66 = HEAP32[$25>>2]|0;
$67 = ($66|0)==(0|0);
$68 = HEAP32[$26>>2]|0;
$69 = ($68|0)==(0|0);
$or$cond = $67 | $69;
$70 = HEAP32[$27>>2]|0;
$71 = ($70|0)==(0|0);
$or$cond51 = $or$cond | $71;
if ($or$cond51) {
$$045 = 0;$$046 = 0;$$1 = 68;$$148 = $$04758;
} else {
$72 = ((($6)) + 20|0);
$73 = HEAP32[$72>>2]|0;
$74 = ($73|0)==(0|0);
$75 = HEAP32[$28>>2]|0;
$76 = ($75|0)==(0|0);
$or$cond53 = $74 | $76;
$77 = HEAP32[$29>>2]|0;
$78 = ($77|0)==(0|0);
$or$cond55 = $or$cond53 | $78;
$79 = HEAP32[$30>>2]|0;
$80 = ($79|0)==(0|0);
$or$cond57 = $or$cond55 | $80;
if ($or$cond57) {
$$045 = 0;$$046 = 0;$$1 = 68;$$148 = $$04758;
} else {
$81 = HEAP32[$5>>2]|0;
$82 = (__gcry_ecc_os2ec($8,$81)|0);
$83 = ($82|0)==(0);
if (!($83)) {
__gcry_mpi_point_free_parts($8);
$$0 = $82;
STACKTOP = sp;return ($$0|0);
}
$84 = HEAP32[$6>>2]|0;
$85 = ((($6)) + 4|0);
$86 = HEAP32[$85>>2]|0;
$87 = HEAP32[$25>>2]|0;
$88 = HEAP32[$26>>2]|0;
$89 = HEAP32[$27>>2]|0;
$90 = (__gcry_mpi_ec_p_internal_new($84,$86,0,$87,$88,$89)|0);
$91 = HEAP32[$30>>2]|0;
__gcry_mpi_ec_mul_point($9,$91,$8,$90);
$92 = (__gcry_mpi_new(0)|0);
$93 = (__gcry_mpi_new(0)|0);
$94 = (__gcry_mpi_ec_get_affine($92,$93,$9,$90)|0);
$95 = ($94|0)==(0);
if (!($95)) {
__gcry_log_fatal(65543,$vararg_buffer19);
// unreachable;
}
$96 = HEAP32[$25>>2]|0;
$97 = (__gcry_ecc_ec2os($92,$93,$96)|0);
$98 = ($97|0)==(0|0);
if ($98) {
$99 = (_gpg_err_code_from_syserror()|0);
$$044 = $99;
} else {
$$044 = 0;
}
__gcry_mpi_free($92);
__gcry_mpi_free($93);
$100 = (__gcry_get_debug_flag(1)|0);
$101 = ($100|0)==(0);
if (!($101)) {
__gcry_log_printmpi(65583,$97);
}
$102 = ($$044|0)==(0);
if ($102) {
HEAP32[$vararg_buffer21>>2] = $97;
$103 = (__gcry_sexp_build($0,0,65600,$vararg_buffer21)|0);
$$045 = $97;$$046 = $90;$$1 = $103;$$148 = $$04758;
} else {
$$045 = $97;$$046 = $90;$$1 = $$044;$$148 = $$04758;
}
}
}
} else {
$$045 = 0;$$046 = 0;$$1 = $31;$$148 = 0;
}
} else {
$$045 = 0;$$046 = 0;$$1 = $14;$$148 = 0;
}
} else {
$$045 = 0;$$046 = 0;$$1 = $11;$$148 = 0;
}
} while(0);
__gcry_mpi_point_free_parts($9);
__gcry_mpi_point_free_parts($8);
__gcry_mpi_release($$045);
$104 = ((($6)) + 8|0);
$105 = HEAP32[$104>>2]|0;
__gcry_mpi_release($105);
$106 = ((($6)) + 12|0);
$107 = HEAP32[$106>>2]|0;
__gcry_mpi_release($107);
$108 = ((($6)) + 16|0);
$109 = HEAP32[$108>>2]|0;
__gcry_mpi_release($109);
$110 = HEAP32[$7>>2]|0;
__gcry_mpi_release($110);
$111 = ((($6)) + 20|0);
__gcry_mpi_point_free_parts($111);
$112 = ((($6)) + 32|0);
$113 = HEAP32[$112>>2]|0;
__gcry_mpi_release($113);
$114 = ((($6)) + 36|0);
$115 = HEAP32[$114>>2]|0;
__gcry_mpi_release($115);
$116 = ((($6)) + 56|0);
$117 = HEAP32[$116>>2]|0;
__gcry_mpi_release($117);
$118 = HEAP32[$5>>2]|0;
__gcry_mpi_release($118);
__gcry_free($$148);
$119 = HEAP32[$4>>2]|0;
__gcry_sexp_release($119);
__gcry_mpi_ec_free($$046);
__gcry_pk_util_free_encoding_ctx($3);
$120 = (__gcry_get_debug_flag(1)|0);
$121 = ($120|0)==(0);
if ($121) {
$$0 = $$1;
STACKTOP = sp;return ($$0|0);
}
$122 = (_gpg_strerror($$1)|0);
HEAP32[$vararg_buffer24>>2] = $122;
__gcry_log_debug(65611,$vararg_buffer24);
$$0 = $$1;
STACKTOP = sp;return ($$0|0);
}
function _ecc_sign($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$045 = 0, $$04651 = 0, $$047 = 0, $$048 = 0, $$050 = 0, $$1 = 0, $$149 = 0, $$lobit = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0;
var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0;
var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer26 = 0, $vararg_buffer30 = 0, $vararg_buffer34 = 0, $vararg_buffer9 = 0, $vararg_ptr1 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr2 = 0, $vararg_ptr25 = 0;
var $vararg_ptr29 = 0, $vararg_ptr3 = 0, $vararg_ptr33 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$vararg_buffer34 = sp + 104|0;
$vararg_buffer30 = sp + 96|0;
$vararg_buffer26 = sp + 88|0;
$vararg_buffer22 = sp + 80|0;
$vararg_buffer19 = sp + 72|0;
$vararg_buffer14 = sp + 56|0;
$vararg_buffer9 = sp + 40|0;
$vararg_buffer = sp;
$3 = sp + 184|0;
$4 = sp + 176|0;
$5 = sp + 172|0;
$6 = sp + 168|0;
$7 = sp + 108|0;
HEAP32[$4>>2] = 0;
HEAP32[$5>>2] = 0;
HEAP32[$6>>2] = 0;
dest=$7; stop=dest+60|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
__gcry_pk_util_init_encoding_ctx($3,2,0);
$8 = (__gcry_pk_util_data_to_mpi($1,$4,$3)|0);
$9 = ($8|0)==(0);
do {
if ($9) {
$10 = (__gcry_get_debug_flag(1)|0);
$11 = ($10|0)==(0);
if (!($11)) {
$12 = HEAP32[$4>>2]|0;
__gcry_log_printmpi(65029,$12);
}
$13 = ((($3)) + 12|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14 & 512;
$16 = ($15|0)==(0);
if ($16) {
$24 = ((($7)) + 56|0);
HEAP32[$vararg_buffer9>>2] = $6;
$vararg_ptr12 = ((($vararg_buffer9)) + 4|0);
HEAP32[$vararg_ptr12>>2] = $24;
$vararg_ptr13 = ((($vararg_buffer9)) + 8|0);
HEAP32[$vararg_ptr13>>2] = 0;
$25 = (__gcry_sexp_extract_param($2,0,65064,$vararg_buffer9)|0);
$$048 = $25;
} else {
$17 = ((($7)) + 8|0);
$18 = ((($7)) + 12|0);
$19 = ((($7)) + 16|0);
$20 = ((($7)) + 32|0);
$21 = ((($7)) + 36|0);
$22 = ((($7)) + 56|0);
HEAP32[$vararg_buffer>>2] = $17;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $18;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $19;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $5;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $20;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = $21;
$vararg_ptr6 = ((($vararg_buffer)) + 24|0);
HEAP32[$vararg_ptr6>>2] = $6;
$vararg_ptr7 = ((($vararg_buffer)) + 28|0);
HEAP32[$vararg_ptr7>>2] = $22;
$vararg_ptr8 = ((($vararg_buffer)) + 32|0);
HEAP32[$vararg_ptr8>>2] = 0;
$23 = (__gcry_sexp_extract_param($2,0,65045,$vararg_buffer)|0);
$$048 = $23;
}
$26 = ($$048|0)==(0);
if ($26) {
$27 = HEAP32[$5>>2]|0;
$28 = ($27|0)==(0|0);
if (!($28)) {
$29 = ((($7)) + 20|0);
__gcry_mpi_point_init($29);
$30 = HEAP32[$5>>2]|0;
$31 = (__gcry_ecc_os2ec($29,$30)|0);
$32 = ($31|0)==(0);
if (!($32)) {
$$0 = 0;$$045 = 0;$$047 = 0;$$1 = 0;$$149 = $31;
break;
}
}
__gcry_sexp_release(0);
$33 = (__gcry_sexp_find_token($2,64745,5)|0);
$34 = ($33|0)==(0|0);
if ($34) {
label = 13;
} else {
$35 = (__gcry_sexp_nth_string($33,1)|0);
$36 = ($35|0)==(0|0);
if ($36) {
label = 13;
} else {
$37 = (__gcry_ecc_fill_in_curve(0,$35,$7,0)|0);
$38 = ($37|0)==(0);
if ($38) {
$$04651 = $35;
} else {
$$050 = $37;
STACKTOP = sp;return ($$050|0);
}
}
}
if ((label|0) == 13) {
$39 = HEAP32[$13>>2]|0;
$40 = $39 >>> 11;
$41 = $40 & 2;
HEAP32[$7>>2] = $41;
$42 = $39 >>> 12;
$$lobit = $42 & 1;
$43 = ((($7)) + 4|0);
HEAP32[$43>>2] = $$lobit;
$$04651 = 0;
}
$44 = (__gcry_get_debug_flag(1)|0);
$45 = ($44|0)==(0);
if ($45) {
$$pre = ((($7)) + 8|0);
$$pre$phiZ2D = $$pre;
} else {
$46 = HEAP32[$7>>2]|0;
$47 = (__gcry_ecc_model2str($46)|0);
$48 = ((($7)) + 4|0);
$49 = HEAP32[$48>>2]|0;
$50 = (__gcry_ecc_dialect2str($49)|0);
$51 = HEAP32[$13>>2]|0;
$52 = $51 & 4096;
$53 = ($52|0)==(0);
$54 = $53 ? 73338 : 64839;
HEAP32[$vararg_buffer14>>2] = $47;
$vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
HEAP32[$vararg_ptr17>>2] = $50;
$vararg_ptr18 = ((($vararg_buffer14)) + 8|0);
HEAP32[$vararg_ptr18>>2] = $54;
__gcry_log_debug(65070,$vararg_buffer14);
$55 = ((($7)) + 40|0);
$56 = HEAP32[$55>>2]|0;
$57 = ($56|0)==(0|0);
if (!($57)) {
HEAP32[$vararg_buffer19>>2] = $56;
__gcry_log_debug(65096,$vararg_buffer19);
}
$58 = ((($7)) + 8|0);
$59 = HEAP32[$58>>2]|0;
__gcry_log_printmpi(65117,$59);
$60 = ((($7)) + 12|0);
$61 = HEAP32[$60>>2]|0;
__gcry_log_printmpi(65133,$61);
$62 = ((($7)) + 16|0);
$63 = HEAP32[$62>>2]|0;
__gcry_log_printmpi(65149,$63);
$64 = ((($7)) + 20|0);
__gcry_mpi_point_log(65165,$64,0);
$65 = ((($7)) + 32|0);
$66 = HEAP32[$65>>2]|0;
__gcry_log_printmpi(65179,$66);
$67 = ((($7)) + 36|0);
$68 = HEAP32[$67>>2]|0;
__gcry_log_printmpi(65195,$68);
$69 = HEAP32[$6>>2]|0;
__gcry_log_printmpi(65211,$69);
$70 = (__gcry_fips_mode()|0);
$71 = ($70|0)==(0);
if ($71) {
$72 = ((($7)) + 56|0);
$73 = HEAP32[$72>>2]|0;
__gcry_log_printmpi(65227,$73);
$$pre$phiZ2D = $58;
} else {
$$pre$phiZ2D = $58;
}
}
$74 = HEAP32[$$pre$phiZ2D>>2]|0;
$75 = ($74|0)==(0|0);
if ($75) {
$$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
} else {
$76 = ((($7)) + 12|0);
$77 = HEAP32[$76>>2]|0;
$78 = ($77|0)==(0|0);
if ($78) {
$$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
} else {
$79 = ((($7)) + 16|0);
$80 = HEAP32[$79>>2]|0;
$81 = ($80|0)==(0|0);
if ($81) {
$$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
} else {
$82 = ((($7)) + 20|0);
$83 = HEAP32[$82>>2]|0;
$84 = ($83|0)==(0|0);
if ($84) {
$$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
} else {
$85 = ((($7)) + 32|0);
$86 = HEAP32[$85>>2]|0;
$87 = ($86|0)==(0|0);
if ($87) {
$$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
} else {
$88 = ((($7)) + 36|0);
$89 = HEAP32[$88>>2]|0;
$90 = ($89|0)==(0|0);
if ($90) {
$$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
} else {
$91 = ((($7)) + 56|0);
$92 = HEAP32[$91>>2]|0;
$93 = ($92|0)==(0|0);
if ($93) {
$$0 = 0;$$045 = 0;$$047 = $33;$$1 = $$04651;$$149 = 68;
} else {
$94 = (__gcry_mpi_new(0)|0);
$95 = (__gcry_mpi_new(0)|0);
$96 = HEAP32[$13>>2]|0;
$97 = $96 & 4096;
$98 = ($97|0)==(0);
if (!($98)) {
$99 = HEAP32[$4>>2]|0;
$100 = ((($3)) + 16|0);
$101 = HEAP32[$100>>2]|0;
$102 = HEAP32[$6>>2]|0;
$103 = (__gcry_ecc_eddsa_sign($99,$7,$94,$95,$101,$102)|0);
$104 = ($103|0)==(0);
if (!($104)) {
$$0 = $95;$$045 = $94;$$047 = $33;$$1 = $$04651;$$149 = $103;
break;
}
HEAP32[$vararg_buffer22>>2] = $94;
$vararg_ptr25 = ((($vararg_buffer22)) + 4|0);
HEAP32[$vararg_ptr25>>2] = $95;
$105 = (__gcry_sexp_build($0,0,65243,$vararg_buffer22)|0);
$$0 = $95;$$045 = $94;$$047 = $33;$$1 = $$04651;$$149 = $105;
break;
}
$106 = $96 & 8192;
$107 = ($106|0)==(0);
$108 = HEAP32[$4>>2]|0;
if ($107) {
$112 = ((($3)) + 16|0);
$113 = HEAP32[$112>>2]|0;
$114 = (__gcry_ecc_ecdsa_sign($108,$7,$94,$95,$96,$113)|0);
$115 = ($114|0)==(0);
if (!($115)) {
$$0 = $95;$$045 = $94;$$047 = $33;$$1 = $$04651;$$149 = $114;
break;
}
HEAP32[$vararg_buffer30>>2] = $94;
$vararg_ptr33 = ((($vararg_buffer30)) + 4|0);
HEAP32[$vararg_ptr33>>2] = $95;
$116 = (__gcry_sexp_build($0,0,65296,$vararg_buffer30)|0);
$$0 = $95;$$045 = $94;$$047 = $33;$$1 = $$04651;$$149 = $116;
break;
} else {
$109 = (__gcry_ecc_gost_sign($108,$7,$94,$95)|0);
$110 = ($109|0)==(0);
if (!($110)) {
$$0 = $95;$$045 = $94;$$047 = $33;$$1 = $$04651;$$149 = $109;
break;
}
HEAP32[$vararg_buffer26>>2] = $94;
$vararg_ptr29 = ((($vararg_buffer26)) + 4|0);
HEAP32[$vararg_ptr29>>2] = $95;
$111 = (__gcry_sexp_build($0,0,65270,$vararg_buffer26)|0);
$$0 = $95;$$045 = $94;$$047 = $33;$$1 = $$04651;$$149 = $111;
break;
}
}
}
}
}
}
}
}
} else {
$$0 = 0;$$045 = 0;$$047 = 0;$$1 = 0;$$149 = $$048;
}
} else {
$$0 = 0;$$045 = 0;$$047 = 0;$$1 = 0;$$149 = $8;
}
} while(0);
$117 = ((($7)) + 8|0);
$118 = HEAP32[$117>>2]|0;
__gcry_mpi_release($118);
$119 = ((($7)) + 12|0);
$120 = HEAP32[$119>>2]|0;
__gcry_mpi_release($120);
$121 = ((($7)) + 16|0);
$122 = HEAP32[$121>>2]|0;
__gcry_mpi_release($122);
$123 = HEAP32[$5>>2]|0;
__gcry_mpi_release($123);
$124 = ((($7)) + 20|0);
__gcry_mpi_point_free_parts($124);
$125 = ((($7)) + 32|0);
$126 = HEAP32[$125>>2]|0;
__gcry_mpi_release($126);
$127 = ((($7)) + 36|0);
$128 = HEAP32[$127>>2]|0;
__gcry_mpi_release($128);
$129 = HEAP32[$6>>2]|0;
__gcry_mpi_release($129);
$130 = ((($7)) + 44|0);
__gcry_mpi_point_free_parts($130);
$131 = ((($7)) + 56|0);
$132 = HEAP32[$131>>2]|0;
__gcry_mpi_release($132);
__gcry_mpi_release($$045);
__gcry_mpi_release($$0);
__gcry_free($$1);
$133 = HEAP32[$4>>2]|0;
__gcry_mpi_release($133);
__gcry_sexp_release($$047);
__gcry_pk_util_free_encoding_ctx($3);
$134 = (__gcry_get_debug_flag(1)|0);
$135 = ($134|0)==(0);
if ($135) {
$$050 = $$149;
STACKTOP = sp;return ($$050|0);
}
$136 = (_gpg_strerror($$149)|0);
HEAP32[$vararg_buffer34>>2] = $136;
__gcry_log_debug(65323,$vararg_buffer34);
$$050 = $$149;
STACKTOP = sp;return ($$050|0);
}
function _ecc_verify($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$037 = 0, $$03840 = 0, $$1 = 0, $$139 = 0, $$2 = 0, $$3 = 0, $$lobit = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0;
var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0;
var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0;
var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0;
var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0;
var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
var $or$cond = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer22 = 0, $vararg_buffer25 = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, dest = 0;
var label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$vararg_buffer25 = sp + 80|0;
$vararg_buffer22 = sp + 72|0;
$vararg_buffer17 = sp + 56|0;
$vararg_buffer13 = sp + 48|0;
$vararg_buffer3 = sp + 16|0;
$vararg_buffer = sp;
$3 = sp + 176|0;
$4 = sp + 172|0;
$5 = sp + 168|0;
$6 = sp + 164|0;
$7 = sp + 160|0;
$8 = sp + 156|0;
$9 = sp + 152|0;
$10 = sp + 96|0;
$11 = sp + 92|0;
$12 = sp + 88|0;
$13 = sp + 84|0;
HEAP32[$4>>2] = 0;
HEAP32[$5>>2] = 0;
HEAP32[$6>>2] = 0;
HEAP32[$7>>2] = 0;
HEAP32[$8>>2] = 0;
HEAP32[$9>>2] = 0;
dest=$10; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$14 = (_ecc_get_nbits($2)|0);
__gcry_pk_util_init_encoding_ctx($3,3,$14);
$15 = (__gcry_pk_util_data_to_mpi($1,$9,$3)|0);
$16 = ($15|0)==(0);
L1: do {
if ($16) {
$17 = (__gcry_get_debug_flag(1)|0);
$18 = ($17|0)==(0);
if (!($18)) {
$19 = HEAP32[$9>>2]|0;
__gcry_log_printmpi(64771,$19);
}
$20 = (__gcry_pk_util_preparse_sigval($0,16256,$4,$11)|0);
$21 = ($20|0)==(0);
if ($21) {
$22 = HEAP32[$4>>2]|0;
$23 = HEAP32[$11>>2]|0;
$24 = $23 & 4096;
$25 = ($24|0)==(0);
$26 = $25 ? 64702 : 64787;
HEAP32[$vararg_buffer>>2] = $7;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $8;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 0;
$27 = (__gcry_sexp_extract_param($22,0,$26,$vararg_buffer)|0);
$28 = ($27|0)==(0);
if ($28) {
$29 = (__gcry_get_debug_flag(1)|0);
$30 = ($29|0)==(0);
if (!($30)) {
$31 = HEAP32[$7>>2]|0;
__gcry_log_printmpi(64791,$31);
$32 = HEAP32[$8>>2]|0;
__gcry_log_printmpi(64807,$32);
}
$33 = ((($3)) + 12|0);
$34 = HEAP32[$33>>2]|0;
$35 = HEAP32[$11>>2]|0;
$36 = $35 ^ $34;
$37 = $36 & 4096;
$38 = ($37|0)==(0);
if ($38) {
$39 = $34 & 512;
$40 = ($39|0)==(0);
if ($40) {
HEAP32[$vararg_buffer13>>2] = $6;
$vararg_ptr16 = ((($vararg_buffer13)) + 4|0);
HEAP32[$vararg_ptr16>>2] = 0;
$46 = (__gcry_sexp_extract_param($2,0,64740,$vararg_buffer13)|0);
$$037 = $46;
} else {
$41 = ((($10)) + 8|0);
$42 = ((($10)) + 12|0);
$43 = ((($10)) + 16|0);
$44 = ((($10)) + 32|0);
HEAP32[$vararg_buffer3>>2] = $41;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = $42;
$vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
HEAP32[$vararg_ptr7>>2] = $43;
$vararg_ptr8 = ((($vararg_buffer3)) + 12|0);
HEAP32[$vararg_ptr8>>2] = $5;
$vararg_ptr9 = ((($vararg_buffer3)) + 16|0);
HEAP32[$vararg_ptr9>>2] = $44;
$vararg_ptr10 = ((($vararg_buffer3)) + 20|0);
HEAP32[$vararg_ptr10>>2] = $44;
$vararg_ptr11 = ((($vararg_buffer3)) + 24|0);
HEAP32[$vararg_ptr11>>2] = $6;
$vararg_ptr12 = ((($vararg_buffer3)) + 28|0);
HEAP32[$vararg_ptr12>>2] = 0;
$45 = (__gcry_sexp_extract_param($2,0,64823,$vararg_buffer3)|0);
$$037 = $45;
}
$47 = ($$037|0)==(0);
if ($47) {
$48 = HEAP32[$5>>2]|0;
$49 = ($48|0)==(0|0);
if (!($49)) {
$50 = ((($10)) + 20|0);
__gcry_mpi_point_init($50);
$51 = HEAP32[$5>>2]|0;
$52 = (__gcry_ecc_os2ec($50,$51)|0);
$53 = ($52|0)==(0);
if (!($53)) {
$$139 = 0;$$3 = $52;
break;
}
}
$54 = HEAP32[$4>>2]|0;
__gcry_sexp_release($54);
$55 = (__gcry_sexp_find_token($2,64745,5)|0);
HEAP32[$4>>2] = $55;
$56 = ($55|0)==(0|0);
if ($56) {
label = 18;
} else {
$57 = (__gcry_sexp_nth_string($55,1)|0);
$58 = ($57|0)==(0|0);
if ($58) {
label = 18;
} else {
$59 = (__gcry_ecc_fill_in_curve(0,$57,$10,0)|0);
$60 = ($59|0)==(0);
if ($60) {
$$03840 = $57;
} else {
$$0 = $59;
STACKTOP = sp;return ($$0|0);
}
}
}
if ((label|0) == 18) {
$61 = HEAP32[$11>>2]|0;
$62 = $61 >>> 11;
$63 = $62 & 2;
HEAP32[$10>>2] = $63;
$64 = $61 >>> 12;
$$lobit = $64 & 1;
$65 = ((($10)) + 4|0);
HEAP32[$65>>2] = $$lobit;
$$03840 = 0;
}
$66 = (__gcry_get_debug_flag(1)|0);
$67 = ($66|0)==(0);
if ($67) {
$$pre = ((($10)) + 8|0);
$$pre$phiZ2D = $$pre;
} else {
$68 = HEAP32[$10>>2]|0;
$69 = (__gcry_ecc_model2str($68)|0);
$70 = ((($10)) + 4|0);
$71 = HEAP32[$70>>2]|0;
$72 = (__gcry_ecc_dialect2str($71)|0);
$73 = HEAP32[$11>>2]|0;
$74 = $73 & 4096;
$75 = ($74|0)==(0);
$76 = $75 ? 73338 : 64839;
HEAP32[$vararg_buffer17>>2] = $69;
$vararg_ptr20 = ((($vararg_buffer17)) + 4|0);
HEAP32[$vararg_ptr20>>2] = $72;
$vararg_ptr21 = ((($vararg_buffer17)) + 8|0);
HEAP32[$vararg_ptr21>>2] = $76;
__gcry_log_debug(64846,$vararg_buffer17);
$77 = ((($10)) + 40|0);
$78 = HEAP32[$77>>2]|0;
$79 = ($78|0)==(0|0);
if (!($79)) {
HEAP32[$vararg_buffer22>>2] = $78;
__gcry_log_debug(64872,$vararg_buffer22);
}
$80 = ((($10)) + 8|0);
$81 = HEAP32[$80>>2]|0;
__gcry_log_printmpi(64893,$81);
$82 = ((($10)) + 12|0);
$83 = HEAP32[$82>>2]|0;
__gcry_log_printmpi(64909,$83);
$84 = ((($10)) + 16|0);
$85 = HEAP32[$84>>2]|0;
__gcry_log_printmpi(64925,$85);
$86 = ((($10)) + 20|0);
__gcry_mpi_point_log(64941,$86,0);
$87 = ((($10)) + 32|0);
$88 = HEAP32[$87>>2]|0;
__gcry_log_printmpi(64955,$88);
$89 = ((($10)) + 36|0);
$90 = HEAP32[$89>>2]|0;
__gcry_log_printmpi(64971,$90);
$91 = HEAP32[$6>>2]|0;
__gcry_log_printmpi(64987,$91);
$$pre$phiZ2D = $80;
}
$92 = HEAP32[$$pre$phiZ2D>>2]|0;
$93 = ($92|0)==(0|0);
if ($93) {
$$139 = $$03840;$$3 = 68;
} else {
$94 = ((($10)) + 12|0);
$95 = HEAP32[$94>>2]|0;
$96 = ($95|0)==(0|0);
if ($96) {
$$139 = $$03840;$$3 = 68;
} else {
$97 = ((($10)) + 16|0);
$98 = HEAP32[$97>>2]|0;
$99 = ($98|0)==(0|0);
if ($99) {
$$139 = $$03840;$$3 = 68;
} else {
$100 = ((($10)) + 20|0);
$101 = HEAP32[$100>>2]|0;
$102 = ($101|0)==(0|0);
if ($102) {
$$139 = $$03840;$$3 = 68;
} else {
$103 = ((($10)) + 32|0);
$104 = HEAP32[$103>>2]|0;
$105 = ($104|0)==(0|0);
if ($105) {
$$139 = $$03840;$$3 = 68;
} else {
$106 = ((($10)) + 36|0);
$107 = HEAP32[$106>>2]|0;
$108 = ($107|0)!=(0|0);
$109 = HEAP32[$6>>2]|0;
$110 = ($109|0)!=(0|0);
$or$cond = $108 & $110;
if ($or$cond) {
$111 = HEAP32[$11>>2]|0;
$112 = $111 & 4096;
$113 = ($112|0)==(0);
if (!($113)) {
$114 = HEAP32[$9>>2]|0;
$115 = HEAP32[$7>>2]|0;
$116 = HEAP32[$8>>2]|0;
$117 = ((($3)) + 16|0);
$118 = HEAP32[$117>>2]|0;
$119 = (__gcry_ecc_eddsa_verify($114,$10,$115,$116,$118,$109)|0);
$$139 = $$03840;$$3 = $119;
break;
}
$120 = $111 & 8192;
$121 = ($120|0)==(0);
$122 = ((($10)) + 44|0);
__gcry_mpi_point_init($122);
if (!($121)) {
$123 = HEAP32[$6>>2]|0;
$124 = (__gcry_ecc_os2ec($122,$123)|0);
$125 = ($124|0)==(0);
if (!($125)) {
$$139 = $$03840;$$3 = $124;
break;
}
$126 = HEAP32[$9>>2]|0;
$127 = HEAP32[$7>>2]|0;
$128 = HEAP32[$8>>2]|0;
$129 = (__gcry_ecc_gost_verify($126,$10,$127,$128)|0);
$$139 = $$03840;$$3 = $129;
break;
}
$130 = ((($10)) + 4|0);
$131 = HEAP32[$130>>2]|0;
$132 = ($131|0)==(1);
if ($132) {
$133 = HEAP32[$10>>2]|0;
$134 = HEAP32[$$pre$phiZ2D>>2]|0;
$135 = HEAP32[$94>>2]|0;
$136 = HEAP32[$97>>2]|0;
$137 = (__gcry_mpi_ec_p_internal_new($133,1,0,$134,$135,$136)|0);
$138 = HEAP32[$6>>2]|0;
$139 = (__gcry_ecc_eddsa_decodepoint($138,$137,$122,0,0)|0);
__gcry_mpi_ec_free($137);
$$1 = $139;
} else {
$140 = HEAP32[$6>>2]|0;
$141 = (__gcry_ecc_os2ec($122,$140)|0);
$$1 = $141;
}
$142 = ($$1|0)==(0);
if (!($142)) {
$$139 = $$03840;$$3 = $$1;
break;
}
$143 = HEAP32[$9>>2]|0;
$144 = ($143|0)==(0|0);
do {
if (!($144)) {
$145 = ((($143)) + 12|0);
$146 = HEAP32[$145>>2]|0;
$147 = $146 & 4;
$148 = ($147|0)==(0);
if ($148) {
break;
}
$149 = HEAP32[$103>>2]|0;
$150 = (__gcry_mpi_get_nbits($149)|0);
$151 = HEAP32[$9>>2]|0;
$152 = (__gcry_mpi_get_opaque($151,$12)|0);
$153 = HEAP32[$12>>2]|0;
$154 = (($153) + 7)|0;
$155 = $154 >>> 3;
$156 = (__gcry_mpi_scan($13,5,$152,$155,0)|0);
$157 = ($156|0)==(0);
if ($157) {
$158 = HEAP32[$12>>2]|0;
$159 = ($158>>>0)>($150>>>0);
if ($159) {
$160 = (($158) - ($150))|0;
$161 = HEAP32[$13>>2]|0;
__gcry_mpi_rshift($161,$161,$160);
}
$162 = HEAP32[$13>>2]|0;
$163 = HEAP32[$7>>2]|0;
$164 = HEAP32[$8>>2]|0;
$165 = (__gcry_ecc_ecdsa_verify($162,$10,$163,$164)|0);
$166 = HEAP32[$13>>2]|0;
__gcry_mpi_release($166);
$$2 = $165;
} else {
$$2 = $156;
}
$$139 = $$03840;$$3 = $$2;
break L1;
}
} while(0);
$167 = HEAP32[$7>>2]|0;
$168 = HEAP32[$8>>2]|0;
$169 = (__gcry_ecc_ecdsa_verify($143,$10,$167,$168)|0);
$$139 = $$03840;$$3 = $169;
} else {
$$139 = $$03840;$$3 = 68;
}
}
}
}
}
}
} else {
$$139 = 0;$$3 = $$037;
}
} else {
$$139 = 0;$$3 = 70;
}
} else {
$$139 = 0;$$3 = $27;
}
} else {
$$139 = 0;$$3 = $20;
}
} else {
$$139 = 0;$$3 = $15;
}
} while(0);
$170 = ((($10)) + 8|0);
$171 = HEAP32[$170>>2]|0;
__gcry_mpi_release($171);
$172 = ((($10)) + 12|0);
$173 = HEAP32[$172>>2]|0;
__gcry_mpi_release($173);
$174 = ((($10)) + 16|0);
$175 = HEAP32[$174>>2]|0;
__gcry_mpi_release($175);
$176 = HEAP32[$5>>2]|0;
__gcry_mpi_release($176);
$177 = ((($10)) + 20|0);
__gcry_mpi_point_free_parts($177);
$178 = ((($10)) + 32|0);
$179 = HEAP32[$178>>2]|0;
__gcry_mpi_release($179);
$180 = ((($10)) + 36|0);
$181 = HEAP32[$180>>2]|0;
__gcry_mpi_release($181);
$182 = HEAP32[$6>>2]|0;
__gcry_mpi_release($182);
$183 = ((($10)) + 44|0);
__gcry_mpi_point_free_parts($183);
$184 = HEAP32[$9>>2]|0;
__gcry_mpi_release($184);
$185 = HEAP32[$7>>2]|0;
__gcry_mpi_release($185);
$186 = HEAP32[$8>>2]|0;
__gcry_mpi_release($186);
__gcry_free($$139);
$187 = HEAP32[$4>>2]|0;
__gcry_sexp_release($187);
__gcry_pk_util_free_encoding_ctx($3);
$188 = (__gcry_get_debug_flag(1)|0);
$189 = ($188|0)==(0);
if ($189) {
$$0 = $$3;
STACKTOP = sp;return ($$0|0);
}
$190 = ($$3|0)==(0);
if ($190) {
$192 = 65003;
} else {
$191 = (_gpg_strerror($$3)|0);
$192 = $191;
}
HEAP32[$vararg_buffer25>>2] = $192;
__gcry_log_debug(65008,$vararg_buffer25);
$$0 = $$3;
STACKTOP = sp;return ($$0|0);
}
function _ecc_get_nbits($0) {
$0 = $0|0;
var $$0 = 0, $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
HEAP32[$1>>2] = 0;
$2 = (__gcry_sexp_find_token($0,64769,1)|0);
$3 = ($2|0)==(0|0);
if ($3) {
$4 = (__gcry_sexp_find_token($0,64745,5)|0);
$5 = ($4|0)==(0|0);
if ($5) {
$$0 = 0;
} else {
$6 = (__gcry_sexp_nth_string($4,1)|0);
__gcry_sexp_release($4);
$7 = ($6|0)==(0|0);
if ($7) {
$$0 = 0;
} else {
$8 = (__gcry_ecc_fill_in_curve(0,$6,0,$1)|0);
$9 = ($8|0)==(0);
if (!($9)) {
HEAP32[$1>>2] = 0;
}
__gcry_free($6);
$$pre = HEAP32[$1>>2]|0;
$$0 = $$pre;
}
}
} else {
$10 = (__gcry_sexp_nth_mpi($2,1,5)|0);
__gcry_sexp_release($2);
$11 = ($10|0)==(0|0);
if ($11) {
$$0 = 0;
} else {
$12 = (__gcry_mpi_get_nbits($10)|0);
HEAP32[$1>>2] = $12;
__gcry_mpi_release($10);
$$0 = $12;
}
}
STACKTOP = sp;return ($$0|0);
}
function _run_selftests_1814($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(18);
$spec$select = $3 ? 0 : 4;
return ($spec$select|0);
}
function _compute_keygrip_1815($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$060 = 0, $$06370 = 0, $$069 = 0, $$164 = 0, $$26782 = 0, $$8 = 0, $$lobit = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
var $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer26 = 0, $vararg_buffer30 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr21 = 0, $vararg_ptr25 = 0, $vararg_ptr29 = 0;
var $vararg_ptr3 = 0, $vararg_ptr33 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
$vararg_buffer30 = sp + 152|0;
$vararg_buffer26 = sp + 144|0;
$vararg_buffer22 = sp + 136|0;
$vararg_buffer18 = sp + 128|0;
$vararg_buffer8 = sp + 96|0;
$vararg_buffer = sp + 64|0;
$2 = sp + 32|0;
$3 = sp + 176|0;
$4 = sp + 172|0;
$5 = sp + 168|0;
$6 = sp;
$7 = sp + 164|0;
$8 = sp + 160|0;
HEAP32[$3>>2] = 0;
HEAP32[$4>>2] = 0;
HEAP32[$5>>2] = 0;
;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;
$9 = (__gcry_sexp_find_token($1,64705,0)|0);
$10 = ($9|0)==(0|0);
do {
if ($10) {
$11 = ((($2)) + 24|0);
$28 = $11;
label = 10;
} else {
$12 = (__gcry_pk_util_parse_flaglist($9,$3,0)|0);
$13 = ($12|0)==(0);
if ($13) {
$$pre = HEAP32[$3>>2]|0;
$14 = $$pre & 512;
$15 = ($14|0)==(0);
$16 = $$pre & 4096;
$17 = ($16|0)!=(0);
if ($15) {
$26 = ((($2)) + 24|0);
if (!($17)) {
$28 = $26;
label = 10;
break;
}
HEAP32[$vararg_buffer18>>2] = $26;
$vararg_ptr21 = ((($vararg_buffer18)) + 4|0);
HEAP32[$vararg_ptr21>>2] = 0;
$27 = (__gcry_sexp_extract_param($1,0,64740,$vararg_buffer18)|0);
$$060 = $27;
label = 11;
break;
}
$18 = ((($2)) + 4|0);
$19 = ((($2)) + 8|0);
$20 = ((($2)) + 12|0);
$21 = ((($2)) + 16|0);
$22 = ((($2)) + 20|0);
$23 = ((($2)) + 24|0);
if ($17) {
HEAP32[$vararg_buffer>>2] = $2;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $18;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $19;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $20;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $21;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = $22;
$vararg_ptr6 = ((($vararg_buffer)) + 24|0);
HEAP32[$vararg_ptr6>>2] = $23;
$vararg_ptr7 = ((($vararg_buffer)) + 28|0);
HEAP32[$vararg_ptr7>>2] = 0;
$24 = (__gcry_sexp_extract_param($1,0,64711,$vararg_buffer)|0);
$$060 = $24;
label = 11;
break;
} else {
HEAP32[$vararg_buffer8>>2] = $2;
$vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
HEAP32[$vararg_ptr11>>2] = $18;
$vararg_ptr12 = ((($vararg_buffer8)) + 8|0);
HEAP32[$vararg_ptr12>>2] = $19;
$vararg_ptr13 = ((($vararg_buffer8)) + 12|0);
HEAP32[$vararg_ptr13>>2] = $20;
$vararg_ptr14 = ((($vararg_buffer8)) + 16|0);
HEAP32[$vararg_ptr14>>2] = $21;
$vararg_ptr15 = ((($vararg_buffer8)) + 20|0);
HEAP32[$vararg_ptr15>>2] = $22;
$vararg_ptr16 = ((($vararg_buffer8)) + 24|0);
HEAP32[$vararg_ptr16>>2] = $23;
$vararg_ptr17 = ((($vararg_buffer8)) + 28|0);
HEAP32[$vararg_ptr17>>2] = 0;
$25 = (__gcry_sexp_extract_param($1,0,64726,$vararg_buffer8)|0);
$$060 = $25;
label = 11;
break;
}
} else {
$$069 = $9;$$164 = 0;$$8 = $12;
}
}
} while(0);
if ((label|0) == 10) {
HEAP32[$vararg_buffer22>>2] = $28;
$vararg_ptr25 = ((($vararg_buffer22)) + 4|0);
HEAP32[$vararg_ptr25>>2] = 0;
$29 = (__gcry_sexp_extract_param($1,0,64743,$vararg_buffer22)|0);
$$060 = $29;
label = 11;
}
L14: do {
if ((label|0) == 11) {
$30 = ($$060|0)==(0);
if ($30) {
__gcry_sexp_release($9);
$31 = (__gcry_sexp_find_token($1,64745,5)|0);
$32 = ($31|0)==(0|0);
if ($32) {
label = 15;
} else {
$33 = (__gcry_sexp_nth_string($31,1)|0);
$34 = ($33|0)==(0|0);
if ($34) {
label = 15;
} else {
$35 = ((($2)) + 4|0);
$36 = ((($2)) + 8|0);
$37 = ((($2)) + 12|0);
$38 = ((($2)) + 16|0);
$39 = ((($2)) + 20|0);
$40 = (__gcry_ecc_update_curve_param($33,$4,$5,$2,$35,$36,$37,$38,$39)|0);
$41 = ($40|0)==(0);
if ($41) {
$$06370 = $33;$$pre$phiZ2D = $2;
} else {
$$069 = $31;$$164 = $33;$$8 = $40;
break;
}
}
}
if ((label|0) == 15) {
$42 = HEAP32[$3>>2]|0;
$43 = $42 >>> 11;
$44 = $43 & 2;
HEAP32[$4>>2] = $44;
$45 = $42 >>> 12;
$$lobit = $45 & 1;
HEAP32[$5>>2] = $$lobit;
$$06370 = 0;$$pre$phiZ2D = $2;
}
$46 = HEAP32[$$pre$phiZ2D>>2]|0;
$47 = ($46|0)==(0|0);
if ($47) {
$$069 = $31;$$164 = $$06370;$$8 = 68;
} else {
__gcry_mpi_normalize($46);
$48 = ((($2)) + 4|0);
$49 = HEAP32[$48>>2]|0;
$50 = ($49|0)==(0|0);
if ($50) {
$$069 = $31;$$164 = $$06370;$$8 = 68;
} else {
__gcry_mpi_normalize($49);
$98 = ((($2)) + 8|0);
$99 = HEAP32[$98>>2]|0;
$100 = ($99|0)==(0|0);
if ($100) {
$$069 = $31;$$164 = $$06370;$$8 = 68;
} else {
__gcry_mpi_normalize($99);
$101 = ((($2)) + 12|0);
$102 = HEAP32[$101>>2]|0;
$103 = ($102|0)==(0|0);
if ($103) {
$$069 = $31;$$164 = $$06370;$$8 = 68;
} else {
__gcry_mpi_normalize($102);
$104 = ((($2)) + 16|0);
$105 = HEAP32[$104>>2]|0;
$106 = ($105|0)==(0|0);
if ($106) {
$$069 = $31;$$164 = $$06370;$$8 = 68;
} else {
__gcry_mpi_normalize($105);
$107 = ((($2)) + 20|0);
$108 = HEAP32[$107>>2]|0;
$109 = ($108|0)==(0|0);
if ($109) {
$$069 = $31;$$164 = $$06370;$$8 = 68;
} else {
__gcry_mpi_normalize($108);
$54 = ((($2)) + 24|0);
$110 = HEAP32[$54>>2]|0;
$111 = ($110|0)==(0|0);
if ($111) {
$$069 = $31;$$164 = $$06370;$$8 = 68;
} else {
__gcry_mpi_normalize($110);
$112 = HEAP32[$3>>2]|0;
$113 = $112 & 4096;
$114 = ($113|0)==(0);
if (!($114)) {
$51 = HEAP32[$5>>2]|0;
$52 = ($51|0)==(1);
if (!($52)) {
$$069 = $31;$$164 = $$06370;$$8 = 69;
break;
}
$53 = HEAP32[$54>>2]|0;
$55 = (__gcry_ecc_eddsa_ensure_compact($53,256)|0);
$56 = ($55|0)==(0);
if (!($56)) {
$$069 = $31;$$164 = $$06370;$$8 = $55;
break;
}
}
$$26782 = 0;
L34: while(1) {
$57 = ($$26782|0)==(5);
do {
if (!($57)) {
$58 = (($2) + ($$26782<<2)|0);
$59 = HEAP32[$58>>2]|0;
$60 = ($59|0)==(0|0);
if (!($60)) {
$61 = ((($59)) + 12|0);
$62 = HEAP32[$61>>2]|0;
$63 = $62 & 4;
$64 = ($63|0)==(0);
if (!($64)) {
$65 = (__gcry_mpi_get_opaque($59,$7)|0);
$66 = HEAP32[$7>>2]|0;
$67 = (($66) + 7)|0;
$68 = $67 >>> 3;
HEAP32[$7>>2] = $68;
$69 = (64751 + ($$26782)|0);
$70 = HEAP8[$69>>0]|0;
$71 = $70 << 24 >> 24;
HEAP32[$vararg_buffer26>>2] = $71;
$vararg_ptr29 = ((($vararg_buffer26)) + 4|0);
HEAP32[$vararg_ptr29>>2] = $68;
(_snprintf($6,30,64758,$vararg_buffer26)|0);
$72 = (_strlen($6)|0);
__gcry_md_write($0,$6,$72);
$73 = HEAP32[$7>>2]|0;
__gcry_md_write($0,$65,$73);
__gcry_md_write($0,64767,1);
break;
}
}
$74 = (__gcry_mpi_get_buffer($59,0,$8,0)|0);
$75 = ($74|0)==(0|0);
if ($75) {
break L34;
}
$76 = (64751 + ($$26782)|0);
$77 = HEAP8[$76>>0]|0;
$78 = $77 << 24 >> 24;
$79 = HEAP32[$8>>2]|0;
HEAP32[$vararg_buffer30>>2] = $78;
$vararg_ptr33 = ((($vararg_buffer30)) + 4|0);
HEAP32[$vararg_ptr33>>2] = $79;
(_snprintf($6,30,64758,$vararg_buffer30)|0);
$80 = (_strlen($6)|0);
__gcry_md_write($0,$6,$80);
$81 = HEAP32[$8>>2]|0;
__gcry_md_write($0,$74,$81);
__gcry_md_write($0,64767,1);
__gcry_free($74);
}
} while(0);
$83 = (($$26782) + 1)|0;
$84 = ($83>>>0)<(7);
if ($84) {
$$26782 = $83;
} else {
$$069 = $31;$$164 = $$06370;$$8 = 0;
break L14;
}
}
$82 = (_gpg_err_code_from_syserror()|0);
$$069 = $31;$$164 = $$06370;$$8 = $82;
}
}
}
}
}
}
}
} else {
$$069 = $9;$$164 = 0;$$8 = $$060;
}
}
} while(0);
__gcry_free($$164);
__gcry_sexp_release($$069);
$85 = HEAP32[$2>>2]|0;
__gcry_mpi_release($85);
$86 = ((($2)) + 4|0);
$87 = HEAP32[$86>>2]|0;
__gcry_mpi_release($87);
$88 = ((($2)) + 8|0);
$89 = HEAP32[$88>>2]|0;
__gcry_mpi_release($89);
$90 = ((($2)) + 12|0);
$91 = HEAP32[$90>>2]|0;
__gcry_mpi_release($91);
$92 = ((($2)) + 16|0);
$93 = HEAP32[$92>>2]|0;
__gcry_mpi_release($93);
$94 = ((($2)) + 20|0);
$95 = HEAP32[$94>>2]|0;
__gcry_mpi_release($95);
$96 = ((($2)) + 24|0);
$97 = HEAP32[$96>>2]|0;
__gcry_mpi_release($97);
STACKTOP = sp;return ($$8|0);
}
function __gcry_hash_selftest_check_one($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$022 = 0, $$025 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $spec$select = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0);
$6 = sp + 1000|0;
$7 = sp;
$8 = (__gcry_md_get_algo_dlen($0)|0);
$9 = ($8|0)==($5|0);
if (!($9)) {
$$022 = 67478;
STACKTOP = sp;return ($$022|0);
}
$10 = (__gcry_md_open($6,$0,0)|0);
$11 = ($10|0)==(0);
if (!($11)) {
$$022 = 67519;
STACKTOP = sp;return ($$022|0);
}
switch ($1|0) {
case 0: {
$12 = HEAP32[$6>>2]|0;
__gcry_md_write($12,$2,$3);
label = 8;
break;
}
case 1: {
_memset(($7|0),97,1000)|0;
$$025 = 0;
while(1) {
$13 = HEAP32[$6>>2]|0;
__gcry_md_write($13,$7,1000);
$14 = (($$025) + 1)|0;
$exitcond = ($14|0)==(1000);
if ($exitcond) {
break;
} else {
$$025 = $14;
}
}
label = 8;
break;
}
default: {
$$1 = 67461;
}
}
if ((label|0) == 8) {
$15 = HEAP32[$6>>2]|0;
$16 = (__gcry_md_read($15,$0)|0);
$17 = (_memcmp($16,$4,$5)|0);
$18 = ($17|0)==(0);
$spec$select = $18 ? 0 : 67445;
$$1 = $spec$select;
}
$19 = HEAP32[$6>>2]|0;
__gcry_md_close($19);
$$022 = $$1;
STACKTOP = sp;return ($$022|0);
}
function __gcry_md_block_write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$06376$lcssa = 0, $$0637689 = 0, $$077$lcssa = 0, $$07788 = 0, $$1 = 0, $$164 = 0, $$168 = 0, $$2 = 0, $$265 = 0, $$36673 = 0, $$374 = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0;
var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0;
var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0;
var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0;
var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 148|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4>>>0)>(128);
if ($5) {
__gcry_bug(67539,112,67553);
// unreachable;
}
$6 = ((($0)) + 152|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0|0);
if ($8) {
return;
}
$9 = ((($0)) + 144|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==($4|0);
if ($11) {
$12 = (FUNCTION_TABLE_iiii[$7 & 127]($0,$0,1)|0);
___gcry_burn_stack($12);
HEAP32[$9>>2] = 0;
$13 = ((($0)) + 128|0);
$14 = $13;
$15 = $14;
$16 = HEAP32[$15>>2]|0;
$17 = (($14) + 4)|0;
$18 = $17;
$19 = HEAP32[$18>>2]|0;
$20 = (_i64Add(($16|0),($19|0),1,0)|0);
$21 = tempRet0;
$22 = $13;
$23 = $22;
HEAP32[$23>>2] = $20;
$24 = (($22) + 4)|0;
$25 = $24;
HEAP32[$25>>2] = $21;
$26 = ($20|0)==(0);
$27 = ($21|0)==(0);
$28 = $26 & $27;
if ($28) {
$29 = ((($0)) + 136|0);
$30 = $29;
$31 = $30;
$32 = HEAP32[$31>>2]|0;
$33 = (($30) + 4)|0;
$34 = $33;
$35 = HEAP32[$34>>2]|0;
$36 = (_i64Add(($32|0),($35|0),1,0)|0);
$37 = tempRet0;
$38 = $29;
$39 = $38;
HEAP32[$39>>2] = $36;
$40 = (($38) + 4)|0;
$41 = $40;
HEAP32[$41>>2] = $37;
$44 = 0;
} else {
$44 = 0;
}
} else {
$44 = $10;
}
$42 = ($1|0)==(0|0);
if ($42) {
return;
}
$43 = ($44|0)==(0);
L14: do {
if ($43) {
$$1 = $2;$$164 = $1;
} else {
$45 = ($2|0)==(0);
L16: do {
if (!($45)) {
$46 = ($44>>>0)<($4>>>0);
if ($46) {
$$0637689 = $1;$$07788 = $2;$49 = $44;
while(1) {
$47 = HEAP8[$$0637689>>0]|0;
$48 = (($49) + 1)|0;
HEAP32[$9>>2] = $48;
$50 = (($0) + ($49)|0);
HEAP8[$50>>0] = $47;
$51 = (($$07788) + -1)|0;
$52 = ($51|0)==(0);
if ($52) {
break L16;
}
$53 = ((($$0637689)) + 1|0);
$$pre = HEAP32[$9>>2]|0;
$54 = ($$pre>>>0)<($4>>>0);
if ($54) {
$$0637689 = $53;$$07788 = $51;$49 = $$pre;
} else {
$$06376$lcssa = $53;$$077$lcssa = $51;$$lcssa = $$pre;
break;
}
}
} else {
$$06376$lcssa = $1;$$077$lcssa = $2;$$lcssa = $44;
}
$55 = HEAP32[$3>>2]|0;
$56 = ($55>>>0)>(128);
if ($56) {
__gcry_bug(67539,112,67553);
// unreachable;
}
$57 = HEAP32[$6>>2]|0;
$58 = ($57|0)!=(0|0);
$59 = ($$lcssa|0)==($55|0);
$or$cond = $59 & $58;
if (!($or$cond)) {
$$1 = $$077$lcssa;$$164 = $$06376$lcssa;
break L14;
}
$60 = (FUNCTION_TABLE_iiii[$57 & 127]($0,$0,1)|0);
___gcry_burn_stack($60);
HEAP32[$9>>2] = 0;
$61 = ((($0)) + 128|0);
$62 = $61;
$63 = $62;
$64 = HEAP32[$63>>2]|0;
$65 = (($62) + 4)|0;
$66 = $65;
$67 = HEAP32[$66>>2]|0;
$68 = (_i64Add(($64|0),($67|0),1,0)|0);
$69 = tempRet0;
$70 = $61;
$71 = $70;
HEAP32[$71>>2] = $68;
$72 = (($70) + 4)|0;
$73 = $72;
HEAP32[$73>>2] = $69;
$74 = ($68|0)==(0);
$75 = ($69|0)==(0);
$76 = $74 & $75;
if (!($76)) {
$$1 = $$077$lcssa;$$164 = $$06376$lcssa;
break L14;
}
$77 = ((($0)) + 136|0);
$78 = $77;
$79 = $78;
$80 = HEAP32[$79>>2]|0;
$81 = (($78) + 4)|0;
$82 = $81;
$83 = HEAP32[$82>>2]|0;
$84 = (_i64Add(($80|0),($83|0),1,0)|0);
$85 = tempRet0;
$86 = $77;
$87 = $86;
HEAP32[$87>>2] = $84;
$88 = (($86) + 4)|0;
$89 = $88;
HEAP32[$89>>2] = $85;
$$1 = $$077$lcssa;$$164 = $$06376$lcssa;
break L14;
}
} while(0);
$90 = HEAP32[$3>>2]|0;
$91 = ($90>>>0)>(128);
if ($91) {
__gcry_bug(67539,112,67553);
// unreachable;
}
$92 = HEAP32[$6>>2]|0;
$93 = ($92|0)==(0|0);
if ($93) {
return;
}
$94 = HEAP32[$9>>2]|0;
$95 = ($94|0)==($90|0);
if (!($95)) {
return;
}
$96 = (FUNCTION_TABLE_iiii[$92 & 127]($0,$0,1)|0);
___gcry_burn_stack($96);
HEAP32[$9>>2] = 0;
$97 = ((($0)) + 128|0);
$98 = $97;
$99 = $98;
$100 = HEAP32[$99>>2]|0;
$101 = (($98) + 4)|0;
$102 = $101;
$103 = HEAP32[$102>>2]|0;
$104 = (_i64Add(($100|0),($103|0),1,0)|0);
$105 = tempRet0;
$106 = $97;
$107 = $106;
HEAP32[$107>>2] = $104;
$108 = (($106) + 4)|0;
$109 = $108;
HEAP32[$109>>2] = $105;
$110 = ($104|0)==(0);
$111 = ($105|0)==(0);
$112 = $110 & $111;
if (!($112)) {
return;
}
$113 = ((($0)) + 136|0);
$114 = $113;
$115 = $114;
$116 = HEAP32[$115>>2]|0;
$117 = (($114) + 4)|0;
$118 = $117;
$119 = HEAP32[$118>>2]|0;
$120 = (_i64Add(($116|0),($119|0),1,0)|0);
$121 = tempRet0;
$122 = $113;
$123 = $122;
HEAP32[$123>>2] = $120;
$124 = (($122) + 4)|0;
$125 = $124;
HEAP32[$125>>2] = $121;
return;
}
} while(0);
$126 = ($$1>>>0)<($4>>>0);
if ($126) {
$$168 = 0;$$2 = $$1;$$265 = $$164;
} else {
$127 = (($$1>>>0) / ($4>>>0))&-1;
$128 = HEAP32[$6>>2]|0;
$129 = (FUNCTION_TABLE_iiii[$128 & 127]($0,$$164,$127)|0);
HEAP32[$9>>2] = 0;
$130 = ((($0)) + 128|0);
$131 = $130;
$132 = $131;
$133 = HEAP32[$132>>2]|0;
$134 = (($131) + 4)|0;
$135 = $134;
$136 = HEAP32[$135>>2]|0;
$137 = (_i64Add(($133|0),($136|0),($127|0),0)|0);
$138 = tempRet0;
$139 = ($138>>>0)<(0);
$140 = ($137>>>0)<($127>>>0);
$141 = ($138|0)==(0);
$142 = $141 & $140;
$143 = $139 | $142;
$144 = $143&1;
$145 = ((($0)) + 136|0);
$146 = $145;
$147 = $146;
$148 = HEAP32[$147>>2]|0;
$149 = (($146) + 4)|0;
$150 = $149;
$151 = HEAP32[$150>>2]|0;
$152 = (_i64Add(($148|0),($151|0),($144|0),0)|0);
$153 = tempRet0;
$154 = $145;
$155 = $154;
HEAP32[$155>>2] = $152;
$156 = (($154) + 4)|0;
$157 = $156;
HEAP32[$157>>2] = $153;
$158 = $130;
$159 = $158;
HEAP32[$159>>2] = $137;
$160 = (($158) + 4)|0;
$161 = $160;
HEAP32[$161>>2] = $138;
$162 = Math_imul($127, $4)|0;
$163 = (($$1) - ($162))|0;
$164 = (($$164) + ($162)|0);
$$168 = $129;$$2 = $163;$$265 = $164;
}
___gcry_burn_stack($$168);
$165 = ($$2|0)==(0);
if ($165) {
return;
}
$$36673 = $$265;$$374 = $$2;
while(1) {
$166 = HEAP32[$9>>2]|0;
$167 = ($166>>>0)<($4>>>0);
if (!($167)) {
label = 31;
break;
}
$168 = ((($$36673)) + 1|0);
$169 = HEAP8[$$36673>>0]|0;
$170 = (($166) + 1)|0;
HEAP32[$9>>2] = $170;
$171 = (($0) + ($166)|0);
HEAP8[$171>>0] = $169;
$172 = (($$374) + -1)|0;
$173 = ($172|0)==(0);
if ($173) {
label = 31;
break;
} else {
$$36673 = $168;$$374 = $172;
}
}
if ((label|0) == 31) {
return;
}
}
function __gcry_poly1305_update($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$02434$i = 0, $$02434$i66 = 0, $$02533$i = 0, $$02533$i67 = 0, $$026$i70 = 0, $$028$i69 = 0, $$035$i = 0, $$035$i65 = 0, $$057 = 0, $$1 = 0, $$1$i71 = 0, $$12731$i = 0, $$12731$i$ph = 0, $$12731$i75 = 0, $$12930$i = 0, $$12930$i$ph = 0, $$12930$i76 = 0, $$158 = 0, $$160 = 0;
var $$2 = 0, $$232$i = 0, $$232$i$ph = 0, $$232$i74 = 0, $$pre = 0, $$pre81 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $or$cond$i = 0, $or$cond$i61 = 0, $scevgep$i = 0, $scevgep$i62 = 0, $scevgep44$i = 0, $scevgep44$i63 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 3|0);
$4 = $3;
$5 = $4 & 3;
$6 = (0 - ($5))|0;
$7 = (($3) + ($6)|0);
$8 = ((($0)) + 84|0);
$9 = HEAP32[$8>>2]|0;
$10 = HEAP32[$9>>2]|0;
$11 = ((($0)) + 88|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0);
do {
if ($13) {
$$0 = $1;$$057 = $2;$$160 = 0;
} else {
$14 = (($10) - ($12))|0;
$15 = ($14>>>0)>($2>>>0);
$spec$select = $15 ? $2 : $14;
$16 = (((($0)) + 68|0) + ($12)|0);
$17 = $16;
$18 = $1;
$19 = $17 | $18;
$20 = $19 & 3;
$21 = ($20|0)==(0);
$22 = ($spec$select>>>0)>(3);
$or$cond$i61 = $22 & $21;
if ($or$cond$i61) {
$23 = (($spec$select) + -4)|0;
$24 = $23 & -4;
$25 = (($24) + 4)|0;
$scevgep$i62 = (($1) + ($25)|0);
$$02434$i66 = $1;$$02533$i67 = $16;$$035$i65 = $spec$select;
while(1) {
$26 = ((($$02434$i66)) + 4|0);
$27 = HEAP32[$$02434$i66>>2]|0;
$28 = ((($$02533$i67)) + 4|0);
HEAP32[$$02533$i67>>2] = $27;
$29 = (($$035$i65) + -4)|0;
$30 = ($29>>>0)>(3);
if ($30) {
$$02434$i66 = $26;$$02533$i67 = $28;$$035$i65 = $29;
} else {
break;
}
}
$scevgep44$i63 = (($16) + ($25)|0);
$31 = (($23) - ($24))|0;
$$026$i70 = $scevgep$i62;$$028$i69 = $scevgep44$i63;$$1$i71 = $31;
} else {
$$026$i70 = $1;$$028$i69 = $16;$$1$i71 = $spec$select;
}
$32 = ($$1$i71|0)==(0);
if ($32) {
$39 = $12;
} else {
$$12731$i75 = $$026$i70;$$12930$i76 = $$028$i69;$$232$i74 = $$1$i71;
while(1) {
$33 = ((($$12731$i75)) + 1|0);
$34 = HEAP8[$$12731$i75>>0]|0;
$35 = ((($$12930$i76)) + 1|0);
HEAP8[$$12930$i76>>0] = $34;
$36 = (($$232$i74) + -1)|0;
$37 = ($36|0)==(0);
if ($37) {
break;
} else {
$$12731$i75 = $33;$$12930$i76 = $35;$$232$i74 = $36;
}
}
$$pre = HEAP32[$11>>2]|0;
$39 = $$pre;
}
$38 = (($39) + ($spec$select))|0;
HEAP32[$11>>2] = $38;
$40 = ($38>>>0)<($10>>>0);
if ($40) {
return;
} else {
$41 = (($1) + ($spec$select)|0);
$42 = (($2) - ($spec$select))|0;
$43 = ((($0)) + 68|0);
$44 = HEAP32[$8>>2]|0;
$45 = ((($44)) + 8|0);
$46 = HEAP32[$45>>2]|0;
$47 = (FUNCTION_TABLE_iiii[$46 & 127]($7,$43,$10)|0);
HEAP32[$11>>2] = 0;
$$0 = $41;$$057 = $42;$$160 = $47;
break;
}
}
} while(0);
$48 = ($$057>>>0)<($10>>>0);
$49 = (0 - ($10))|0;
$50 = $$057 & $49;
if ($48) {
$$1 = $$0;$$158 = $$057;$$2 = $$160;
} else {
$51 = (($$057) - ($50))|0;
$52 = (($$0) + ($50)|0);
$53 = HEAP32[$8>>2]|0;
$54 = ((($53)) + 8|0);
$55 = HEAP32[$54>>2]|0;
$56 = (FUNCTION_TABLE_iiii[$55 & 127]($7,$$0,$50)|0);
$$1 = $52;$$158 = $51;$$2 = $56;
}
$57 = ($$158|0)==(0);
if (!($57)) {
$58 = HEAP32[$11>>2]|0;
$59 = (((($0)) + 68|0) + ($58)|0);
$60 = $59;
$61 = $$1;
$62 = $60 | $61;
$63 = $62 & 3;
$64 = ($63|0)==(0);
$65 = ($$158>>>0)>(3);
$or$cond$i = $65 & $64;
if ($or$cond$i) {
$66 = (($$158) + -4)|0;
$67 = $66 & -4;
$68 = (($67) + 4)|0;
$scevgep$i = (($$1) + ($68)|0);
$$02434$i = $$1;$$02533$i = $59;$$035$i = $$158;
while(1) {
$69 = ((($$02434$i)) + 4|0);
$70 = HEAP32[$$02434$i>>2]|0;
$71 = ((($$02533$i)) + 4|0);
HEAP32[$$02533$i>>2] = $70;
$72 = (($$035$i) + -4)|0;
$73 = ($72>>>0)>(3);
if ($73) {
$$02434$i = $69;$$02533$i = $71;$$035$i = $72;
} else {
break;
}
}
$scevgep44$i = (($59) + ($68)|0);
$74 = (($66) - ($67))|0;
$75 = ($74|0)==(0);
if ($75) {
$82 = $58;
} else {
$$12731$i$ph = $scevgep$i;$$12930$i$ph = $scevgep44$i;$$232$i$ph = $74;
label = 19;
}
} else {
$$12731$i$ph = $$1;$$12930$i$ph = $59;$$232$i$ph = $$158;
label = 19;
}
if ((label|0) == 19) {
$$12731$i = $$12731$i$ph;$$12930$i = $$12930$i$ph;$$232$i = $$232$i$ph;
while(1) {
$76 = ((($$12731$i)) + 1|0);
$77 = HEAP8[$$12731$i>>0]|0;
$78 = ((($$12930$i)) + 1|0);
HEAP8[$$12930$i>>0] = $77;
$79 = (($$232$i) + -1)|0;
$80 = ($79|0)==(0);
if ($80) {
break;
} else {
$$12731$i = $76;$$12930$i = $78;$$232$i = $79;
}
}
$$pre81 = HEAP32[$11>>2]|0;
$82 = $$pre81;
}
$81 = (($82) + ($$158))|0;
HEAP32[$11>>2] = $81;
}
$83 = ($$2|0)==(0);
if ($83) {
return;
}
___gcry_burn_stack($$2);
return;
}
function __gcry_poly1305_init($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$015$i56 = 0, $$016$i = 0, $$036$lcssa64 = 0, $$03648 = 0, $$037$lcssa63 = 0, $$03747 = 0, $$1 = 0, $$138 = 0, $$2 = 0, $$239 = 0, $$34045 = 0, $$346 = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $scevgep = 0;
var $spec$select = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(528|0);
$vararg_buffer = sp + 304|0;
$3 = sp + 436|0;
$4 = sp + 344|0;
$5 = sp + 272|0;
$6 = sp + 16|0;
$7 = sp;
$8 = sp + 312|0;
$9 = HEAP32[18129]|0;
$10 = ($9|0)==(0);
if ($10) {
HEAP32[18129] = 1;
dest=$3; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
dest=$4; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;
_poly1305_auth($7,16288,131,16432);
$11 = (_memcmp(16464,$7,16)|0);
$12 = ($11|0)==(0);
if ($12) {
;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;
(__gcry_poly1305_init($3,16432,32)|0);
__gcry_poly1305_update($3,16288,32);
__gcry_poly1305_update($3,(16320),64);
__gcry_poly1305_update($3,(16384),16);
__gcry_poly1305_update($3,(16400),8);
__gcry_poly1305_update($3,(16408),4);
__gcry_poly1305_update($3,(16412),2);
__gcry_poly1305_update($3,(16414),1);
__gcry_poly1305_update($3,(16415),1);
__gcry_poly1305_update($3,(16416),1);
__gcry_poly1305_update($3,(16417),1);
__gcry_poly1305_update($3,(16418),1);
$13 = ((($3)) + 3|0);
$14 = $13;
$15 = $14 & 3;
$16 = (0 - ($15))|0;
$17 = (($13) + ($16)|0);
$18 = ((($3)) + 84|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($19)) + 12|0);
$21 = HEAP32[$20>>2]|0;
$22 = ((($3)) + 68|0);
$23 = ((($3)) + 88|0);
$24 = HEAP32[$23>>2]|0;
$25 = (FUNCTION_TABLE_iiiii[$21 & 127]($17,$22,$24,$7)|0);
___gcry_burn_stack($25);
$26 = (_memcmp(16464,$7,16)|0);
$27 = ($26|0)==(0);
if ($27) {
;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;
_poly1305_auth($7,16480,16,16496);
$28 = (_memcmp(16528,$7,16)|0);
$29 = ($28|0)==(0);
if ($29) {
(__gcry_poly1305_init($4,16544,32)|0);
$$015$i56 = 0;
while(1) {
$30 = $$015$i56&255;
_memset(($5|0),($30|0),32)|0;
$31 = ($$015$i56|0)==(0);
if (!($31)) {
_memset(($6|0),($30|0),($$015$i56|0))|0;
}
_poly1305_auth($7,$6,$$015$i56,$5);
__gcry_poly1305_update($4,$7,16);
$32 = (($$015$i56) + 1)|0;
$exitcond = ($32|0)==(256);
if ($exitcond) {
break;
} else {
$$015$i56 = $32;
}
}
$33 = ((($4)) + 3|0);
$34 = $33;
$35 = $34 & 3;
$36 = (0 - ($35))|0;
$37 = (($33) + ($36)|0);
$38 = ((($4)) + 84|0);
$39 = HEAP32[$38>>2]|0;
$40 = ((($39)) + 12|0);
$41 = HEAP32[$40>>2]|0;
$42 = ((($4)) + 68|0);
$43 = ((($4)) + 88|0);
$44 = HEAP32[$43>>2]|0;
$45 = (FUNCTION_TABLE_iiiii[$41 & 127]($37,$42,$44,$7)|0);
___gcry_burn_stack($45);
$46 = (_memcmp(16576,$7,16)|0);
$47 = ($46|0)==(0);
$spec$select = $47 ? 0 : 67574;
$$016$i = $spec$select;
} else {
$$016$i = 67646;
}
} else {
$$016$i = 67622;
}
} else {
$$016$i = 67598;
}
HEAP32[18130] = $$016$i;
$48 = ($$016$i|0)==(0|0);
if (!($48)) {
HEAP32[$vararg_buffer>>2] = $$016$i;
__gcry_log_error(67670,$vararg_buffer);
}
}
$49 = ($2|0)==(32);
if (!($49)) {
$$0 = 44;
STACKTOP = sp;return ($$0|0);
}
$50 = HEAP32[18130]|0;
$51 = ($50|0)==(0|0);
if (!($51)) {
$$0 = 50;
STACKTOP = sp;return ($$0|0);
}
$52 = ((($0)) + 84|0);
HEAP32[$52>>2] = 40192;
$53 = $8;
$54 = $1;
$55 = $54 & 3;
$56 = ($55|0)==(0);
if ($56) {
$57 = ((($1)) + 4|0);
$58 = HEAP32[$1>>2]|0;
$59 = ((($8)) + 4|0);
HEAP32[$8>>2] = $58;
$60 = ((($1)) + 8|0);
$61 = HEAP32[$57>>2]|0;
$62 = ((($8)) + 8|0);
HEAP32[$59>>2] = $61;
$63 = ((($1)) + 12|0);
$64 = HEAP32[$60>>2]|0;
$65 = ((($8)) + 12|0);
HEAP32[$62>>2] = $64;
$66 = ((($1)) + 16|0);
$67 = HEAP32[$63>>2]|0;
$68 = ((($8)) + 16|0);
HEAP32[$65>>2] = $67;
$69 = ((($1)) + 20|0);
$70 = HEAP32[$66>>2]|0;
$71 = ((($8)) + 20|0);
HEAP32[$68>>2] = $70;
$72 = ((($1)) + 24|0);
$73 = HEAP32[$69>>2]|0;
$74 = ((($8)) + 24|0);
HEAP32[$71>>2] = $73;
$75 = ((($1)) + 28|0);
$76 = HEAP32[$72>>2]|0;
$77 = ((($8)) + 28|0);
HEAP32[$74>>2] = $76;
$78 = HEAP32[$75>>2]|0;
HEAP32[$77>>2] = $78;
$180 = 40192;
} else {
$79 = ((($1)) + 1|0);
$80 = HEAP8[$1>>0]|0;
$81 = ((($8)) + 1|0);
HEAP8[$8>>0] = $80;
$82 = ((($1)) + 2|0);
$83 = HEAP8[$79>>0]|0;
$84 = ((($8)) + 2|0);
HEAP8[$81>>0] = $83;
$85 = ((($1)) + 3|0);
$86 = HEAP8[$82>>0]|0;
$87 = ((($8)) + 3|0);
HEAP8[$84>>0] = $86;
$88 = ((($1)) + 4|0);
$89 = HEAP8[$85>>0]|0;
$90 = ((($8)) + 4|0);
HEAP8[$87>>0] = $89;
$91 = ((($1)) + 5|0);
$92 = HEAP8[$88>>0]|0;
$93 = ((($8)) + 5|0);
HEAP8[$90>>0] = $92;
$94 = ((($1)) + 6|0);
$95 = HEAP8[$91>>0]|0;
$96 = ((($8)) + 6|0);
HEAP8[$93>>0] = $95;
$97 = ((($1)) + 7|0);
$98 = HEAP8[$94>>0]|0;
$99 = ((($8)) + 7|0);
HEAP8[$96>>0] = $98;
$100 = ((($1)) + 8|0);
$101 = HEAP8[$97>>0]|0;
$102 = ((($8)) + 8|0);
HEAP8[$99>>0] = $101;
$103 = ((($1)) + 9|0);
$104 = HEAP8[$100>>0]|0;
$105 = ((($8)) + 9|0);
HEAP8[$102>>0] = $104;
$106 = ((($1)) + 10|0);
$107 = HEAP8[$103>>0]|0;
$108 = ((($8)) + 10|0);
HEAP8[$105>>0] = $107;
$109 = ((($1)) + 11|0);
$110 = HEAP8[$106>>0]|0;
$111 = ((($8)) + 11|0);
HEAP8[$108>>0] = $110;
$112 = ((($1)) + 12|0);
$113 = HEAP8[$109>>0]|0;
$114 = ((($8)) + 12|0);
HEAP8[$111>>0] = $113;
$115 = ((($1)) + 13|0);
$116 = HEAP8[$112>>0]|0;
$117 = ((($8)) + 13|0);
HEAP8[$114>>0] = $116;
$118 = ((($1)) + 14|0);
$119 = HEAP8[$115>>0]|0;
$120 = ((($8)) + 14|0);
HEAP8[$117>>0] = $119;
$121 = ((($1)) + 15|0);
$122 = HEAP8[$118>>0]|0;
$123 = ((($8)) + 15|0);
HEAP8[$120>>0] = $122;
$124 = ((($1)) + 16|0);
$125 = HEAP8[$121>>0]|0;
$126 = ((($8)) + 16|0);
HEAP8[$123>>0] = $125;
$127 = ((($1)) + 17|0);
$128 = HEAP8[$124>>0]|0;
$129 = ((($8)) + 17|0);
HEAP8[$126>>0] = $128;
$130 = ((($1)) + 18|0);
$131 = HEAP8[$127>>0]|0;
$132 = ((($8)) + 18|0);
HEAP8[$129>>0] = $131;
$133 = ((($1)) + 19|0);
$134 = HEAP8[$130>>0]|0;
$135 = ((($8)) + 19|0);
HEAP8[$132>>0] = $134;
$136 = ((($1)) + 20|0);
$137 = HEAP8[$133>>0]|0;
$138 = ((($8)) + 20|0);
HEAP8[$135>>0] = $137;
$139 = ((($1)) + 21|0);
$140 = HEAP8[$136>>0]|0;
$141 = ((($8)) + 21|0);
HEAP8[$138>>0] = $140;
$142 = ((($1)) + 22|0);
$143 = HEAP8[$139>>0]|0;
$144 = ((($8)) + 22|0);
HEAP8[$141>>0] = $143;
$145 = ((($1)) + 23|0);
$146 = HEAP8[$142>>0]|0;
$147 = ((($8)) + 23|0);
HEAP8[$144>>0] = $146;
$148 = ((($1)) + 24|0);
$149 = HEAP8[$145>>0]|0;
$150 = ((($8)) + 24|0);
HEAP8[$147>>0] = $149;
$151 = ((($1)) + 25|0);
$152 = HEAP8[$148>>0]|0;
$153 = ((($8)) + 25|0);
HEAP8[$150>>0] = $152;
$154 = ((($1)) + 26|0);
$155 = HEAP8[$151>>0]|0;
$156 = ((($8)) + 26|0);
HEAP8[$153>>0] = $155;
$157 = ((($1)) + 27|0);
$158 = HEAP8[$154>>0]|0;
$159 = ((($8)) + 27|0);
HEAP8[$156>>0] = $158;
$160 = ((($1)) + 28|0);
$161 = HEAP8[$157>>0]|0;
$162 = ((($8)) + 28|0);
HEAP8[$159>>0] = $161;
$163 = ((($1)) + 29|0);
$164 = HEAP8[$160>>0]|0;
$165 = ((($8)) + 29|0);
HEAP8[$162>>0] = $164;
$166 = ((($1)) + 30|0);
$167 = HEAP8[$163>>0]|0;
$168 = ((($8)) + 30|0);
HEAP8[$165>>0] = $167;
$169 = ((($1)) + 31|0);
$170 = HEAP8[$166>>0]|0;
$171 = ((($8)) + 31|0);
HEAP8[$168>>0] = $170;
$172 = HEAP8[$169>>0]|0;
HEAP8[$171>>0] = $172;
$$pre = HEAP32[$52>>2]|0;
$180 = $$pre;
}
$173 = ((($0)) + 3|0);
$174 = $173;
$175 = $174 & 3;
$176 = (0 - ($175))|0;
$177 = (($173) + ($176)|0);
$178 = ((($0)) + 88|0);
HEAP32[$178>>2] = 0;
$179 = ((($180)) + 4|0);
$181 = HEAP32[$179>>2]|0;
FUNCTION_TABLE_vii[$181 & 63]($177,$8);
$182 = $53 & 4;
$183 = ($182|0)==(0);
if ($183) {
$$036$lcssa64 = 32;$$037$lcssa63 = $8;
label = 21;
} else {
$$03648 = 32;$$03747 = $8;
while(1) {
HEAP8[$$03747>>0] = 0;
$184 = ((($$03747)) + 1|0);
$185 = (($$03648) + -1)|0;
$186 = $184;
$187 = $186 & 7;
$188 = ($187|0)!=(0);
$189 = ($185|0)!=(0);
$190 = $189 & $188;
if ($190) {
$$03648 = $185;$$03747 = $184;
} else {
break;
}
}
$191 = ($185>>>0)<(8);
if ($191) {
$$2 = $185;$$239 = $184;
} else {
$$036$lcssa64 = $185;$$037$lcssa63 = $184;
label = 21;
}
}
if ((label|0) == 21) {
$192 = (($$036$lcssa64) + -8)|0;
$193 = $192 & -8;
$194 = (($193) + 8)|0;
$$1 = $$036$lcssa64;$$138 = $$037$lcssa63;
while(1) {
$195 = $$138;
$196 = $195;
HEAP32[$196>>2] = 0;
$197 = (($195) + 4)|0;
$198 = $197;
HEAP32[$198>>2] = 0;
$199 = (($$1) + -8)|0;
$200 = ((($$138)) + 8|0);
$201 = ($199>>>0)>(7);
if ($201) {
$$1 = $199;$$138 = $200;
} else {
break;
}
}
$202 = (($192) - ($193))|0;
$scevgep = (($$037$lcssa63) + ($194)|0);
$$2 = $202;$$239 = $scevgep;
}
$203 = ($$2|0)==(0);
if ($203) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$$34045 = $$239;$$346 = $$2;
while(1) {
HEAP8[$$34045>>0] = 0;
$204 = ((($$34045)) + 1|0);
$205 = (($$346) + -1)|0;
$206 = ($205|0)==(0);
if ($206) {
$$0 = 0;
break;
} else {
$$34045 = $204;$$346 = $205;
}
}
STACKTOP = sp;return ($$0|0);
}
function _poly1305_auth($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$lcssa49 = 0, $$032$lcssa48 = 0, $$03239 = 0, $$040 = 0, $$1 = 0, $$133 = 0, $$2 = 0, $$234 = 0, $$33537 = 0, $$338 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
$4 = sp;
dest=$4; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
(__gcry_poly1305_init($4,$3,32)|0);
__gcry_poly1305_update($4,$1,$2);
$5 = ((($4)) + 3|0);
$6 = $5;
$7 = $6 & 3;
$8 = (0 - ($7))|0;
$9 = (($5) + ($8)|0);
$10 = ((($4)) + 84|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($11)) + 12|0);
$13 = HEAP32[$12>>2]|0;
$14 = ((($4)) + 68|0);
$15 = ((($4)) + 88|0);
$16 = HEAP32[$15>>2]|0;
$17 = (FUNCTION_TABLE_iiiii[$13 & 127]($9,$14,$16,$0)|0);
___gcry_burn_stack($17);
$18 = $4;
$19 = $18 & 4;
$20 = ($19|0)==(0);
if ($20) {
$$0$lcssa49 = $4;$$032$lcssa48 = 92;
label = 5;
} else {
$$03239 = 92;$$040 = $4;
while(1) {
HEAP8[$$040>>0] = 0;
$21 = ((($$040)) + 1|0);
$22 = (($$03239) + -1)|0;
$23 = $21;
$24 = $23 & 7;
$25 = ($24|0)!=(0);
$26 = ($22|0)!=(0);
$27 = $26 & $25;
if ($27) {
$$03239 = $22;$$040 = $21;
} else {
break;
}
}
$28 = ($22>>>0)<(8);
if ($28) {
$$2 = $21;$$234 = $22;
} else {
$$0$lcssa49 = $21;$$032$lcssa48 = $22;
label = 5;
}
}
if ((label|0) == 5) {
$29 = (($$032$lcssa48) + -8)|0;
$30 = $29 & -8;
$31 = (($30) + 8)|0;
$$1 = $$0$lcssa49;$$133 = $$032$lcssa48;
while(1) {
$32 = $$1;
$33 = $32;
HEAP32[$33>>2] = 0;
$34 = (($32) + 4)|0;
$35 = $34;
HEAP32[$35>>2] = 0;
$36 = (($$133) + -8)|0;
$37 = ((($$1)) + 8|0);
$38 = ($36>>>0)>(7);
if ($38) {
$$1 = $37;$$133 = $36;
} else {
break;
}
}
$39 = (($29) - ($30))|0;
$scevgep = (($$0$lcssa49) + ($31)|0);
$$2 = $scevgep;$$234 = $39;
}
$40 = ($$234|0)==(0);
if ($40) {
STACKTOP = sp;return;
}
$$33537 = $$234;$$338 = $$2;
while(1) {
HEAP8[$$338>>0] = 0;
$41 = ((($$338)) + 1|0);
$42 = (($$33537) + -1)|0;
$43 = ($42|0)==(0);
if ($43) {
break;
} else {
$$33537 = $42;$$338 = $41;
}
}
STACKTOP = sp;return;
}
function _poly1305_init_ext_ref32($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$masked = 0, $$masked26 = 0, $$masked27 = 0, $$masked28 = 0, $$masked29 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($1)) + 3|0);
$3 = HEAP8[$2>>0]|0;
$4 = $3&255;
$5 = $4 << 24;
$6 = ((($1)) + 2|0);
$7 = HEAP8[$6>>0]|0;
$8 = $7&255;
$9 = $8 << 16;
$10 = ((($1)) + 1|0);
$11 = HEAP8[$10>>0]|0;
$12 = $11&255;
$13 = $12 << 8;
$14 = HEAP8[$1>>0]|0;
$15 = $14&255;
$$masked27 = $5 & 50331648;
$$masked26 = $9 | $$masked27;
$$masked = $$masked26 | $13;
$16 = $$masked | $15;
HEAP32[$0>>2] = $16;
$17 = ((($1)) + 6|0);
$18 = HEAP8[$17>>0]|0;
$19 = $18&255;
$20 = $19 << 24;
$21 = ((($1)) + 5|0);
$22 = HEAP8[$21>>0]|0;
$23 = $22&255;
$24 = $23 << 16;
$25 = $24 | $20;
$26 = ((($1)) + 4|0);
$27 = HEAP8[$26>>0]|0;
$28 = $27&255;
$29 = $28 << 8;
$30 = $25 | $29;
$31 = HEAP8[$2>>0]|0;
$32 = $31&255;
$33 = $30 | $32;
$34 = $33 >>> 2;
$35 = $34 & 67108611;
$36 = ((($0)) + 4|0);
HEAP32[$36>>2] = $35;
$37 = ((($1)) + 9|0);
$38 = HEAP8[$37>>0]|0;
$39 = $38&255;
$40 = $39 << 24;
$41 = ((($1)) + 8|0);
$42 = HEAP8[$41>>0]|0;
$43 = $42&255;
$44 = $43 << 16;
$45 = $44 | $40;
$46 = ((($1)) + 7|0);
$47 = HEAP8[$46>>0]|0;
$48 = $47&255;
$49 = $48 << 8;
$50 = $45 | $49;
$51 = HEAP8[$17>>0]|0;
$52 = $51&255;
$53 = $50 | $52;
$54 = $53 >>> 4;
$55 = $54 & 67092735;
$56 = ((($0)) + 8|0);
HEAP32[$56>>2] = $55;
$57 = ((($1)) + 12|0);
$58 = HEAP8[$57>>0]|0;
$59 = $58&255;
$60 = $59 << 24;
$61 = ((($1)) + 11|0);
$62 = HEAP8[$61>>0]|0;
$63 = $62&255;
$64 = $63 << 16;
$65 = $64 | $60;
$66 = ((($1)) + 10|0);
$67 = HEAP8[$66>>0]|0;
$68 = $67&255;
$69 = $68 << 8;
$70 = $65 | $69;
$71 = HEAP8[$37>>0]|0;
$72 = $71&255;
$73 = $70 | $72;
$74 = $73 >>> 6;
$75 = $74 & 66076671;
$76 = ((($0)) + 12|0);
HEAP32[$76>>2] = $75;
$77 = ((($1)) + 15|0);
$78 = HEAP8[$77>>0]|0;
$79 = $78&255;
$80 = $79 << 16;
$81 = ((($1)) + 14|0);
$82 = HEAP8[$81>>0]|0;
$83 = $82&255;
$84 = $83 << 8;
$85 = ((($1)) + 13|0);
$86 = HEAP8[$85>>0]|0;
$87 = $86&255;
$$masked29 = $80 & 983040;
$$masked28 = $84 | $$masked29;
$88 = $$masked28 | $87;
$89 = ((($0)) + 16|0);
HEAP32[$89>>2] = $88;
$90 = ((($0)) + 20|0);
$91 = ((($1)) + 16|0);
$92 = ((($1)) + 19|0);
;HEAP32[$90>>2]=0|0;HEAP32[$90+4>>2]=0|0;HEAP32[$90+8>>2]=0|0;HEAP32[$90+12>>2]=0|0;HEAP32[$90+16>>2]=0|0;
$93 = HEAP8[$92>>0]|0;
$94 = $93&255;
$95 = $94 << 24;
$96 = ((($1)) + 18|0);
$97 = HEAP8[$96>>0]|0;
$98 = $97&255;
$99 = $98 << 16;
$100 = $99 | $95;
$101 = ((($1)) + 17|0);
$102 = HEAP8[$101>>0]|0;
$103 = $102&255;
$104 = $103 << 8;
$105 = $100 | $104;
$106 = HEAP8[$91>>0]|0;
$107 = $106&255;
$108 = $105 | $107;
$109 = ((($0)) + 40|0);
HEAP32[$109>>2] = $108;
$110 = ((($1)) + 20|0);
$111 = ((($1)) + 23|0);
$112 = HEAP8[$111>>0]|0;
$113 = $112&255;
$114 = $113 << 24;
$115 = ((($1)) + 22|0);
$116 = HEAP8[$115>>0]|0;
$117 = $116&255;
$118 = $117 << 16;
$119 = $118 | $114;
$120 = ((($1)) + 21|0);
$121 = HEAP8[$120>>0]|0;
$122 = $121&255;
$123 = $122 << 8;
$124 = $119 | $123;
$125 = HEAP8[$110>>0]|0;
$126 = $125&255;
$127 = $124 | $126;
$128 = ((($0)) + 44|0);
HEAP32[$128>>2] = $127;
$129 = ((($1)) + 24|0);
$130 = ((($1)) + 27|0);
$131 = HEAP8[$130>>0]|0;
$132 = $131&255;
$133 = $132 << 24;
$134 = ((($1)) + 26|0);
$135 = HEAP8[$134>>0]|0;
$136 = $135&255;
$137 = $136 << 16;
$138 = $137 | $133;
$139 = ((($1)) + 25|0);
$140 = HEAP8[$139>>0]|0;
$141 = $140&255;
$142 = $141 << 8;
$143 = $138 | $142;
$144 = HEAP8[$129>>0]|0;
$145 = $144&255;
$146 = $143 | $145;
$147 = ((($0)) + 48|0);
HEAP32[$147>>2] = $146;
$148 = ((($1)) + 28|0);
$149 = ((($1)) + 31|0);
$150 = HEAP8[$149>>0]|0;
$151 = $150&255;
$152 = $151 << 24;
$153 = ((($1)) + 30|0);
$154 = HEAP8[$153>>0]|0;
$155 = $154&255;
$156 = $155 << 16;
$157 = $156 | $152;
$158 = ((($1)) + 29|0);
$159 = HEAP8[$158>>0]|0;
$160 = $159&255;
$161 = $160 << 8;
$162 = $157 | $161;
$163 = HEAP8[$148>>0]|0;
$164 = $163&255;
$165 = $162 | $164;
$166 = ((($0)) + 52|0);
HEAP32[$166>>2] = $165;
$167 = ((($0)) + 56|0);
HEAP8[$167>>0] = 0;
return;
}
function _poly1305_blocks_ref32($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0156169 = 0, $$0157$lcssa = 0, $$0157168 = 0, $$0158$lcssa = 0, $$0158167 = 0, $$0159$lcssa = 0, $$0159166 = 0, $$0160$lcssa = 0, $$0160165 = 0, $$0161$lcssa = 0, $$0161164 = 0, $$0170 = 0, $$masked = 0, $$masked162 = 0, $$masked163 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0;
var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0;
var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0;
var $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0;
var $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0;
var $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0;
var $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0;
var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0;
var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 56|0);
$4 = HEAP8[$3>>0]|0;
$5 = ($4<<24>>24)==(0);
$6 = $5 ? 16777216 : 0;
$7 = ((($0)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($0)) + 8|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($0)) + 12|0);
$12 = HEAP32[$11>>2]|0;
$13 = ((($0)) + 16|0);
$14 = HEAP32[$13>>2]|0;
$15 = ((($0)) + 20|0);
$16 = HEAP32[$15>>2]|0;
$17 = ((($0)) + 24|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($0)) + 28|0);
$20 = HEAP32[$19>>2]|0;
$21 = ((($0)) + 32|0);
$22 = HEAP32[$21>>2]|0;
$23 = ((($0)) + 36|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($2>>>0)>(15);
if (!($25)) {
$$0157$lcssa = $16;$$0158$lcssa = $18;$$0159$lcssa = $20;$$0160$lcssa = $22;$$0161$lcssa = $24;
HEAP32[$15>>2] = $$0157$lcssa;
HEAP32[$17>>2] = $$0158$lcssa;
HEAP32[$19>>2] = $$0159$lcssa;
HEAP32[$21>>2] = $$0160$lcssa;
HEAP32[$23>>2] = $$0161$lcssa;
return 124;
}
$26 = ($14*5)|0;
$27 = ($12*5)|0;
$28 = ($10*5)|0;
$29 = ($8*5)|0;
$30 = HEAP32[$0>>2]|0;
$$0156169 = $2;$$0157168 = $16;$$0158167 = $18;$$0159166 = $20;$$0160165 = $22;$$0161164 = $24;$$0170 = $1;
while(1) {
$31 = ((($$0170)) + 3|0);
$32 = HEAP8[$31>>0]|0;
$33 = $32&255;
$34 = $33 << 24;
$35 = ((($$0170)) + 2|0);
$36 = HEAP8[$35>>0]|0;
$37 = $36&255;
$38 = $37 << 16;
$39 = ((($$0170)) + 1|0);
$40 = HEAP8[$39>>0]|0;
$41 = $40&255;
$42 = $41 << 8;
$43 = HEAP8[$$0170>>0]|0;
$44 = $43&255;
$$masked163 = $34 & 50331648;
$$masked162 = $38 | $$masked163;
$$masked = $$masked162 | $42;
$45 = $$masked | $44;
$46 = (($45) + ($$0157168))|0;
$47 = ((($$0170)) + 6|0);
$48 = HEAP8[$47>>0]|0;
$49 = $48&255;
$50 = $49 << 24;
$51 = ((($$0170)) + 5|0);
$52 = HEAP8[$51>>0]|0;
$53 = $52&255;
$54 = $53 << 16;
$55 = ((($$0170)) + 4|0);
$56 = HEAP8[$55>>0]|0;
$57 = $56&255;
$58 = $57 << 8;
$59 = $50 | $33;
$60 = $59 | $54;
$61 = $60 | $58;
$62 = $61 >>> 2;
$63 = $62 & 67108863;
$64 = (($63) + ($$0158167))|0;
$65 = ((($$0170)) + 9|0);
$66 = HEAP8[$65>>0]|0;
$67 = $66&255;
$68 = $67 << 24;
$69 = ((($$0170)) + 8|0);
$70 = HEAP8[$69>>0]|0;
$71 = $70&255;
$72 = $71 << 16;
$73 = $72 | $68;
$74 = ((($$0170)) + 7|0);
$75 = HEAP8[$74>>0]|0;
$76 = $75&255;
$77 = $76 << 8;
$78 = $73 | $77;
$79 = $78 | $49;
$80 = $79 >>> 4;
$81 = $80 & 67108863;
$82 = (($81) + ($$0159166))|0;
$83 = ((($$0170)) + 12|0);
$84 = HEAP8[$83>>0]|0;
$85 = $84&255;
$86 = $85 << 24;
$87 = ((($$0170)) + 11|0);
$88 = HEAP8[$87>>0]|0;
$89 = $88&255;
$90 = $89 << 16;
$91 = $90 | $86;
$92 = ((($$0170)) + 10|0);
$93 = HEAP8[$92>>0]|0;
$94 = $93&255;
$95 = $94 << 8;
$96 = $91 | $95;
$97 = $96 | $67;
$98 = $97 >>> 6;
$99 = (($98) + ($$0160165))|0;
$100 = ((($$0170)) + 15|0);
$101 = HEAP8[$100>>0]|0;
$102 = $101&255;
$103 = $102 << 16;
$104 = ((($$0170)) + 14|0);
$105 = HEAP8[$104>>0]|0;
$106 = $105&255;
$107 = $106 << 8;
$108 = ((($$0170)) + 13|0);
$109 = HEAP8[$108>>0]|0;
$110 = $109&255;
$111 = $103 | $6;
$112 = $111 | $107;
$113 = $112 | $110;
$114 = (($113) + ($$0161164))|0;
$115 = (___muldi3(($46|0),0,($30|0),0)|0);
$116 = tempRet0;
$117 = (___muldi3(($64|0),0,($26|0),0)|0);
$118 = tempRet0;
$119 = (_i64Add(($117|0),($118|0),($115|0),($116|0))|0);
$120 = tempRet0;
$121 = (___muldi3(($82|0),0,($27|0),0)|0);
$122 = tempRet0;
$123 = (_i64Add(($119|0),($120|0),($121|0),($122|0))|0);
$124 = tempRet0;
$125 = (___muldi3(($99|0),0,($28|0),0)|0);
$126 = tempRet0;
$127 = (_i64Add(($123|0),($124|0),($125|0),($126|0))|0);
$128 = tempRet0;
$129 = (___muldi3(($114|0),0,($29|0),0)|0);
$130 = tempRet0;
$131 = (_i64Add(($127|0),($128|0),($129|0),($130|0))|0);
$132 = tempRet0;
$133 = (___muldi3(($46|0),0,($8|0),0)|0);
$134 = tempRet0;
$135 = (___muldi3(($64|0),0,($30|0),0)|0);
$136 = tempRet0;
$137 = (_i64Add(($135|0),($136|0),($133|0),($134|0))|0);
$138 = tempRet0;
$139 = (___muldi3(($82|0),0,($26|0),0)|0);
$140 = tempRet0;
$141 = (_i64Add(($137|0),($138|0),($139|0),($140|0))|0);
$142 = tempRet0;
$143 = (___muldi3(($99|0),0,($27|0),0)|0);
$144 = tempRet0;
$145 = (_i64Add(($141|0),($142|0),($143|0),($144|0))|0);
$146 = tempRet0;
$147 = (___muldi3(($114|0),0,($28|0),0)|0);
$148 = tempRet0;
$149 = (_i64Add(($145|0),($146|0),($147|0),($148|0))|0);
$150 = tempRet0;
$151 = (___muldi3(($46|0),0,($10|0),0)|0);
$152 = tempRet0;
$153 = (___muldi3(($64|0),0,($8|0),0)|0);
$154 = tempRet0;
$155 = (_i64Add(($153|0),($154|0),($151|0),($152|0))|0);
$156 = tempRet0;
$157 = (___muldi3(($82|0),0,($30|0),0)|0);
$158 = tempRet0;
$159 = (_i64Add(($155|0),($156|0),($157|0),($158|0))|0);
$160 = tempRet0;
$161 = (___muldi3(($99|0),0,($26|0),0)|0);
$162 = tempRet0;
$163 = (_i64Add(($159|0),($160|0),($161|0),($162|0))|0);
$164 = tempRet0;
$165 = (___muldi3(($114|0),0,($27|0),0)|0);
$166 = tempRet0;
$167 = (_i64Add(($163|0),($164|0),($165|0),($166|0))|0);
$168 = tempRet0;
$169 = (___muldi3(($46|0),0,($12|0),0)|0);
$170 = tempRet0;
$171 = (___muldi3(($64|0),0,($10|0),0)|0);
$172 = tempRet0;
$173 = (_i64Add(($171|0),($172|0),($169|0),($170|0))|0);
$174 = tempRet0;
$175 = (___muldi3(($82|0),0,($8|0),0)|0);
$176 = tempRet0;
$177 = (_i64Add(($173|0),($174|0),($175|0),($176|0))|0);
$178 = tempRet0;
$179 = (___muldi3(($99|0),0,($30|0),0)|0);
$180 = tempRet0;
$181 = (_i64Add(($177|0),($178|0),($179|0),($180|0))|0);
$182 = tempRet0;
$183 = (___muldi3(($114|0),0,($26|0),0)|0);
$184 = tempRet0;
$185 = (_i64Add(($181|0),($182|0),($183|0),($184|0))|0);
$186 = tempRet0;
$187 = (___muldi3(($46|0),0,($14|0),0)|0);
$188 = tempRet0;
$189 = (___muldi3(($64|0),0,($12|0),0)|0);
$190 = tempRet0;
$191 = (_i64Add(($189|0),($190|0),($187|0),($188|0))|0);
$192 = tempRet0;
$193 = (___muldi3(($82|0),0,($10|0),0)|0);
$194 = tempRet0;
$195 = (_i64Add(($191|0),($192|0),($193|0),($194|0))|0);
$196 = tempRet0;
$197 = (___muldi3(($99|0),0,($8|0),0)|0);
$198 = tempRet0;
$199 = (_i64Add(($195|0),($196|0),($197|0),($198|0))|0);
$200 = tempRet0;
$201 = (___muldi3(($114|0),0,($30|0),0)|0);
$202 = tempRet0;
$203 = (_i64Add(($199|0),($200|0),($201|0),($202|0))|0);
$204 = tempRet0;
$205 = (_bitshift64Lshr(($131|0),($132|0),26)|0);
$206 = tempRet0;
$207 = $131 & 67108863;
$208 = (_i64Add(($149|0),($150|0),($205|0),0)|0);
$209 = tempRet0;
$210 = (_bitshift64Lshr(($208|0),($209|0),26)|0);
$211 = tempRet0;
$212 = $208 & 67108863;
$213 = (_i64Add(($167|0),($168|0),($210|0),0)|0);
$214 = tempRet0;
$215 = (_bitshift64Lshr(($213|0),($214|0),26)|0);
$216 = tempRet0;
$217 = $213 & 67108863;
$218 = (_i64Add(($185|0),($186|0),($215|0),0)|0);
$219 = tempRet0;
$220 = (_bitshift64Lshr(($218|0),($219|0),26)|0);
$221 = tempRet0;
$222 = $218 & 67108863;
$223 = (_i64Add(($203|0),($204|0),($220|0),0)|0);
$224 = tempRet0;
$225 = (_bitshift64Lshr(($223|0),($224|0),26)|0);
$226 = tempRet0;
$227 = $223 & 67108863;
$228 = ($225*5)|0;
$229 = (($228) + ($207))|0;
$230 = $229 >>> 26;
$231 = $229 & 67108863;
$232 = (($230) + ($212))|0;
$233 = ((($$0170)) + 16|0);
$234 = (($$0156169) + -16)|0;
$235 = ($234>>>0)>(15);
if ($235) {
$$0156169 = $234;$$0157168 = $231;$$0158167 = $232;$$0159166 = $217;$$0160165 = $222;$$0161164 = $227;$$0170 = $233;
} else {
$$0157$lcssa = $231;$$0158$lcssa = $232;$$0159$lcssa = $217;$$0160$lcssa = $222;$$0161$lcssa = $227;
break;
}
}
HEAP32[$15>>2] = $$0157$lcssa;
HEAP32[$17>>2] = $$0158$lcssa;
HEAP32[$19>>2] = $$0159$lcssa;
HEAP32[$21>>2] = $$0160$lcssa;
HEAP32[$23>>2] = $$0161$lcssa;
return 124;
}
function _poly1305_finish_ext_ref32($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0156 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
var $135 = 0, $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0;
var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$4 = sp;
$5 = ($2|0)==(0);
if ($5) {
$$0156 = 100;
} else {
;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;
_memcpy(($4|0),($1|0),($2|0))|0;
$6 = (($4) + ($2)|0);
HEAP8[$6>>0] = 1;
$7 = ((($0)) + 56|0);
HEAP8[$7>>0] = 1;
(_poly1305_blocks_ref32($0,$4,16)|0);
$$0156 = 224;
}
$8 = ((($0)) + 20|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($0)) + 24|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 28|0);
$13 = HEAP32[$12>>2]|0;
$14 = ((($0)) + 32|0);
$15 = HEAP32[$14>>2]|0;
$16 = ((($0)) + 36|0);
$17 = HEAP32[$16>>2]|0;
$18 = $11 >>> 26;
$19 = $11 & 67108863;
$20 = (($13) + ($18))|0;
$21 = $20 >>> 26;
$22 = $20 & 67108863;
$23 = (($21) + ($15))|0;
$24 = $23 >>> 26;
$25 = $23 & 67108863;
$26 = (($24) + ($17))|0;
$27 = $26 >>> 26;
$28 = ($27*5)|0;
$29 = (($28) + ($9))|0;
$30 = $29 >>> 26;
$31 = $29 & 67108863;
$32 = (($30) + ($19))|0;
$33 = (($31) + 5)|0;
$34 = $33 >>> 26;
$35 = (($34) + ($32))|0;
$36 = $35 >>> 26;
$37 = (($36) + ($22))|0;
$38 = $37 >>> 26;
$39 = (($38) + ($25))|0;
$40 = $39 >>> 26;
$41 = $26 | -67108864;
$42 = (($41) + ($40))|0;
$43 = $42 >>> 31;
$44 = (($43) + -1)|0;
$45 = $44 & 67108863;
$46 = $45 & $33;
$47 = $45 & $35;
$48 = $45 & $37;
$49 = $45 & $39;
$50 = $44 & $42;
$51 = $42 >> 31;
$52 = $51 & $31;
$53 = $52 | $46;
$54 = $51 & $32;
$55 = $54 | $47;
$56 = $51 & $22;
$57 = $56 | $48;
$58 = $51 & $25;
$59 = $58 | $49;
$60 = $51 & $26;
$61 = $50 | $60;
$62 = $55 << 26;
$63 = $53 | $62;
$64 = $55 >>> 6;
$65 = $57 << 20;
$66 = $64 | $65;
$67 = $57 >>> 12;
$68 = $59 << 14;
$69 = $67 | $68;
$70 = $59 >>> 18;
$71 = $61 << 8;
$72 = $71 | $70;
$73 = ((($0)) + 40|0);
$74 = HEAP32[$73>>2]|0;
$75 = (_i64Add(($63|0),0,($74|0),0)|0);
$76 = tempRet0;
$77 = ((($0)) + 44|0);
$78 = HEAP32[$77>>2]|0;
$79 = (_i64Add(($66|0),0,($78|0),0)|0);
$80 = tempRet0;
$81 = (_i64Add(($79|0),($80|0),($76|0),0)|0);
$82 = tempRet0;
$83 = ((($0)) + 48|0);
$84 = HEAP32[$83>>2]|0;
$85 = (_i64Add(($69|0),0,($84|0),0)|0);
$86 = tempRet0;
$87 = (_i64Add(($85|0),($86|0),($82|0),0)|0);
$88 = tempRet0;
$89 = ((($0)) + 52|0);
$90 = HEAP32[$89>>2]|0;
$91 = (_i64Add(($72|0),0,($90|0),0)|0);
$92 = tempRet0;
$93 = (_i64Add(($91|0),($92|0),($88|0),0)|0);
$94 = tempRet0;
$95 = $75 >>> 24;
$96 = $95&255;
$97 = ((($3)) + 3|0);
HEAP8[$97>>0] = $96;
$98 = $75 >>> 16;
$99 = $98&255;
$100 = ((($3)) + 2|0);
HEAP8[$100>>0] = $99;
$101 = $75 >>> 8;
$102 = $101&255;
$103 = ((($3)) + 1|0);
HEAP8[$103>>0] = $102;
$104 = $75&255;
HEAP8[$3>>0] = $104;
$105 = ((($3)) + 4|0);
$106 = $81 >>> 24;
$107 = $106&255;
$108 = ((($3)) + 7|0);
HEAP8[$108>>0] = $107;
$109 = $81 >>> 16;
$110 = $109&255;
$111 = ((($3)) + 6|0);
HEAP8[$111>>0] = $110;
$112 = $81 >>> 8;
$113 = $112&255;
$114 = ((($3)) + 5|0);
HEAP8[$114>>0] = $113;
$115 = $81&255;
HEAP8[$105>>0] = $115;
$116 = ((($3)) + 8|0);
$117 = $87 >>> 24;
$118 = $117&255;
$119 = ((($3)) + 11|0);
HEAP8[$119>>0] = $118;
$120 = $87 >>> 16;
$121 = $120&255;
$122 = ((($3)) + 10|0);
HEAP8[$122>>0] = $121;
$123 = $87 >>> 8;
$124 = $123&255;
$125 = ((($3)) + 9|0);
HEAP8[$125>>0] = $124;
$126 = $87&255;
HEAP8[$116>>0] = $126;
$127 = ((($3)) + 12|0);
$128 = $93 >>> 24;
$129 = $128&255;
$130 = ((($3)) + 15|0);
HEAP8[$130>>0] = $129;
$131 = $93 >>> 16;
$132 = $131&255;
$133 = ((($3)) + 14|0);
HEAP8[$133>>0] = $132;
$134 = $93 >>> 8;
$135 = $134&255;
$136 = ((($3)) + 13|0);
HEAP8[$136>>0] = $135;
$137 = $93&255;
HEAP8[$127>>0] = $137;
dest=$0; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
STACKTOP = sp;return ($$0156|0);
}
function __gcry_rngcsprng_initialize($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0);
if (!($1)) {
_initialize();
return;
}
$2 = HEAP32[18131]|0;
$3 = ($2|0)==(0);
if (!($3)) {
return;
}
HEAP32[18131] = 1;
return;
}
function _initialize() {
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer3 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = HEAP32[18131]|0;
$1 = ($0|0)==(0);
if ($1) {
HEAP32[18131] = 1;
}
$2 = (_gpgrt_lock_lock(40208)|0);
$3 = ($2|0)==(0);
if (!($3)) {
$4 = (_gpg_strerror($2)|0);
HEAP32[$vararg_buffer>>2] = $4;
__gcry_log_fatal(67701,$vararg_buffer);
// unreachable;
}
HEAP32[18132] = 1;
$5 = HEAP32[18133]|0;
$6 = ($5|0)==(0|0);
do {
if ($6) {
$7 = HEAP32[18134]|0;
$8 = ($7|0)==(0);
if ($8) {
$10 = (__gcry_xcalloc(1,664)|0);
$11 = $10;
} else {
$9 = (__gcry_xcalloc_secure(1,664)|0);
$11 = $9;
}
HEAP32[18133] = $11;
$12 = HEAP32[18134]|0;
$13 = ($12|0)==(0);
if ($13) {
$15 = (__gcry_xcalloc(1,664)|0);
$16 = $15;
} else {
$14 = (__gcry_xcalloc_secure(1,664)|0);
$16 = $14;
}
HEAP32[18135] = $16;
$17 = (_access(69685,4)|0);
$18 = ($17|0)==(0);
if (!($18)) {
$21 = (__gcry_gettext(67738)|0);
__gcry_log_fatal($21,$vararg_buffer1);
// unreachable;
}
$19 = (_access(69697,4)|0);
$20 = ($19|0)==(0);
if ($20) {
HEAP32[18136] = 83;
break;
} else {
$21 = (__gcry_gettext(67738)|0);
__gcry_log_fatal($21,$vararg_buffer1);
// unreachable;
}
}
} while(0);
HEAP32[18132] = 0;
$22 = (_gpgrt_lock_unlock(40208)|0);
$23 = ($22|0)==(0);
if ($23) {
STACKTOP = sp;return;
} else {
$24 = (_gpg_strerror($22)|0);
HEAP32[$vararg_buffer3>>2] = $24;
__gcry_log_fatal(67776,$vararg_buffer3);
// unreachable;
}
}
function __gcry_rngcsprng_close_fds() {
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = (_gpgrt_lock_lock(40208)|0);
$1 = ($0|0)==(0);
if (!($1)) {
$2 = (_gpg_strerror($0)|0);
HEAP32[$vararg_buffer>>2] = $2;
__gcry_log_fatal(67701,$vararg_buffer);
// unreachable;
}
HEAP32[18132] = 1;
(__gcry_rndlinux_gather_random(0,0,0,0)|0);
HEAP32[18137] = 0;
HEAP32[18132] = 0;
$3 = (_gpgrt_lock_unlock(40208)|0);
$4 = ($3|0)==(0);
if ($4) {
STACKTOP = sp;return;
} else {
$5 = (_gpg_strerror($3)|0);
HEAP32[$vararg_buffer1>>2] = $5;
__gcry_log_fatal(67776,$vararg_buffer1);
// unreachable;
}
}
function __gcry_rngcsprng_dump_stats() {
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0;
var $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer = sp;
$0 = HEAP32[18138]|0;
$1 = HEAP32[18139]|0;
$2 = HEAP32[18140]|0;
$3 = HEAP32[18141]|0;
$4 = HEAP32[18142]|0;
$5 = HEAP32[18143]|0;
$6 = HEAP32[18144]|0;
$7 = HEAP32[18145]|0;
$8 = HEAP32[18146]|0;
$9 = HEAP32[18147]|0;
$10 = (__gcry_rndhw_failed_p()|0);
$11 = ($10|0)==(0);
$12 = $11 ? 73338 : 67813;
HEAP32[$vararg_buffer>>2] = 600;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $0;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $1;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $2;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $3;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = $4;
$vararg_ptr6 = ((($vararg_buffer)) + 24|0);
HEAP32[$vararg_ptr6>>2] = $5;
$vararg_ptr7 = ((($vararg_buffer)) + 28|0);
HEAP32[$vararg_ptr7>>2] = $6;
$vararg_ptr8 = ((($vararg_buffer)) + 32|0);
HEAP32[$vararg_ptr8>>2] = $7;
$vararg_ptr9 = ((($vararg_buffer)) + 36|0);
HEAP32[$vararg_ptr9>>2] = $8;
$vararg_ptr10 = ((($vararg_buffer)) + 40|0);
HEAP32[$vararg_ptr10>>2] = $9;
$vararg_ptr11 = ((($vararg_buffer)) + 44|0);
HEAP32[$vararg_ptr11>>2] = $12;
__gcry_log_info(67829,$vararg_buffer);
STACKTOP = sp;return;
}
function __gcry_rngcsprng_secure_alloc() {
var label = 0, sp = 0;
sp = STACKTOP;
HEAP32[18134] = 1;
return;
}
function __gcry_rngcsprng_enable_quick_gen() {
var label = 0, sp = 0;
sp = STACKTOP;
HEAP32[18148] = 1;
return;
}
function __gcry_rngcsprng_set_daemon_socket($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function __gcry_rngcsprng_use_daemon($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function __gcry_rngcsprng_is_faked() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
_initialize();
$0 = HEAP32[18148]|0;
return ($0|0);
}
function _mix_pool($0) {
$0 = $0|0;
var $$04961 = 0, $$052$add = 0, $$052$add53 = 0, $$052$idx60 = 0, $$052$ptr$add = 0, $$052$ptr$ptr = 0, $$1$add = 0, $$1$add$1 = 0, $$1$add$10 = 0, $$1$add$11 = 0, $$1$add$12 = 0, $$1$add$13 = 0, $$1$add$14 = 0, $$1$add$15 = 0, $$1$add$16 = 0, $$1$add$17 = 0, $$1$add$18 = 0, $$1$add$19 = 0, $$1$add$2 = 0, $$1$add$20 = 0;
var $$1$add$21 = 0, $$1$add$22 = 0, $$1$add$23 = 0, $$1$add$24 = 0, $$1$add$25 = 0, $$1$add$26 = 0, $$1$add$27 = 0, $$1$add$28 = 0, $$1$add$29 = 0, $$1$add$3 = 0, $$1$add$30 = 0, $$1$add$31 = 0, $$1$add$32 = 0, $$1$add$33 = 0, $$1$add$34 = 0, $$1$add$35 = 0, $$1$add$36 = 0, $$1$add$37 = 0, $$1$add$38 = 0, $$1$add$39 = 0;
var $$1$add$4 = 0, $$1$add$40 = 0, $$1$add$41 = 0, $$1$add$42 = 0, $$1$add$5 = 0, $$1$add$6 = 0, $$1$add$7 = 0, $$1$add$8 = 0, $$1$add$9 = 0, $$1$ptr = 0, $$1$ptr$1 = 0, $$1$ptr$10 = 0, $$1$ptr$11 = 0, $$1$ptr$12 = 0, $$1$ptr$13 = 0, $$1$ptr$14 = 0, $$1$ptr$15 = 0, $$1$ptr$16 = 0, $$1$ptr$17 = 0, $$1$ptr$18 = 0;
var $$1$ptr$19 = 0, $$1$ptr$2 = 0, $$1$ptr$20 = 0, $$1$ptr$21 = 0, $$1$ptr$22 = 0, $$1$ptr$23 = 0, $$1$ptr$24 = 0, $$1$ptr$25 = 0, $$1$ptr$26 = 0, $$1$ptr$27 = 0, $$1$ptr$28 = 0, $$1$ptr$29 = 0, $$1$ptr$3 = 0, $$1$ptr$30 = 0, $$1$ptr$31 = 0, $$1$ptr$32 = 0, $$1$ptr$33 = 0, $$1$ptr$34 = 0, $$1$ptr$35 = 0, $$1$ptr$36 = 0;
var $$1$ptr$37 = 0, $$1$ptr$38 = 0, $$1$ptr$39 = 0, $$1$ptr$4 = 0, $$1$ptr$40 = 0, $$1$ptr$41 = 0, $$1$ptr$42 = 0, $$1$ptr$43 = 0, $$1$ptr$5 = 0, $$1$ptr$6 = 0, $$1$ptr$7 = 0, $$1$ptr$8 = 0, $$1$ptr$9 = 0, $$ptr54 = 0, $$ptr55 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0;
var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0;
var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0;
var $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0;
var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0;
var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0;
var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0;
var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
var $exitcond = 0, $or$cond = 0, $spec$select = 0, $spec$select$1 = 0, $spec$select$10 = 0, $spec$select$11 = 0, $spec$select$12 = 0, $spec$select$13 = 0, $spec$select$14 = 0, $spec$select$15 = 0, $spec$select$16 = 0, $spec$select$17 = 0, $spec$select$18 = 0, $spec$select$19 = 0, $spec$select$2 = 0, $spec$select$20 = 0, $spec$select$21 = 0, $spec$select$22 = 0, $spec$select$23 = 0, $spec$select$24 = 0;
var $spec$select$25 = 0, $spec$select$26 = 0, $spec$select$27 = 0, $spec$select$28 = 0, $spec$select$29 = 0, $spec$select$3 = 0, $spec$select$30 = 0, $spec$select$31 = 0, $spec$select$32 = 0, $spec$select$33 = 0, $spec$select$34 = 0, $spec$select$35 = 0, $spec$select$36 = 0, $spec$select$37 = 0, $spec$select$38 = 0, $spec$select$39 = 0, $spec$select$4 = 0, $spec$select$40 = 0, $spec$select$41 = 0, $spec$select$42 = 0;
var $spec$select$43 = 0, $spec$select$5 = 0, $spec$select$6 = 0, $spec$select$7 = 0, $spec$select$8 = 0, $spec$select$9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
$1 = sp;
$2 = ((($0)) + 600|0);
$3 = HEAP32[18132]|0;
$4 = ($3|0)==(0);
if ($4) {
__gcry_assert_failed(67953,67968,615,67984);
// unreachable;
}
__gcry_rmd160_init($1);
$5 = ((($0)) + 580|0);
dest=$2; src=$5; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$6 = ((($0)) + 620|0);
dest=$6; src=$0; stop=dest+44|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
__gcry_rmd160_mixblock($1,$2);
dest=$0; src=$2; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$7 = HEAP32[18151]|0;
$8 = ($7|0)!=(0);
$9 = HEAP32[18133]|0;
$10 = ($9|0)==($0|0);
$or$cond = $8 & $10;
if ($or$cond) {
$11 = HEAP8[71216]|0;
$12 = HEAP8[$0>>0]|0;
$13 = $12 ^ $11;
HEAP8[$0>>0] = $13;
$14 = HEAP8[(71217)>>0]|0;
$15 = ((($0)) + 1|0);
$16 = HEAP8[$15>>0]|0;
$17 = $16 ^ $14;
HEAP8[$15>>0] = $17;
$18 = HEAP8[(71218)>>0]|0;
$19 = ((($0)) + 2|0);
$20 = HEAP8[$19>>0]|0;
$21 = $20 ^ $18;
HEAP8[$19>>0] = $21;
$22 = HEAP8[(71219)>>0]|0;
$23 = ((($0)) + 3|0);
$24 = HEAP8[$23>>0]|0;
$25 = $24 ^ $22;
HEAP8[$23>>0] = $25;
$26 = HEAP8[(71220)>>0]|0;
$27 = ((($0)) + 4|0);
$28 = HEAP8[$27>>0]|0;
$29 = $28 ^ $26;
HEAP8[$27>>0] = $29;
$30 = HEAP8[(71221)>>0]|0;
$31 = ((($0)) + 5|0);
$32 = HEAP8[$31>>0]|0;
$33 = $32 ^ $30;
HEAP8[$31>>0] = $33;
$34 = HEAP8[(71222)>>0]|0;
$35 = ((($0)) + 6|0);
$36 = HEAP8[$35>>0]|0;
$37 = $36 ^ $34;
HEAP8[$35>>0] = $37;
$38 = HEAP8[(71223)>>0]|0;
$39 = ((($0)) + 7|0);
$40 = HEAP8[$39>>0]|0;
$41 = $40 ^ $38;
HEAP8[$39>>0] = $41;
$42 = HEAP8[(71224)>>0]|0;
$43 = ((($0)) + 8|0);
$44 = HEAP8[$43>>0]|0;
$45 = $44 ^ $42;
HEAP8[$43>>0] = $45;
$46 = HEAP8[(71225)>>0]|0;
$47 = ((($0)) + 9|0);
$48 = HEAP8[$47>>0]|0;
$49 = $48 ^ $46;
HEAP8[$47>>0] = $49;
$50 = HEAP8[(71226)>>0]|0;
$51 = ((($0)) + 10|0);
$52 = HEAP8[$51>>0]|0;
$53 = $52 ^ $50;
HEAP8[$51>>0] = $53;
$54 = HEAP8[(71227)>>0]|0;
$55 = ((($0)) + 11|0);
$56 = HEAP8[$55>>0]|0;
$57 = $56 ^ $54;
HEAP8[$55>>0] = $57;
$58 = HEAP8[(71228)>>0]|0;
$59 = ((($0)) + 12|0);
$60 = HEAP8[$59>>0]|0;
$61 = $60 ^ $58;
HEAP8[$59>>0] = $61;
$62 = HEAP8[(71229)>>0]|0;
$63 = ((($0)) + 13|0);
$64 = HEAP8[$63>>0]|0;
$65 = $64 ^ $62;
HEAP8[$63>>0] = $65;
$66 = HEAP8[(71230)>>0]|0;
$67 = ((($0)) + 14|0);
$68 = HEAP8[$67>>0]|0;
$69 = $68 ^ $66;
HEAP8[$67>>0] = $69;
$70 = HEAP8[(71231)>>0]|0;
$71 = ((($0)) + 15|0);
$72 = HEAP8[$71>>0]|0;
$73 = $72 ^ $70;
HEAP8[$71>>0] = $73;
$74 = HEAP8[(71232)>>0]|0;
$75 = ((($0)) + 16|0);
$76 = HEAP8[$75>>0]|0;
$77 = $76 ^ $74;
HEAP8[$75>>0] = $77;
$78 = HEAP8[(71233)>>0]|0;
$79 = ((($0)) + 17|0);
$80 = HEAP8[$79>>0]|0;
$81 = $80 ^ $78;
HEAP8[$79>>0] = $81;
$82 = HEAP8[(71234)>>0]|0;
$83 = ((($0)) + 18|0);
$84 = HEAP8[$83>>0]|0;
$85 = $84 ^ $82;
HEAP8[$83>>0] = $85;
$86 = HEAP8[(71235)>>0]|0;
$87 = ((($0)) + 19|0);
$88 = HEAP8[$87>>0]|0;
$89 = $88 ^ $86;
HEAP8[$87>>0] = $89;
}
$90 = ((($0)) + 620|0);
$91 = ((($0)) + 621|0);
$92 = ((($0)) + 622|0);
$93 = ((($0)) + 623|0);
$94 = ((($0)) + 624|0);
$95 = ((($0)) + 625|0);
$96 = ((($0)) + 626|0);
$97 = ((($0)) + 627|0);
$98 = ((($0)) + 628|0);
$99 = ((($0)) + 629|0);
$100 = ((($0)) + 630|0);
$101 = ((($0)) + 631|0);
$102 = ((($0)) + 632|0);
$103 = ((($0)) + 633|0);
$104 = ((($0)) + 634|0);
$105 = ((($0)) + 635|0);
$106 = ((($0)) + 636|0);
$107 = ((($0)) + 637|0);
$108 = ((($0)) + 638|0);
$109 = ((($0)) + 639|0);
$110 = ((($0)) + 640|0);
$111 = ((($0)) + 641|0);
$112 = ((($0)) + 642|0);
$113 = ((($0)) + 643|0);
$114 = ((($0)) + 644|0);
$115 = ((($0)) + 645|0);
$116 = ((($0)) + 646|0);
$117 = ((($0)) + 647|0);
$118 = ((($0)) + 648|0);
$119 = ((($0)) + 649|0);
$120 = ((($0)) + 650|0);
$121 = ((($0)) + 651|0);
$122 = ((($0)) + 652|0);
$123 = ((($0)) + 653|0);
$124 = ((($0)) + 654|0);
$125 = ((($0)) + 655|0);
$126 = ((($0)) + 656|0);
$127 = ((($0)) + 657|0);
$128 = ((($0)) + 658|0);
$129 = ((($0)) + 659|0);
$130 = ((($0)) + 660|0);
$131 = ((($0)) + 661|0);
$132 = ((($0)) + 662|0);
$133 = ((($0)) + 663|0);
$$04961 = 1;$$052$idx60 = 0;
while(1) {
$$052$ptr$ptr = (($0) + ($$052$idx60)|0);
dest=$2; src=$$052$ptr$ptr; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$$052$add53 = (($$052$idx60) + 20)|0;
$$ptr54 = (($0) + ($$052$add53)|0);
$$052$ptr$add = (($$052$idx60) + 40)|0;
$$052$add = (($$052$idx60) + 104)|0;
$134 = ($$052$add>>>0)<(600);
if ($134) {
$$ptr55 = (($0) + ($$052$ptr$add)|0);
dest=$6; src=$$ptr55; stop=dest+44|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
} else {
$135 = ($$052$ptr$add>>>0)>(599);
$spec$select = $135 ? 0 : $$052$ptr$add;
$$1$ptr = (($0) + ($spec$select)|0);
$$1$add = $spec$select | 1;
$136 = HEAP8[$$1$ptr>>0]|0;
HEAP8[$90>>0] = $136;
$137 = ($$1$add>>>0)>(599);
$spec$select$1 = $137 ? 0 : $$1$add;
$$1$ptr$1 = (($0) + ($spec$select$1)|0);
$$1$add$1 = (($spec$select$1) + 1)|0;
$138 = HEAP8[$$1$ptr$1>>0]|0;
HEAP8[$91>>0] = $138;
$139 = ($spec$select$1>>>0)>(598);
$spec$select$2 = $139 ? 0 : $$1$add$1;
$$1$ptr$2 = (($0) + ($spec$select$2)|0);
$$1$add$2 = (($spec$select$2) + 1)|0;
$140 = HEAP8[$$1$ptr$2>>0]|0;
HEAP8[$92>>0] = $140;
$141 = ($spec$select$2|0)>(598);
$spec$select$3 = $141 ? 0 : $$1$add$2;
$$1$ptr$3 = (($0) + ($spec$select$3)|0);
$$1$add$3 = (($spec$select$3) + 1)|0;
$142 = HEAP8[$$1$ptr$3>>0]|0;
HEAP8[$93>>0] = $142;
$143 = ($spec$select$3|0)>(598);
$spec$select$4 = $143 ? 0 : $$1$add$3;
$$1$ptr$4 = (($0) + ($spec$select$4)|0);
$$1$add$4 = (($spec$select$4) + 1)|0;
$144 = HEAP8[$$1$ptr$4>>0]|0;
HEAP8[$94>>0] = $144;
$145 = ($spec$select$4|0)>(598);
$spec$select$5 = $145 ? 0 : $$1$add$4;
$$1$ptr$5 = (($0) + ($spec$select$5)|0);
$$1$add$5 = (($spec$select$5) + 1)|0;
$146 = HEAP8[$$1$ptr$5>>0]|0;
HEAP8[$95>>0] = $146;
$147 = ($spec$select$5|0)>(598);
$spec$select$6 = $147 ? 0 : $$1$add$5;
$$1$ptr$6 = (($0) + ($spec$select$6)|0);
$$1$add$6 = (($spec$select$6) + 1)|0;
$148 = HEAP8[$$1$ptr$6>>0]|0;
HEAP8[$96>>0] = $148;
$149 = ($spec$select$6|0)>(598);
$spec$select$7 = $149 ? 0 : $$1$add$6;
$$1$ptr$7 = (($0) + ($spec$select$7)|0);
$$1$add$7 = (($spec$select$7) + 1)|0;
$150 = HEAP8[$$1$ptr$7>>0]|0;
HEAP8[$97>>0] = $150;
$151 = ($spec$select$7|0)>(598);
$spec$select$8 = $151 ? 0 : $$1$add$7;
$$1$ptr$8 = (($0) + ($spec$select$8)|0);
$$1$add$8 = (($spec$select$8) + 1)|0;
$152 = HEAP8[$$1$ptr$8>>0]|0;
HEAP8[$98>>0] = $152;
$153 = ($spec$select$8|0)>(598);
$spec$select$9 = $153 ? 0 : $$1$add$8;
$$1$ptr$9 = (($0) + ($spec$select$9)|0);
$$1$add$9 = (($spec$select$9) + 1)|0;
$154 = HEAP8[$$1$ptr$9>>0]|0;
HEAP8[$99>>0] = $154;
$155 = ($spec$select$9|0)>(598);
$spec$select$10 = $155 ? 0 : $$1$add$9;
$$1$ptr$10 = (($0) + ($spec$select$10)|0);
$$1$add$10 = (($spec$select$10) + 1)|0;
$156 = HEAP8[$$1$ptr$10>>0]|0;
HEAP8[$100>>0] = $156;
$157 = ($spec$select$10|0)>(598);
$spec$select$11 = $157 ? 0 : $$1$add$10;
$$1$ptr$11 = (($0) + ($spec$select$11)|0);
$$1$add$11 = (($spec$select$11) + 1)|0;
$158 = HEAP8[$$1$ptr$11>>0]|0;
HEAP8[$101>>0] = $158;
$159 = ($spec$select$11|0)>(598);
$spec$select$12 = $159 ? 0 : $$1$add$11;
$$1$ptr$12 = (($0) + ($spec$select$12)|0);
$$1$add$12 = (($spec$select$12) + 1)|0;
$160 = HEAP8[$$1$ptr$12>>0]|0;
HEAP8[$102>>0] = $160;
$161 = ($spec$select$12|0)>(598);
$spec$select$13 = $161 ? 0 : $$1$add$12;
$$1$ptr$13 = (($0) + ($spec$select$13)|0);
$$1$add$13 = (($spec$select$13) + 1)|0;
$162 = HEAP8[$$1$ptr$13>>0]|0;
HEAP8[$103>>0] = $162;
$163 = ($spec$select$13|0)>(598);
$spec$select$14 = $163 ? 0 : $$1$add$13;
$$1$ptr$14 = (($0) + ($spec$select$14)|0);
$$1$add$14 = (($spec$select$14) + 1)|0;
$164 = HEAP8[$$1$ptr$14>>0]|0;
HEAP8[$104>>0] = $164;
$165 = ($spec$select$14|0)>(598);
$spec$select$15 = $165 ? 0 : $$1$add$14;
$$1$ptr$15 = (($0) + ($spec$select$15)|0);
$$1$add$15 = (($spec$select$15) + 1)|0;
$166 = HEAP8[$$1$ptr$15>>0]|0;
HEAP8[$105>>0] = $166;
$167 = ($spec$select$15|0)>(598);
$spec$select$16 = $167 ? 0 : $$1$add$15;
$$1$ptr$16 = (($0) + ($spec$select$16)|0);
$$1$add$16 = (($spec$select$16) + 1)|0;
$168 = HEAP8[$$1$ptr$16>>0]|0;
HEAP8[$106>>0] = $168;
$169 = ($spec$select$16|0)>(598);
$spec$select$17 = $169 ? 0 : $$1$add$16;
$$1$ptr$17 = (($0) + ($spec$select$17)|0);
$$1$add$17 = (($spec$select$17) + 1)|0;
$170 = HEAP8[$$1$ptr$17>>0]|0;
HEAP8[$107>>0] = $170;
$171 = ($spec$select$17|0)>(598);
$spec$select$18 = $171 ? 0 : $$1$add$17;
$$1$ptr$18 = (($0) + ($spec$select$18)|0);
$$1$add$18 = (($spec$select$18) + 1)|0;
$172 = HEAP8[$$1$ptr$18>>0]|0;
HEAP8[$108>>0] = $172;
$173 = ($spec$select$18|0)>(598);
$spec$select$19 = $173 ? 0 : $$1$add$18;
$$1$ptr$19 = (($0) + ($spec$select$19)|0);
$$1$add$19 = (($spec$select$19) + 1)|0;
$174 = HEAP8[$$1$ptr$19>>0]|0;
HEAP8[$109>>0] = $174;
$175 = ($spec$select$19|0)>(598);
$spec$select$20 = $175 ? 0 : $$1$add$19;
$$1$ptr$20 = (($0) + ($spec$select$20)|0);
$$1$add$20 = (($spec$select$20) + 1)|0;
$176 = HEAP8[$$1$ptr$20>>0]|0;
HEAP8[$110>>0] = $176;
$177 = ($spec$select$20|0)>(598);
$spec$select$21 = $177 ? 0 : $$1$add$20;
$$1$ptr$21 = (($0) + ($spec$select$21)|0);
$$1$add$21 = (($spec$select$21) + 1)|0;
$178 = HEAP8[$$1$ptr$21>>0]|0;
HEAP8[$111>>0] = $178;
$179 = ($spec$select$21|0)>(598);
$spec$select$22 = $179 ? 0 : $$1$add$21;
$$1$ptr$22 = (($0) + ($spec$select$22)|0);
$$1$add$22 = (($spec$select$22) + 1)|0;
$180 = HEAP8[$$1$ptr$22>>0]|0;
HEAP8[$112>>0] = $180;
$181 = ($spec$select$22|0)>(598);
$spec$select$23 = $181 ? 0 : $$1$add$22;
$$1$ptr$23 = (($0) + ($spec$select$23)|0);
$$1$add$23 = (($spec$select$23) + 1)|0;
$182 = HEAP8[$$1$ptr$23>>0]|0;
HEAP8[$113>>0] = $182;
$183 = ($spec$select$23|0)>(598);
$spec$select$24 = $183 ? 0 : $$1$add$23;
$$1$ptr$24 = (($0) + ($spec$select$24)|0);
$$1$add$24 = (($spec$select$24) + 1)|0;
$184 = HEAP8[$$1$ptr$24>>0]|0;
HEAP8[$114>>0] = $184;
$185 = ($spec$select$24|0)>(598);
$spec$select$25 = $185 ? 0 : $$1$add$24;
$$1$ptr$25 = (($0) + ($spec$select$25)|0);
$$1$add$25 = (($spec$select$25) + 1)|0;
$186 = HEAP8[$$1$ptr$25>>0]|0;
HEAP8[$115>>0] = $186;
$187 = ($spec$select$25|0)>(598);
$spec$select$26 = $187 ? 0 : $$1$add$25;
$$1$ptr$26 = (($0) + ($spec$select$26)|0);
$$1$add$26 = (($spec$select$26) + 1)|0;
$188 = HEAP8[$$1$ptr$26>>0]|0;
HEAP8[$116>>0] = $188;
$189 = ($spec$select$26|0)>(598);
$spec$select$27 = $189 ? 0 : $$1$add$26;
$$1$ptr$27 = (($0) + ($spec$select$27)|0);
$$1$add$27 = (($spec$select$27) + 1)|0;
$190 = HEAP8[$$1$ptr$27>>0]|0;
HEAP8[$117>>0] = $190;
$191 = ($spec$select$27|0)>(598);
$spec$select$28 = $191 ? 0 : $$1$add$27;
$$1$ptr$28 = (($0) + ($spec$select$28)|0);
$$1$add$28 = (($spec$select$28) + 1)|0;
$192 = HEAP8[$$1$ptr$28>>0]|0;
HEAP8[$118>>0] = $192;
$193 = ($spec$select$28|0)>(598);
$spec$select$29 = $193 ? 0 : $$1$add$28;
$$1$ptr$29 = (($0) + ($spec$select$29)|0);
$$1$add$29 = (($spec$select$29) + 1)|0;
$194 = HEAP8[$$1$ptr$29>>0]|0;
HEAP8[$119>>0] = $194;
$195 = ($spec$select$29|0)>(598);
$spec$select$30 = $195 ? 0 : $$1$add$29;
$$1$ptr$30 = (($0) + ($spec$select$30)|0);
$$1$add$30 = (($spec$select$30) + 1)|0;
$196 = HEAP8[$$1$ptr$30>>0]|0;
HEAP8[$120>>0] = $196;
$197 = ($spec$select$30|0)>(598);
$spec$select$31 = $197 ? 0 : $$1$add$30;
$$1$ptr$31 = (($0) + ($spec$select$31)|0);
$$1$add$31 = (($spec$select$31) + 1)|0;
$198 = HEAP8[$$1$ptr$31>>0]|0;
HEAP8[$121>>0] = $198;
$199 = ($spec$select$31|0)>(598);
$spec$select$32 = $199 ? 0 : $$1$add$31;
$$1$ptr$32 = (($0) + ($spec$select$32)|0);
$$1$add$32 = (($spec$select$32) + 1)|0;
$200 = HEAP8[$$1$ptr$32>>0]|0;
HEAP8[$122>>0] = $200;
$201 = ($spec$select$32|0)>(598);
$spec$select$33 = $201 ? 0 : $$1$add$32;
$$1$ptr$33 = (($0) + ($spec$select$33)|0);
$$1$add$33 = (($spec$select$33) + 1)|0;
$202 = HEAP8[$$1$ptr$33>>0]|0;
HEAP8[$123>>0] = $202;
$203 = ($spec$select$33|0)>(598);
$spec$select$34 = $203 ? 0 : $$1$add$33;
$$1$ptr$34 = (($0) + ($spec$select$34)|0);
$$1$add$34 = (($spec$select$34) + 1)|0;
$204 = HEAP8[$$1$ptr$34>>0]|0;
HEAP8[$124>>0] = $204;
$205 = ($spec$select$34|0)>(598);
$spec$select$35 = $205 ? 0 : $$1$add$34;
$$1$ptr$35 = (($0) + ($spec$select$35)|0);
$$1$add$35 = (($spec$select$35) + 1)|0;
$206 = HEAP8[$$1$ptr$35>>0]|0;
HEAP8[$125>>0] = $206;
$207 = ($spec$select$35|0)>(598);
$spec$select$36 = $207 ? 0 : $$1$add$35;
$$1$ptr$36 = (($0) + ($spec$select$36)|0);
$$1$add$36 = (($spec$select$36) + 1)|0;
$208 = HEAP8[$$1$ptr$36>>0]|0;
HEAP8[$126>>0] = $208;
$209 = ($spec$select$36|0)>(598);
$spec$select$37 = $209 ? 0 : $$1$add$36;
$$1$ptr$37 = (($0) + ($spec$select$37)|0);
$$1$add$37 = (($spec$select$37) + 1)|0;
$210 = HEAP8[$$1$ptr$37>>0]|0;
HEAP8[$127>>0] = $210;
$211 = ($spec$select$37|0)>(598);
$spec$select$38 = $211 ? 0 : $$1$add$37;
$$1$ptr$38 = (($0) + ($spec$select$38)|0);
$$1$add$38 = (($spec$select$38) + 1)|0;
$212 = HEAP8[$$1$ptr$38>>0]|0;
HEAP8[$128>>0] = $212;
$213 = ($spec$select$38|0)>(598);
$spec$select$39 = $213 ? 0 : $$1$add$38;
$$1$ptr$39 = (($0) + ($spec$select$39)|0);
$$1$add$39 = (($spec$select$39) + 1)|0;
$214 = HEAP8[$$1$ptr$39>>0]|0;
HEAP8[$129>>0] = $214;
$215 = ($spec$select$39|0)>(598);
$spec$select$40 = $215 ? 0 : $$1$add$39;
$$1$ptr$40 = (($0) + ($spec$select$40)|0);
$$1$add$40 = (($spec$select$40) + 1)|0;
$216 = HEAP8[$$1$ptr$40>>0]|0;
HEAP8[$130>>0] = $216;
$217 = ($spec$select$40|0)>(598);
$spec$select$41 = $217 ? 0 : $$1$add$40;
$$1$ptr$41 = (($0) + ($spec$select$41)|0);
$$1$add$41 = (($spec$select$41) + 1)|0;
$218 = HEAP8[$$1$ptr$41>>0]|0;
HEAP8[$131>>0] = $218;
$219 = ($spec$select$41|0)>(598);
$spec$select$42 = $219 ? 0 : $$1$add$41;
$$1$ptr$42 = (($0) + ($spec$select$42)|0);
$$1$add$42 = (($spec$select$42) + 1)|0;
$220 = HEAP8[$$1$ptr$42>>0]|0;
HEAP8[$132>>0] = $220;
$221 = ($spec$select$42|0)>(598);
$spec$select$43 = $221 ? 0 : $$1$add$42;
$$1$ptr$43 = (($0) + ($spec$select$43)|0);
$222 = HEAP8[$$1$ptr$43>>0]|0;
HEAP8[$133>>0] = $222;
}
__gcry_rmd160_mixblock($1,$2);
dest=$$ptr54; src=$2; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$223 = (($$04961) + 1)|0;
$exitcond = ($223|0)==(30);
if ($exitcond) {
break;
} else {
$$04961 = $223;$$052$idx60 = $$052$add53;
}
}
$224 = HEAP32[18133]|0;
$225 = ($224|0)==($0|0);
if (!($225)) {
___gcry_burn_stack(384);
STACKTOP = sp;return;
}
__gcry_rmd160_hash_buffer(71216,$0,600);
HEAP32[18151] = 1;
___gcry_burn_stack(384);
STACKTOP = sp;return;
}
function __gcry_rngcsprng_randomize($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$040$i = 0, $$0$$0$$0$$i = 0, $$0$$0$$0$11$i = 0, $$0$$0$$0$12$i = 0, $$0$$0$$0$13$i = 0, $$0$i = 0, $$01113$us$i$i$i = 0, $$0183437 = 0, $$03536 = 0, $$03763$i = 0, $$03862$i = 0, $$03961$i = 0, $$040$i = 0, $$1$lcssa$i = 0, $$164$i = 0, $$in$i = 0, $$op = 0, $$pr$i = 0, $$pre = 0, $$pre$i = 0;
var $$pre$i$i = 0, $$pre26$i$i = 0, $$pre27$i$i = 0, $$pre28$i$i = 0, $$pre29$i$i = 0, $$pre30$i$i = 0, $$pre31$i$i = 0, $$pre32$i$i = 0, $$pre33$i$i = 0, $$pre34$i$i = 0, $$pre35$i$i = 0, $$pre36$i$i = 0, $$pre77$i = 0, $$pre78$i = 0, $$pre79$i = 0, $$pre80$i = 0, $$pre81$i = 0, $$pre82$i = 0, $$pre83$i = 0, $$pre84$i = 0;
var $$pre86$i = 0, $$pre87$i = 0, $$pre88$i = 0, $$pre89$i = 0, $$pre90$i = 0, $$sroa$3$0$extract$shift = 0, $$sroa$3$0$extract$shift$i = 0, $$sroa$3$0$extract$trunc = 0, $$sroa$3$0$extract$trunc$i = 0, $$sroa$330$0$extract$shift = 0, $$sroa$330$0$extract$trunc = 0, $$sroa$353$0$extract$shift$i = 0, $$sroa$353$0$extract$trunc$i = 0, $$sroa$358$0$extract$shift$i = 0, $$sroa$358$0$extract$trunc$i = 0, $$sroa$4$0$extract$shift = 0, $$sroa$4$0$extract$trunc = 0, $10 = 0, $100 = 0, $101 = 0;
var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0;
var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0;
var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0;
var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0;
var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0;
var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0;
var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0;
var $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0;
var $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0;
var $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0;
var $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0;
var $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0;
var $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0;
var $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0;
var $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0;
var $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i = 0, $or$cond = 0, $or$cond$i = 0, $pool_balance$promoted$i = 0, $pool_readpos$promoted$i = 0, $rndstats$6$rndstats$4 = 0;
var $rndstats$7$rndstats$5 = 0, $scevgep$i = 0, $spec$select$i = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer18 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer26 = 0, $vararg_buffer28 = 0, $vararg_buffer3 = 0, $vararg_buffer30 = 0, $vararg_buffer32 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer38 = 0, $vararg_buffer40 = 0, $vararg_buffer5 = 0;
var $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr23 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 832|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(832|0);
$vararg_buffer40 = sp + 736|0;
$vararg_buffer38 = sp + 728|0;
$vararg_buffer36 = sp + 720|0;
$vararg_buffer34 = sp + 712|0;
$vararg_buffer32 = sp + 704|0;
$vararg_buffer30 = sp + 696|0;
$vararg_buffer28 = sp + 688|0;
$vararg_buffer26 = sp + 680|0;
$vararg_buffer24 = sp + 672|0;
$vararg_buffer20 = sp + 664|0;
$vararg_buffer18 = sp + 656|0;
$vararg_buffer16 = sp + 648|0;
$vararg_buffer13 = sp + 640|0;
$vararg_buffer9 = sp + 632|0;
$vararg_buffer5 = sp + 624|0;
$vararg_buffer3 = sp + 616|0;
$vararg_buffer1 = sp + 608|0;
$vararg_buffer = sp + 600|0;
$3 = sp + 744|0;
$4 = sp;
$5 = sp + 740|0;
_initialize();
$6 = HEAP32[18148]|0;
$7 = ($6|0)!=(0);
$8 = ($2>>>0)>(1);
$or$cond = $8 & $7;
$$op = $2 & 3;
$9 = $or$cond ? 1 : $$op;
$10 = (_gpgrt_lock_lock(40208)|0);
$11 = ($10|0)==(0);
if (!($11)) {
$12 = (_gpg_strerror($10)|0);
HEAP32[$vararg_buffer>>2] = $12;
__gcry_log_fatal(67701,$vararg_buffer);
// unreachable;
}
HEAP32[18132] = 1;
$13 = ($9>>>0)>(1);
$rndstats$6$rndstats$4 = $13 ? 72588 : 72580;
$rndstats$7$rndstats$5 = $13 ? 72584 : 72576;
$14 = HEAP32[$rndstats$6$rndstats$4>>2]|0;
$15 = (($14) + ($1))|0;
HEAP32[$rndstats$6$rndstats$4>>2] = $15;
$16 = HEAP32[$rndstats$7$rndstats$5>>2]|0;
$17 = (($16) + 1)|0;
HEAP32[$rndstats$7$rndstats$5>>2] = $17;
$18 = ($1|0)==(0);
L4: do {
if (!($18)) {
$19 = ($9|0)!=(2);
$20 = ($9|0)==(2);
$21 = ((($3)) + 12|0);
$22 = ((($3)) + 36|0);
$23 = ($1>>>0)<(600);
$24 = $23 ? $1 : 600;
$$0183437 = $0;$$03536 = $1;$451 = $24;
L6: while(1) {
$$0$i = $$0183437;$$040$i = $451;
while(1) {
$25 = (_getpid()|0);
HEAP32[$5>>2] = $25;
$26 = HEAP32[10063]|0;
$27 = ($26|0)==(-1);
if ($27) {
$$0$$0$$0$$i = HEAP32[$5>>2]|0;
HEAP32[10063] = $$0$$0$$0$$i;
}
$28 = HEAP32[10063]|0;
$$0$$0$$0$11$i = HEAP32[$5>>2]|0;
$29 = ($28|0)==($$0$$0$$0$11$i|0);
if (!($29)) {
$$0$$0$$0$12$i = HEAP32[$5>>2]|0;
HEAP32[10063] = $$0$$0$$0$12$i;
$30 = HEAP32[10063]|0;
$$sroa$330$0$extract$shift = $30 >>> 24;
$$sroa$330$0$extract$trunc = $$sroa$330$0$extract$shift&255;
$31 = HEAP32[18132]|0;
$32 = ($31|0)==(0);
$33 = $30 >>> 8;
$34 = $33&255;
$35 = $30 >>> 16;
$36 = $35&255;
if ($32) {
label = 11;
break L6;
}
$37 = $30&255;
$38 = HEAP32[18142]|0;
$39 = (($38) + 4)|0;
HEAP32[18142] = $39;
$40 = HEAP32[18141]|0;
$41 = (($40) + 1)|0;
HEAP32[18141] = $41;
$42 = HEAP32[18133]|0;
$43 = HEAP32[18149]|0;
$44 = (($43) + 1)|0;
HEAP32[18149] = $44;
$45 = (($42) + ($43)|0);
$46 = HEAP8[$45>>0]|0;
$47 = $46 ^ $37;
HEAP8[$45>>0] = $47;
$48 = ($44>>>0)>(599);
if ($48) {
HEAP32[18149] = 0;
_mix_pool($42);
$49 = HEAP32[18138]|0;
$50 = (($49) + 1)|0;
HEAP32[18138] = $50;
HEAP32[18150] = 0;
$$pre$i = HEAP32[18133]|0;
$$pre77$i = HEAP32[18149]|0;
$52 = $$pre77$i;$54 = $$pre$i;
} else {
$52 = $44;$54 = $42;
}
$51 = (($52) + 1)|0;
HEAP32[18149] = $51;
$53 = (($54) + ($52)|0);
$55 = HEAP8[$53>>0]|0;
$56 = $55 ^ $34;
HEAP8[$53>>0] = $56;
$57 = ($51>>>0)>(599);
if ($57) {
HEAP32[18149] = 0;
_mix_pool($54);
$390 = HEAP32[18138]|0;
$391 = (($390) + 1)|0;
HEAP32[18138] = $391;
HEAP32[18150] = 0;
$$pre78$i = HEAP32[18133]|0;
$$pre79$i = HEAP32[18149]|0;
$393 = $$pre79$i;$395 = $$pre78$i;
} else {
$393 = $51;$395 = $54;
}
$392 = (($393) + 1)|0;
HEAP32[18149] = $392;
$394 = (($395) + ($393)|0);
$396 = HEAP8[$394>>0]|0;
$397 = $396 ^ $36;
HEAP8[$394>>0] = $397;
$398 = ($392>>>0)>(599);
if ($398) {
HEAP32[18149] = 0;
_mix_pool($395);
$399 = HEAP32[18138]|0;
$400 = (($399) + 1)|0;
HEAP32[18138] = $400;
HEAP32[18150] = 0;
}
$401 = HEAP32[18133]|0;
$402 = HEAP32[18149]|0;
$403 = (($402) + 1)|0;
HEAP32[18149] = $403;
$404 = (($401) + ($402)|0);
$405 = HEAP8[$404>>0]|0;
$406 = $405 ^ $$sroa$330$0$extract$trunc;
HEAP8[$404>>0] = $406;
$407 = ($403>>>0)>(599);
if ($407) {
HEAP32[18149] = 0;
_mix_pool($401);
$408 = HEAP32[18138]|0;
$409 = (($408) + 1)|0;
HEAP32[18138] = $409;
HEAP32[18150] = 1;
}
HEAP32[18150] = 0;
}
$58 = HEAP32[18132]|0;
$59 = ($58|0)==(0);
if ($59) {
label = 16;
break L6;
}
$60 = ($$040$i>>>0)>(600);
if ($60) {
label = 18;
break L6;
}
$61 = HEAP32[18137]|0;
$62 = ($61|0)==(0);
L31: do {
if ($62) {
$63 = HEAP32[18152]|0;
$64 = ($63|0)==(0|0);
L33: do {
if (!($64)) {
$65 = (_open($63,0,$vararg_buffer3)|0);
$66 = ($65|0)==(-1);
if ($66) {
$67 = (___errno_location()|0);
$68 = HEAP32[$67>>2]|0;
$69 = ($68|0)==(2);
if ($69) {
HEAP32[18153] = 1;
break;
} else {
$70 = (__gcry_gettext(68050)|0);
$71 = HEAP32[18152]|0;
$72 = (___errno_location()|0);
$73 = HEAP32[$72>>2]|0;
$74 = (_strerror($73)|0);
HEAP32[$vararg_buffer5>>2] = $71;
$vararg_ptr8 = ((($vararg_buffer5)) + 4|0);
HEAP32[$vararg_ptr8>>2] = $74;
__gcry_log_info($70,$vararg_buffer5);
break;
}
}
$75 = HEAP32[18152]|0;
$76 = (_lock_seed_file($65,$75,0)|0);
$77 = ($76|0)==(0);
if (!($77)) {
(_close($65)|0);
break;
}
$78 = (_fstat($65,$3)|0);
$79 = ($78|0)==(0);
if (!($79)) {
$80 = (__gcry_gettext(68071)|0);
$81 = HEAP32[18152]|0;
$82 = (___errno_location()|0);
$83 = HEAP32[$82>>2]|0;
$84 = (_strerror($83)|0);
HEAP32[$vararg_buffer9>>2] = $81;
$vararg_ptr12 = ((($vararg_buffer9)) + 4|0);
HEAP32[$vararg_ptr12>>2] = $84;
__gcry_log_info($80,$vararg_buffer9);
(_close($65)|0);
break;
}
$85 = HEAP32[$21>>2]|0;
$86 = $85 & 61440;
$87 = ($86|0)==(32768);
if (!($87)) {
$88 = (__gcry_gettext(68092)|0);
$89 = HEAP32[18152]|0;
HEAP32[$vararg_buffer13>>2] = $89;
__gcry_log_info($88,$vararg_buffer13);
(_close($65)|0);
break;
}
$90 = HEAP32[$22>>2]|0;
switch ($90|0) {
case 0: {
$91 = (__gcry_gettext(68130)|0);
__gcry_log_info($91,$vararg_buffer16);
(_close($65)|0);
HEAP32[18153] = 1;
break L33;
break;
}
case 600: {
L54: while(1) {
$93 = (_read($65,$4,600)|0);
switch ($93|0) {
case 600: {
break L54;
break;
}
case -1: {
break;
}
default: {
label = 37;
break L6;
}
}
$94 = (___errno_location()|0);
$95 = HEAP32[$94>>2]|0;
$96 = ($95|0)==(4);
if (!($96)) {
label = 37;
break L6;
}
}
(_close($65)|0);
$102 = HEAP32[18132]|0;
$103 = ($102|0)==(0);
if ($103) {
label = 39;
break L6;
}
$104 = HEAP32[18142]|0;
$105 = (($104) + 600)|0;
HEAP32[18142] = $105;
$106 = HEAP32[18141]|0;
$107 = (($106) + 1)|0;
HEAP32[18141] = $107;
$$01113$us$i$i$i = $4;$120 = 599;
while(1) {
$108 = ((($$01113$us$i$i$i)) + 1|0);
$109 = HEAP8[$$01113$us$i$i$i>>0]|0;
$110 = HEAP32[18133]|0;
$111 = HEAP32[18149]|0;
$112 = (($111) + 1)|0;
HEAP32[18149] = $112;
$113 = (($110) + ($111)|0);
$114 = HEAP8[$113>>0]|0;
$115 = $114 ^ $109;
HEAP8[$113>>0] = $115;
$116 = ($112>>>0)>(599);
if ($116) {
HEAP32[18149] = 0;
_mix_pool($110);
$117 = HEAP32[18138]|0;
$118 = (($117) + 1)|0;
HEAP32[18138] = $118;
$119 = ($120|0)==(0);
$121 = $119&1;
HEAP32[18150] = $121;
}
$122 = (($120) + -1)|0;
$123 = ($120|0)==(0);
if ($123) {
break;
} else {
$$01113$us$i$i$i = $108;$120 = $122;
}
}
$124 = (_getpid()|0);
$$sroa$358$0$extract$shift$i = $124 >>> 24;
$$sroa$358$0$extract$trunc$i = $$sroa$358$0$extract$shift$i&255;
$125 = HEAP32[18132]|0;
$126 = ($125|0)==(0);
$127 = $124 >>> 8;
$128 = $127&255;
$129 = $124 >>> 16;
$130 = $129&255;
if ($126) {
label = 45;
break L6;
}
$131 = $124&255;
$132 = HEAP32[18142]|0;
$133 = (($132) + 4)|0;
HEAP32[18142] = $133;
$134 = HEAP32[18141]|0;
$135 = (($134) + 1)|0;
HEAP32[18141] = $135;
$136 = HEAP32[18133]|0;
$137 = HEAP32[18149]|0;
$138 = (($137) + 1)|0;
HEAP32[18149] = $138;
$139 = (($136) + ($137)|0);
$140 = HEAP8[$139>>0]|0;
$141 = $140 ^ $131;
HEAP8[$139>>0] = $141;
$142 = ($138>>>0)>(599);
if ($142) {
HEAP32[18149] = 0;
_mix_pool($136);
$143 = HEAP32[18138]|0;
$144 = (($143) + 1)|0;
HEAP32[18138] = $144;
HEAP32[18150] = 0;
$$pre$i$i = HEAP32[18133]|0;
$$pre26$i$i = HEAP32[18149]|0;
$146 = $$pre26$i$i;$148 = $$pre$i$i;
} else {
$146 = $138;$148 = $136;
}
$145 = (($146) + 1)|0;
HEAP32[18149] = $145;
$147 = (($148) + ($146)|0);
$149 = HEAP8[$147>>0]|0;
$150 = $149 ^ $128;
HEAP8[$147>>0] = $150;
$151 = ($145>>>0)>(599);
if ($151) {
HEAP32[18149] = 0;
_mix_pool($148);
$248 = HEAP32[18138]|0;
$249 = (($248) + 1)|0;
HEAP32[18138] = $249;
HEAP32[18150] = 0;
$$pre27$i$i = HEAP32[18133]|0;
$$pre28$i$i = HEAP32[18149]|0;
$251 = $$pre28$i$i;$253 = $$pre27$i$i;
} else {
$251 = $145;$253 = $148;
}
$250 = (($251) + 1)|0;
HEAP32[18149] = $250;
$252 = (($253) + ($251)|0);
$254 = HEAP8[$252>>0]|0;
$255 = $254 ^ $130;
HEAP8[$252>>0] = $255;
$256 = ($250>>>0)>(599);
if ($256) {
HEAP32[18149] = 0;
_mix_pool($253);
$257 = HEAP32[18138]|0;
$258 = (($257) + 1)|0;
HEAP32[18138] = $258;
HEAP32[18150] = 0;
}
$259 = HEAP32[18133]|0;
$260 = HEAP32[18149]|0;
$261 = (($260) + 1)|0;
HEAP32[18149] = $261;
$262 = (($259) + ($260)|0);
$263 = HEAP8[$262>>0]|0;
$264 = $263 ^ $$sroa$358$0$extract$trunc$i;
HEAP8[$262>>0] = $264;
$265 = ($261>>>0)>(599);
if ($265) {
HEAP32[18149] = 0;
_mix_pool($259);
$266 = HEAP32[18138]|0;
$267 = (($266) + 1)|0;
HEAP32[18138] = $267;
HEAP32[18150] = 1;
}
$153 = (_time((0|0))|0);
$$sroa$353$0$extract$shift$i = $153 >>> 24;
$$sroa$353$0$extract$trunc$i = $$sroa$353$0$extract$shift$i&255;
$268 = HEAP32[18132]|0;
$269 = ($268|0)==(0);
$270 = $153 >>> 8;
$173 = $270&255;
$271 = $153 >>> 16;
$231 = $271&255;
if ($269) {
label = 49;
break L6;
}
$152 = $153&255;
$154 = HEAP32[18142]|0;
$155 = (($154) + 4)|0;
HEAP32[18142] = $155;
$156 = HEAP32[18141]|0;
$157 = (($156) + 1)|0;
HEAP32[18141] = $157;
$158 = HEAP32[18133]|0;
$159 = HEAP32[18149]|0;
$160 = (($159) + 1)|0;
HEAP32[18149] = $160;
$161 = (($158) + ($159)|0);
$162 = HEAP8[$161>>0]|0;
$163 = $162 ^ $152;
HEAP8[$161>>0] = $163;
$164 = ($160>>>0)>(599);
if ($164) {
HEAP32[18149] = 0;
_mix_pool($158);
$165 = HEAP32[18138]|0;
$166 = (($165) + 1)|0;
HEAP32[18138] = $166;
HEAP32[18150] = 0;
$$pre29$i$i = HEAP32[18133]|0;
$$pre30$i$i = HEAP32[18149]|0;
$168 = $$pre30$i$i;$170 = $$pre29$i$i;
} else {
$168 = $160;$170 = $158;
}
$167 = (($168) + 1)|0;
HEAP32[18149] = $167;
$169 = (($170) + ($168)|0);
$171 = HEAP8[$169>>0]|0;
$172 = $171 ^ $173;
HEAP8[$169>>0] = $172;
$174 = ($167>>>0)>(599);
if ($174) {
HEAP32[18149] = 0;
_mix_pool($170);
$223 = HEAP32[18138]|0;
$224 = (($223) + 1)|0;
HEAP32[18138] = $224;
HEAP32[18150] = 0;
$$pre31$i$i = HEAP32[18133]|0;
$$pre32$i$i = HEAP32[18149]|0;
$226 = $$pre32$i$i;$228 = $$pre31$i$i;
} else {
$226 = $167;$228 = $170;
}
$225 = (($226) + 1)|0;
HEAP32[18149] = $225;
$227 = (($228) + ($226)|0);
$229 = HEAP8[$227>>0]|0;
$230 = $229 ^ $231;
HEAP8[$227>>0] = $230;
$232 = ($225>>>0)>(599);
if ($232) {
HEAP32[18149] = 0;
_mix_pool($228);
$233 = HEAP32[18138]|0;
$234 = (($233) + 1)|0;
HEAP32[18138] = $234;
HEAP32[18150] = 0;
}
$235 = HEAP32[18133]|0;
$236 = HEAP32[18149]|0;
$237 = (($236) + 1)|0;
HEAP32[18149] = $237;
$238 = (($235) + ($236)|0);
$239 = HEAP8[$238>>0]|0;
$240 = $239 ^ $$sroa$353$0$extract$trunc$i;
HEAP8[$238>>0] = $240;
$241 = ($237>>>0)>(599);
if ($241) {
HEAP32[18149] = 0;
_mix_pool($235);
$242 = HEAP32[18138]|0;
$243 = (($242) + 1)|0;
HEAP32[18138] = $243;
HEAP32[18150] = 1;
}
$176 = (_clock()|0);
$$sroa$3$0$extract$shift$i = $176 >>> 24;
$$sroa$3$0$extract$trunc$i = $$sroa$3$0$extract$shift$i&255;
$244 = HEAP32[18132]|0;
$245 = ($244|0)==(0);
$246 = $176 >>> 8;
$196 = $246&255;
$247 = $176 >>> 16;
$208 = $247&255;
if ($245) {
label = 53;
break L6;
}
$175 = $176&255;
$177 = HEAP32[18142]|0;
$178 = (($177) + 4)|0;
HEAP32[18142] = $178;
$179 = HEAP32[18141]|0;
$180 = (($179) + 1)|0;
HEAP32[18141] = $180;
$181 = HEAP32[18133]|0;
$182 = HEAP32[18149]|0;
$183 = (($182) + 1)|0;
HEAP32[18149] = $183;
$184 = (($181) + ($182)|0);
$185 = HEAP8[$184>>0]|0;
$186 = $185 ^ $175;
HEAP8[$184>>0] = $186;
$187 = ($183>>>0)>(599);
if ($187) {
HEAP32[18149] = 0;
_mix_pool($181);
$188 = HEAP32[18138]|0;
$189 = (($188) + 1)|0;
HEAP32[18138] = $189;
HEAP32[18150] = 0;
$$pre33$i$i = HEAP32[18133]|0;
$$pre34$i$i = HEAP32[18149]|0;
$191 = $$pre34$i$i;$193 = $$pre33$i$i;
} else {
$191 = $183;$193 = $181;
}
$190 = (($191) + 1)|0;
HEAP32[18149] = $190;
$192 = (($193) + ($191)|0);
$194 = HEAP8[$192>>0]|0;
$195 = $194 ^ $196;
HEAP8[$192>>0] = $195;
$197 = ($190>>>0)>(599);
if ($197) {
HEAP32[18149] = 0;
_mix_pool($193);
$200 = HEAP32[18138]|0;
$201 = (($200) + 1)|0;
HEAP32[18138] = $201;
HEAP32[18150] = 0;
$$pre35$i$i = HEAP32[18133]|0;
$$pre36$i$i = HEAP32[18149]|0;
$203 = $$pre36$i$i;$205 = $$pre35$i$i;
} else {
$203 = $190;$205 = $193;
}
$202 = (($203) + 1)|0;
HEAP32[18149] = $202;
$204 = (($205) + ($203)|0);
$206 = HEAP8[$204>>0]|0;
$207 = $206 ^ $208;
HEAP8[$204>>0] = $207;
$209 = ($202>>>0)>(599);
if ($209) {
HEAP32[18149] = 0;
_mix_pool($205);
$210 = HEAP32[18138]|0;
$211 = (($210) + 1)|0;
HEAP32[18138] = $211;
HEAP32[18150] = 0;
}
$212 = HEAP32[18133]|0;
$213 = HEAP32[18149]|0;
$214 = (($213) + 1)|0;
HEAP32[18149] = $214;
$215 = (($212) + ($213)|0);
$216 = HEAP8[$215>>0]|0;
$217 = $216 ^ $$sroa$3$0$extract$trunc$i;
HEAP8[$215>>0] = $217;
$218 = ($214>>>0)>(599);
if ($218) {
HEAP32[18149] = 0;
_mix_pool($212);
$219 = HEAP32[18138]|0;
$220 = (($219) + 1)|0;
HEAP32[18138] = $220;
HEAP32[18150] = 1;
}
$221 = HEAP32[18136]|0;
$222 = ($221|0)==(0|0);
if ($222) {
label = 57;
break L6;
}
$198 = (__gcry_rndlinux_gather_random(84,0,16,0)|0);
$199 = ($198|0)<(0);
if ($199) {
label = 59;
break L6;
}
HEAP32[18153] = 1;
HEAP32[18137] = 1;
break L31;
break;
}
default: {
$92 = (__gcry_gettext(68163)|0);
__gcry_log_info($92,$vararg_buffer18);
(_close($65)|0);
break L33;
}
}
}
} while(0);
}
} while(0);
$272 = HEAP32[18154]|0;
$273 = ($272|0)!=(0);
$or$cond$i = $19 | $273;
if ($or$cond$i) {
if ($20) {
$$pr$i = HEAP32[18155]|0;
$282 = $$pr$i;
label = 88;
}
} else {
HEAP32[18155] = 0;
$274 = ($$040$i>>>0)>(16);
$$$040$i = $274 ? $$040$i : 16;
$275 = HEAP32[18136]|0;
$276 = ($275|0)==(0|0);
if ($276) {
label = 82;
break L6;
}
$277 = (__gcry_rndlinux_gather_random(84,4,$$$040$i,2)|0);
$278 = ($277|0)<(0);
if ($278) {
label = 84;
break L6;
}
$279 = HEAP32[18155]|0;
$280 = (($279) + ($$$040$i))|0;
HEAP32[18155] = $280;
HEAP32[18154] = 1;
$282 = $280;
label = 88;
}
if ((label|0) == 88) {
label = 0;
$281 = ($282>>>0)<($$040$i>>>0);
if ($281) {
$283 = ($282|0)<(0);
if ($283) {
HEAP32[18155] = 0;
$285 = 0;
} else {
$285 = $282;
}
$284 = (($$040$i) - ($285))|0;
$286 = ($284>>>0)>(600);
if ($286) {
label = 92;
break L6;
}
$287 = HEAP32[18136]|0;
$288 = ($287|0)==(0|0);
if ($288) {
label = 94;
break L6;
}
$289 = (__gcry_rndlinux_gather_random(84,4,$284,2)|0);
$290 = ($289|0)<(0);
if ($290) {
label = 96;
break L6;
}
$291 = HEAP32[18155]|0;
$292 = (($291) + ($284))|0;
HEAP32[18155] = $292;
}
}
$293 = HEAP32[18137]|0;
$294 = ($293|0)==(0);
if ($294) {
while(1) {
$297 = HEAP32[18139]|0;
$298 = (($297) + 1)|0;
HEAP32[18139] = $298;
$299 = HEAP32[18136]|0;
$300 = ($299|0)==(0|0);
if ($300) {
label = 102;
break L6;
}
$301 = (__gcry_rndlinux_gather_random(84,3,120,1)|0);
$302 = ($301|0)<(0);
if ($302) {
label = 104;
break L6;
}
$295 = HEAP32[18137]|0;
$296 = ($295|0)==(0);
if (!($296)) {
break;
}
}
}
_do_fast_random_poll();
$303 = HEAP32[10063]|0;
$$sroa$4$0$extract$shift = $303 >>> 24;
$$sroa$4$0$extract$trunc = $$sroa$4$0$extract$shift&255;
$304 = HEAP32[18132]|0;
$305 = ($304|0)==(0);
$306 = $303 >>> 8;
$307 = $306&255;
$308 = $303 >>> 16;
$309 = $308&255;
if ($305) {
label = 106;
break L6;
}
$310 = $303&255;
$311 = HEAP32[18142]|0;
$312 = (($311) + 4)|0;
HEAP32[18142] = $312;
$313 = HEAP32[18141]|0;
$314 = (($313) + 1)|0;
HEAP32[18141] = $314;
$315 = HEAP32[18133]|0;
$316 = HEAP32[18149]|0;
$317 = (($316) + 1)|0;
HEAP32[18149] = $317;
$318 = (($315) + ($316)|0);
$319 = HEAP8[$318>>0]|0;
$320 = $319 ^ $310;
HEAP8[$318>>0] = $320;
$321 = ($317>>>0)>(599);
if ($321) {
HEAP32[18149] = 0;
_mix_pool($315);
$322 = HEAP32[18138]|0;
$323 = (($322) + 1)|0;
HEAP32[18138] = $323;
HEAP32[18150] = 0;
$$pre80$i = HEAP32[18133]|0;
$$pre81$i = HEAP32[18149]|0;
$325 = $$pre81$i;$327 = $$pre80$i;
} else {
$325 = $317;$327 = $315;
}
$324 = (($325) + 1)|0;
HEAP32[18149] = $324;
$326 = (($327) + ($325)|0);
$328 = HEAP8[$326>>0]|0;
$329 = $328 ^ $307;
HEAP8[$326>>0] = $329;
$330 = ($324>>>0)>(599);
if ($330) {
HEAP32[18149] = 0;
_mix_pool($327);
$410 = HEAP32[18138]|0;
$411 = (($410) + 1)|0;
HEAP32[18138] = $411;
HEAP32[18150] = 0;
$$pre82$i = HEAP32[18133]|0;
$$pre83$i = HEAP32[18149]|0;
$413 = $$pre83$i;$415 = $$pre82$i;
} else {
$413 = $324;$415 = $327;
}
$412 = (($413) + 1)|0;
HEAP32[18149] = $412;
$414 = (($415) + ($413)|0);
$416 = HEAP8[$414>>0]|0;
$417 = $416 ^ $309;
HEAP8[$414>>0] = $417;
$418 = ($412>>>0)>(599);
if ($418) {
HEAP32[18149] = 0;
_mix_pool($415);
$419 = HEAP32[18138]|0;
$420 = (($419) + 1)|0;
HEAP32[18138] = $420;
HEAP32[18150] = 0;
}
$331 = HEAP32[18133]|0;
$421 = HEAP32[18149]|0;
$422 = (($421) + 1)|0;
HEAP32[18149] = $422;
$423 = (($331) + ($421)|0);
$424 = HEAP8[$423>>0]|0;
$425 = $424 ^ $$sroa$4$0$extract$trunc;
HEAP8[$423>>0] = $425;
$426 = ($422>>>0)>(599);
if ($426) {
HEAP32[18149] = 0;
_mix_pool($331);
$427 = HEAP32[18138]|0;
$428 = (($427) + 1)|0;
HEAP32[18138] = $428;
HEAP32[18150] = 1;
} else {
$$pre84$i = HEAP32[18150]|0;
$429 = ($$pre84$i|0)==(0);
if ($429) {
_mix_pool($331);
$332 = HEAP32[18138]|0;
$333 = (($332) + 1)|0;
HEAP32[18138] = $333;
}
}
$334 = HEAP32[18135]|0;
$335 = HEAP32[18133]|0;
$$03763$i = $334;$$03862$i = $335;$$03961$i = 0;
while(1) {
$336 = HEAP32[$$03862$i>>2]|0;
$337 = (($336) + -1515870811)|0;
HEAP32[$$03763$i>>2] = $337;
$338 = (($$03961$i) + 1)|0;
$339 = ((($$03763$i)) + 4|0);
$340 = ((($$03862$i)) + 4|0);
$exitcond$i = ($338|0)==(150);
if ($exitcond$i) {
break;
} else {
$$03763$i = $339;$$03862$i = $340;$$03961$i = $338;
}
}
_mix_pool($335);
$341 = HEAP32[18138]|0;
$342 = (($341) + 1)|0;
HEAP32[18138] = $342;
$343 = HEAP32[18135]|0;
_mix_pool($343);
$344 = HEAP32[18143]|0;
$345 = (($344) + 1)|0;
HEAP32[18143] = $345;
$346 = ($$040$i|0)==(0);
if ($346) {
$$pre86$i = HEAP32[18155]|0;
$$1$lcssa$i = $$0$i;$358 = $$pre86$i;
} else {
$347 = HEAP32[18135]|0;
$pool_readpos$promoted$i = HEAP32[18156]|0;
$pool_balance$promoted$i = HEAP32[18155]|0;
$$164$i = $$0$i;$$in$i = $$040$i;$350 = $pool_readpos$promoted$i;
while(1) {
$348 = (($$in$i) + -1)|0;
$349 = (($350) + 1)|0;
$351 = (($347) + ($350)|0);
$352 = HEAP8[$351>>0]|0;
$353 = ((($$164$i)) + 1|0);
HEAP8[$$164$i>>0] = $352;
$354 = ($349>>>0)>(599);
$spec$select$i = $354 ? 0 : $349;
$355 = ($348|0)==(0);
if ($355) {
break;
} else {
$$164$i = $353;$$in$i = $348;$350 = $spec$select$i;
}
}
$scevgep$i = (($$0$i) + ($$040$i)|0);
$356 = (($pool_balance$promoted$i) - ($$040$i))|0;
HEAP32[18156] = $spec$select$i;
HEAP32[18155] = $356;
$$1$lcssa$i = $scevgep$i;$358 = $356;
}
$357 = ($358|0)<(0);
if ($357) {
HEAP32[18155] = 0;
}
$359 = HEAP32[18135]|0;
_memset(($359|0),0,600)|0;
$360 = (_getpid()|0);
$$0$$0$$0$13$i = HEAP32[$5>>2]|0;
$361 = ($360|0)==($$0$$0$$0$13$i|0);
if ($361) {
break;
}
$362 = (_getpid()|0);
$$sroa$3$0$extract$shift = $362 >>> 24;
$$sroa$3$0$extract$trunc = $$sroa$3$0$extract$shift&255;
$363 = HEAP32[18132]|0;
$364 = ($363|0)==(0);
$365 = $362 >>> 8;
$366 = $365&255;
$367 = $362 >>> 16;
$368 = $367&255;
if ($364) {
label = 122;
break L6;
}
$369 = $362&255;
$370 = HEAP32[18142]|0;
$371 = (($370) + 4)|0;
HEAP32[18142] = $371;
$372 = HEAP32[18141]|0;
$373 = (($372) + 1)|0;
HEAP32[18141] = $373;
$374 = HEAP32[18133]|0;
$375 = HEAP32[18149]|0;
$376 = (($375) + 1)|0;
HEAP32[18149] = $376;
$377 = (($374) + ($375)|0);
$378 = HEAP8[$377>>0]|0;
$379 = $378 ^ $369;
HEAP8[$377>>0] = $379;
$380 = ($376>>>0)>(599);
if ($380) {
HEAP32[18149] = 0;
_mix_pool($374);
$381 = HEAP32[18138]|0;
$382 = (($381) + 1)|0;
HEAP32[18138] = $382;
HEAP32[18150] = 0;
$$pre87$i = HEAP32[18133]|0;
$$pre88$i = HEAP32[18149]|0;
$384 = $$pre88$i;$386 = $$pre87$i;
} else {
$384 = $376;$386 = $374;
}
$383 = (($384) + 1)|0;
HEAP32[18149] = $383;
$385 = (($386) + ($384)|0);
$387 = HEAP8[$385>>0]|0;
$388 = $387 ^ $366;
HEAP8[$385>>0] = $388;
$389 = ($383>>>0)>(599);
if ($389) {
HEAP32[18149] = 0;
_mix_pool($386);
$430 = HEAP32[18138]|0;
$431 = (($430) + 1)|0;
HEAP32[18138] = $431;
HEAP32[18150] = 0;
$$pre89$i = HEAP32[18133]|0;
$$pre90$i = HEAP32[18149]|0;
$433 = $$pre90$i;$435 = $$pre89$i;
} else {
$433 = $383;$435 = $386;
}
$432 = (($433) + 1)|0;
HEAP32[18149] = $432;
$434 = (($435) + ($433)|0);
$436 = HEAP8[$434>>0]|0;
$437 = $436 ^ $368;
HEAP8[$434>>0] = $437;
$438 = ($432>>>0)>(599);
if ($438) {
HEAP32[18149] = 0;
_mix_pool($435);
$439 = HEAP32[18138]|0;
$440 = (($439) + 1)|0;
HEAP32[18138] = $440;
HEAP32[18150] = 0;
}
$441 = HEAP32[18133]|0;
$442 = HEAP32[18149]|0;
$443 = (($442) + 1)|0;
HEAP32[18149] = $443;
$444 = (($441) + ($442)|0);
$445 = HEAP8[$444>>0]|0;
$446 = $445 ^ $$sroa$3$0$extract$trunc;
HEAP8[$444>>0] = $446;
$447 = ($443>>>0)>(599);
if ($447) {
HEAP32[18149] = 0;
_mix_pool($441);
$448 = HEAP32[18138]|0;
$449 = (($448) + 1)|0;
HEAP32[18138] = $449;
HEAP32[18150] = 1;
}
HEAP32[18150] = 0;
HEAP32[10063] = $362;
$$0$i = $$1$lcssa$i;$$040$i = -1;
}
$450 = (($$03536) - ($451))|0;
$452 = ($450|0)==(0);
if ($452) {
break L4;
}
$453 = (($$0183437) + ($451)|0);
$$pre = HEAP32[18132]|0;
$454 = ($450>>>0)<(600);
$455 = $454 ? $450 : 600;
$456 = ($$pre|0)==(0);
if ($456) {
label = 5;
break;
} else {
$$0183437 = $453;$$03536 = $450;$451 = $455;
}
}
switch (label|0) {
case 5: {
__gcry_assert_failed(67953,67968,934,67993);
// unreachable;
break;
}
case 11: {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
break;
}
case 16: {
__gcry_assert_failed(67953,67968,953,67993);
// unreachable;
break;
}
case 18: {
__gcry_log_bug(68018,$vararg_buffer1);
// unreachable;
break;
}
case 37: {
$97 = (__gcry_gettext(68217)|0);
$98 = HEAP32[18152]|0;
$99 = (___errno_location()|0);
$100 = HEAP32[$99>>2]|0;
$101 = (_strerror($100)|0);
HEAP32[$vararg_buffer20>>2] = $98;
$vararg_ptr23 = ((($vararg_buffer20)) + 4|0);
HEAP32[$vararg_ptr23>>2] = $101;
__gcry_log_fatal($97,$vararg_buffer20);
// unreachable;
break;
}
case 39: {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
break;
}
case 45: {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
break;
}
case 49: {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
break;
}
case 53: {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
break;
}
case 57: {
__gcry_log_fatal(68238,$vararg_buffer24);
// unreachable;
break;
}
case 59: {
__gcry_log_fatal(68289,$vararg_buffer26);
// unreachable;
break;
}
case 82: {
__gcry_log_fatal(68238,$vararg_buffer28);
// unreachable;
break;
}
case 84: {
__gcry_log_fatal(68289,$vararg_buffer30);
// unreachable;
break;
}
case 92: {
__gcry_bug(67968,995,67993);
// unreachable;
break;
}
case 94: {
__gcry_log_fatal(68238,$vararg_buffer32);
// unreachable;
break;
}
case 96: {
__gcry_log_fatal(68289,$vararg_buffer34);
// unreachable;
break;
}
case 102: {
__gcry_log_fatal(68238,$vararg_buffer36);
// unreachable;
break;
}
case 104: {
__gcry_log_fatal(68289,$vararg_buffer38);
// unreachable;
break;
}
case 106: {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
break;
}
case 122: {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
break;
}
}
}
} while(0);
HEAP32[18132] = 0;
$457 = (_gpgrt_lock_unlock(40208)|0);
$458 = ($457|0)==(0);
if ($458) {
STACKTOP = sp;return;
} else {
$459 = (_gpg_strerror($457)|0);
HEAP32[$vararg_buffer40>>2] = $459;
__gcry_log_fatal(67776,$vararg_buffer40);
// unreachable;
}
}
function _lock_seed_file($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$010 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer8 = sp + 24|0;
$vararg_buffer5 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$3 = sp + 40|0;
$4 = sp + 32|0;
$5 = ((($3)) + 4|0);
;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;
$6 = ($2|0)!=(0);
$7 = $6&1;
HEAP16[$3>>1] = $7;
$8 = ((($3)) + 2|0);
HEAP16[$8>>1] = 0;
HEAP32[$vararg_buffer>>2] = $3;
$9 = (_fcntl($0,13,$vararg_buffer)|0);
$10 = ($9|0)==(-1);
if (!($10)) {
$$09 = 0;
STACKTOP = sp;return ($$09|0);
}
$11 = ((($4)) + 4|0);
$$010 = 0;
while(1) {
$12 = (___errno_location()|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(11);
if (!($14)) {
$15 = (___errno_location()|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($16|0)==(13);
if (!($17)) {
break;
}
}
$22 = ($$010>>>0)>(2);
if ($22) {
$23 = (__gcry_gettext(68368)|0);
HEAP32[$vararg_buffer5>>2] = $1;
__gcry_log_info($23,$vararg_buffer5);
}
HEAP32[$4>>2] = $$010;
HEAP32[$11>>2] = 250000;
(_select(0,0,0,0,$4)|0);
$24 = ($$010>>>0)<(10);
$25 = $24&1;
$spec$select = (($$010) + ($25))|0;
HEAP32[$vararg_buffer8>>2] = $3;
$26 = (_fcntl($0,13,$vararg_buffer8)|0);
$27 = ($26|0)==(-1);
if ($27) {
$$010 = $spec$select;
} else {
$$09 = 0;
label = 9;
break;
}
}
if ((label|0) == 9) {
STACKTOP = sp;return ($$09|0);
}
$18 = (__gcry_gettext(68347)|0);
$19 = (___errno_location()|0);
$20 = HEAP32[$19>>2]|0;
$21 = (_strerror($20)|0);
HEAP32[$vararg_buffer1>>2] = $1;
$vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
HEAP32[$vararg_ptr4>>2] = $21;
__gcry_log_info($18,$vararg_buffer1);
$$09 = -1;
STACKTOP = sp;return ($$09|0);
}
function _add_randomness($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$01113 = 0, $$01113$us = 0, $$014 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[18132]|0;
$4 = ($3|0)==(0);
if ($4) {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
}
$5 = HEAP32[18142]|0;
$6 = (($5) + ($1))|0;
HEAP32[18142] = $6;
$7 = HEAP32[18141]|0;
$8 = (($7) + 1)|0;
HEAP32[18141] = $8;
$9 = (($1) + -1)|0;
$10 = ($1|0)==(0);
if ($10) {
return;
}
$11 = ($2>>>0)<(3);
if ($11) {
$$01113$us = $0;$24 = $9;
while(1) {
$12 = ((($$01113$us)) + 1|0);
$13 = HEAP8[$$01113$us>>0]|0;
$14 = HEAP32[18133]|0;
$15 = HEAP32[18149]|0;
$16 = (($15) + 1)|0;
HEAP32[18149] = $16;
$17 = (($14) + ($15)|0);
$18 = HEAP8[$17>>0]|0;
$19 = $18 ^ $13;
HEAP8[$17>>0] = $19;
$20 = ($16>>>0)>(599);
if ($20) {
HEAP32[18149] = 0;
_mix_pool($14);
$21 = HEAP32[18138]|0;
$22 = (($21) + 1)|0;
HEAP32[18138] = $22;
$23 = ($24|0)==(0);
$25 = $23&1;
HEAP32[18150] = $25;
}
$26 = (($24) + -1)|0;
$27 = ($24|0)==(0);
if ($27) {
break;
} else {
$$01113$us = $12;$24 = $26;
}
}
return;
}
$$01113 = $0;$$014 = 0;$46 = $9;
while(1) {
$28 = ((($$01113)) + 1|0);
$29 = HEAP8[$$01113>>0]|0;
$30 = HEAP32[18133]|0;
$31 = HEAP32[18149]|0;
$32 = (($31) + 1)|0;
HEAP32[18149] = $32;
$33 = (($30) + ($31)|0);
$34 = HEAP8[$33>>0]|0;
$35 = $34 ^ $29;
HEAP8[$33>>0] = $35;
$36 = (($$014) + 1)|0;
$37 = ($32>>>0)>(599);
if ($37) {
$38 = HEAP32[18137]|0;
$39 = ($38|0)==(0);
if ($39) {
$40 = HEAP32[18157]|0;
$41 = (($40) + ($36))|0;
HEAP32[18157] = $41;
$42 = ($41>>>0)>(599);
if ($42) {
HEAP32[18137] = 1;
$$1 = 0;
} else {
$$1 = 0;
}
} else {
$$1 = $36;
}
HEAP32[18149] = 0;
_mix_pool($30);
$43 = HEAP32[18138]|0;
$44 = (($43) + 1)|0;
HEAP32[18138] = $44;
$45 = ($46|0)==(0);
$47 = $45&1;
HEAP32[18150] = $47;
$$2 = $$1;
} else {
$$2 = $36;
}
$48 = (($46) + -1)|0;
$49 = ($46|0)==(0);
if ($49) {
break;
} else {
$$01113 = $28;$$014 = $$2;$46 = $48;
}
}
return;
}
function _do_fast_random_poll() {
var $$01113$us$i3 = 0, $$pre = 0, $$pre13 = 0, $$pre14 = 0, $$pre15 = 0, $$pre16 = 0, $$pre17 = 0, $$pre18 = 0, $$pre19 = 0, $$pre20 = 0, $$pre21 = 0, $$pre22 = 0, $$pre23 = 0, $$pre24 = 0, $$pre25 = 0, $$pre26 = 0, $$pre27 = 0, $0 = 0, $1 = 0, $10 = 0;
var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0;
var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0;
var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0;
var $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0;
var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0;
var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
$0 = sp + 144|0;
$1 = sp + 8|0;
$2 = sp + 4|0;
$3 = sp;
$4 = HEAP32[18132]|0;
$5 = ($4|0)==(0);
if ($5) {
__gcry_assert_failed(67953,67968,1180,68327);
// unreachable;
}
$6 = HEAP32[18140]|0;
$7 = (($6) + 1)|0;
HEAP32[18140] = $7;
$8 = (_gettimeofday(($0|0),(0|0))|0);
$9 = ($8|0)==(0);
if (!($9)) {
__gcry_bug(67968,1198,68327);
// unreachable;
}
$10 = HEAP32[18132]|0;
$11 = ($10|0)==(0);
if ($11) {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
}
$12 = HEAP32[18142]|0;
$13 = (($12) + 4)|0;
HEAP32[18142] = $13;
$14 = HEAP32[18141]|0;
$15 = (($14) + 1)|0;
HEAP32[18141] = $15;
$16 = ((($0)) + 1|0);
$17 = HEAP8[$0>>0]|0;
$18 = HEAP32[18133]|0;
$19 = HEAP32[18149]|0;
$20 = (($19) + 1)|0;
HEAP32[18149] = $20;
$21 = (($18) + ($19)|0);
$22 = HEAP8[$21>>0]|0;
$23 = $22 ^ $17;
HEAP8[$21>>0] = $23;
$24 = ($20>>>0)>(599);
if ($24) {
HEAP32[18149] = 0;
_mix_pool($18);
$25 = HEAP32[18138]|0;
$26 = (($25) + 1)|0;
HEAP32[18138] = $26;
HEAP32[18150] = 0;
$$pre = HEAP32[18133]|0;
$$pre13 = HEAP32[18149]|0;
$30 = $$pre13;$32 = $$pre;
} else {
$30 = $20;$32 = $18;
}
$27 = ((($0)) + 2|0);
$28 = HEAP8[$16>>0]|0;
$29 = (($30) + 1)|0;
HEAP32[18149] = $29;
$31 = (($32) + ($30)|0);
$33 = HEAP8[$31>>0]|0;
$34 = $33 ^ $28;
HEAP8[$31>>0] = $34;
$35 = ($29>>>0)>(599);
if ($35) {
HEAP32[18149] = 0;
_mix_pool($32);
$206 = HEAP32[18138]|0;
$207 = (($206) + 1)|0;
HEAP32[18138] = $207;
HEAP32[18150] = 0;
$$pre14 = HEAP32[18133]|0;
$$pre15 = HEAP32[18149]|0;
$211 = $$pre15;$213 = $$pre14;
} else {
$211 = $29;$213 = $32;
}
$208 = ((($0)) + 3|0);
$209 = HEAP8[$27>>0]|0;
$210 = (($211) + 1)|0;
HEAP32[18149] = $210;
$212 = (($213) + ($211)|0);
$214 = HEAP8[$212>>0]|0;
$215 = $214 ^ $209;
HEAP8[$212>>0] = $215;
$216 = ($210>>>0)>(599);
if ($216) {
HEAP32[18149] = 0;
_mix_pool($213);
$217 = HEAP32[18138]|0;
$218 = (($217) + 1)|0;
HEAP32[18138] = $218;
HEAP32[18150] = 0;
}
$219 = HEAP8[$208>>0]|0;
$220 = HEAP32[18133]|0;
$221 = HEAP32[18149]|0;
$222 = (($221) + 1)|0;
HEAP32[18149] = $222;
$223 = (($220) + ($221)|0);
$224 = HEAP8[$223>>0]|0;
$225 = $224 ^ $219;
HEAP8[$223>>0] = $225;
$226 = ($222>>>0)>(599);
if ($226) {
HEAP32[18149] = 0;
_mix_pool($220);
$227 = HEAP32[18138]|0;
$228 = (($227) + 1)|0;
HEAP32[18138] = $228;
HEAP32[18150] = 1;
}
$229 = HEAP32[18132]|0;
$230 = ($229|0)==(0);
if ($230) {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
}
$36 = ((($0)) + 4|0);
$37 = HEAP32[18142]|0;
$38 = (($37) + 4)|0;
HEAP32[18142] = $38;
$39 = HEAP32[18141]|0;
$40 = (($39) + 1)|0;
HEAP32[18141] = $40;
$41 = ((($36)) + 1|0);
$42 = HEAP8[$36>>0]|0;
$43 = HEAP32[18133]|0;
$44 = HEAP32[18149]|0;
$45 = (($44) + 1)|0;
HEAP32[18149] = $45;
$46 = (($43) + ($44)|0);
$47 = HEAP8[$46>>0]|0;
$48 = $47 ^ $42;
HEAP8[$46>>0] = $48;
$49 = ($45>>>0)>(599);
if ($49) {
HEAP32[18149] = 0;
_mix_pool($43);
$50 = HEAP32[18138]|0;
$51 = (($50) + 1)|0;
HEAP32[18138] = $51;
HEAP32[18150] = 0;
$$pre16 = HEAP32[18133]|0;
$$pre17 = HEAP32[18149]|0;
$55 = $$pre17;$57 = $$pre16;
} else {
$55 = $45;$57 = $43;
}
$52 = ((($36)) + 2|0);
$53 = HEAP8[$41>>0]|0;
$54 = (($55) + 1)|0;
HEAP32[18149] = $54;
$56 = (($57) + ($55)|0);
$58 = HEAP8[$56>>0]|0;
$59 = $58 ^ $53;
HEAP8[$56>>0] = $59;
$60 = ($54>>>0)>(599);
if ($60) {
HEAP32[18149] = 0;
_mix_pool($57);
$181 = HEAP32[18138]|0;
$182 = (($181) + 1)|0;
HEAP32[18138] = $182;
HEAP32[18150] = 0;
$$pre18 = HEAP32[18133]|0;
$$pre19 = HEAP32[18149]|0;
$186 = $$pre19;$188 = $$pre18;
} else {
$186 = $54;$188 = $57;
}
$183 = ((($36)) + 3|0);
$184 = HEAP8[$52>>0]|0;
$185 = (($186) + 1)|0;
HEAP32[18149] = $185;
$187 = (($188) + ($186)|0);
$189 = HEAP8[$187>>0]|0;
$190 = $189 ^ $184;
HEAP8[$187>>0] = $190;
$191 = ($185>>>0)>(599);
if ($191) {
HEAP32[18149] = 0;
_mix_pool($188);
$192 = HEAP32[18138]|0;
$193 = (($192) + 1)|0;
HEAP32[18138] = $193;
HEAP32[18150] = 0;
}
$194 = HEAP8[$183>>0]|0;
$195 = HEAP32[18133]|0;
$196 = HEAP32[18149]|0;
$197 = (($196) + 1)|0;
HEAP32[18149] = $197;
$198 = (($195) + ($196)|0);
$199 = HEAP8[$198>>0]|0;
$200 = $199 ^ $194;
HEAP8[$198>>0] = $200;
$201 = ($197>>>0)>(599);
if ($201) {
HEAP32[18149] = 0;
_mix_pool($195);
$202 = HEAP32[18138]|0;
$203 = (($202) + 1)|0;
HEAP32[18138] = $203;
HEAP32[18150] = 1;
}
(_getrusage(0,$1)|0);
$204 = HEAP32[18132]|0;
$205 = ($204|0)==(0);
if ($205) {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
}
$61 = HEAP32[18142]|0;
$62 = (($61) + 136)|0;
HEAP32[18142] = $62;
$63 = HEAP32[18141]|0;
$64 = (($63) + 1)|0;
HEAP32[18141] = $64;
$$01113$us$i3 = $1;$77 = 135;
while(1) {
$65 = ((($$01113$us$i3)) + 1|0);
$66 = HEAP8[$$01113$us$i3>>0]|0;
$67 = HEAP32[18133]|0;
$68 = HEAP32[18149]|0;
$69 = (($68) + 1)|0;
HEAP32[18149] = $69;
$70 = (($67) + ($68)|0);
$71 = HEAP8[$70>>0]|0;
$72 = $71 ^ $66;
HEAP8[$70>>0] = $72;
$73 = ($69>>>0)>(599);
if ($73) {
HEAP32[18149] = 0;
_mix_pool($67);
$74 = HEAP32[18138]|0;
$75 = (($74) + 1)|0;
HEAP32[18138] = $75;
$76 = ($77|0)==(0);
$78 = $76&1;
HEAP32[18150] = $78;
}
$79 = (($77) + -1)|0;
$80 = ($77|0)==(0);
if ($80) {
break;
} else {
$$01113$us$i3 = $65;$77 = $79;
}
}
$81 = (_time((0|0))|0);
HEAP32[$2>>2] = $81;
$82 = HEAP32[18132]|0;
$83 = ($82|0)==(0);
$84 = $81 >>> 8;
$85 = $84&255;
$86 = $81 >>> 16;
$87 = $86&255;
if ($83) {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
}
$88 = $81&255;
$89 = HEAP32[18142]|0;
$90 = (($89) + 4)|0;
HEAP32[18142] = $90;
$91 = HEAP32[18141]|0;
$92 = (($91) + 1)|0;
HEAP32[18141] = $92;
$93 = HEAP32[18133]|0;
$94 = HEAP32[18149]|0;
$95 = (($94) + 1)|0;
HEAP32[18149] = $95;
$96 = (($93) + ($94)|0);
$97 = HEAP8[$96>>0]|0;
$98 = $97 ^ $88;
HEAP8[$96>>0] = $98;
$99 = ($95>>>0)>(599);
if ($99) {
HEAP32[18149] = 0;
_mix_pool($93);
$100 = HEAP32[18138]|0;
$101 = (($100) + 1)|0;
HEAP32[18138] = $101;
HEAP32[18150] = 0;
$$pre20 = HEAP32[18133]|0;
$$pre21 = HEAP32[18149]|0;
$103 = $$pre21;$105 = $$pre20;
} else {
$103 = $95;$105 = $93;
}
$102 = (($103) + 1)|0;
HEAP32[18149] = $102;
$104 = (($105) + ($103)|0);
$106 = HEAP8[$104>>0]|0;
$107 = $106 ^ $85;
HEAP8[$104>>0] = $107;
$108 = ($102>>>0)>(599);
if ($108) {
HEAP32[18149] = 0;
_mix_pool($105);
$155 = HEAP32[18138]|0;
$156 = (($155) + 1)|0;
HEAP32[18138] = $156;
HEAP32[18150] = 0;
$$pre22 = HEAP32[18133]|0;
$$pre23 = HEAP32[18149]|0;
$159 = $$pre23;$161 = $$pre22;
} else {
$159 = $102;$161 = $105;
}
$157 = ((($2)) + 3|0);
$158 = (($159) + 1)|0;
HEAP32[18149] = $158;
$160 = (($161) + ($159)|0);
$162 = HEAP8[$160>>0]|0;
$163 = $162 ^ $87;
HEAP8[$160>>0] = $163;
$164 = ($158>>>0)>(599);
if ($164) {
HEAP32[18149] = 0;
_mix_pool($161);
$165 = HEAP32[18138]|0;
$166 = (($165) + 1)|0;
HEAP32[18138] = $166;
HEAP32[18150] = 0;
}
$167 = HEAP8[$157>>0]|0;
$168 = HEAP32[18133]|0;
$169 = HEAP32[18149]|0;
$170 = (($169) + 1)|0;
HEAP32[18149] = $170;
$171 = (($168) + ($169)|0);
$172 = HEAP8[$171>>0]|0;
$173 = $172 ^ $167;
HEAP8[$171>>0] = $173;
$174 = ($170>>>0)>(599);
if ($174) {
HEAP32[18149] = 0;
_mix_pool($168);
$175 = HEAP32[18138]|0;
$176 = (($175) + 1)|0;
HEAP32[18138] = $176;
HEAP32[18150] = 1;
}
$110 = (_clock()|0);
HEAP32[$3>>2] = $110;
$177 = HEAP32[18132]|0;
$178 = ($177|0)==(0);
$179 = $110 >>> 8;
$130 = $179&255;
$180 = $110 >>> 16;
$141 = $180&255;
if ($178) {
__gcry_assert_failed(67953,67968,1074,68003);
// unreachable;
}
$109 = $110&255;
$111 = HEAP32[18142]|0;
$112 = (($111) + 4)|0;
HEAP32[18142] = $112;
$113 = HEAP32[18141]|0;
$114 = (($113) + 1)|0;
HEAP32[18141] = $114;
$115 = HEAP32[18133]|0;
$116 = HEAP32[18149]|0;
$117 = (($116) + 1)|0;
HEAP32[18149] = $117;
$118 = (($115) + ($116)|0);
$119 = HEAP8[$118>>0]|0;
$120 = $119 ^ $109;
HEAP8[$118>>0] = $120;
$121 = ($117>>>0)>(599);
if ($121) {
HEAP32[18149] = 0;
_mix_pool($115);
$122 = HEAP32[18138]|0;
$123 = (($122) + 1)|0;
HEAP32[18138] = $123;
HEAP32[18150] = 0;
$$pre24 = HEAP32[18133]|0;
$$pre25 = HEAP32[18149]|0;
$125 = $$pre25;$127 = $$pre24;
} else {
$125 = $117;$127 = $115;
}
$124 = (($125) + 1)|0;
HEAP32[18149] = $124;
$126 = (($127) + ($125)|0);
$128 = HEAP8[$126>>0]|0;
$129 = $128 ^ $130;
HEAP8[$126>>0] = $129;
$131 = ($124>>>0)>(599);
if ($131) {
HEAP32[18149] = 0;
_mix_pool($127);
$132 = HEAP32[18138]|0;
$133 = (($132) + 1)|0;
HEAP32[18138] = $133;
HEAP32[18150] = 0;
$$pre26 = HEAP32[18133]|0;
$$pre27 = HEAP32[18149]|0;
$136 = $$pre27;$138 = $$pre26;
} else {
$136 = $124;$138 = $127;
}
$134 = ((($3)) + 3|0);
$135 = (($136) + 1)|0;
HEAP32[18149] = $135;
$137 = (($138) + ($136)|0);
$139 = HEAP8[$137>>0]|0;
$140 = $139 ^ $141;
HEAP8[$137>>0] = $140;
$142 = ($135>>>0)>(599);
if ($142) {
HEAP32[18149] = 0;
_mix_pool($138);
$143 = HEAP32[18138]|0;
$144 = (($143) + 1)|0;
HEAP32[18138] = $144;
HEAP32[18150] = 0;
}
$145 = HEAP8[$134>>0]|0;
$146 = HEAP32[18133]|0;
$147 = HEAP32[18149]|0;
$148 = (($147) + 1)|0;
HEAP32[18149] = $148;
$149 = (($146) + ($147)|0);
$150 = HEAP8[$149>>0]|0;
$151 = $150 ^ $145;
HEAP8[$149>>0] = $151;
$152 = ($148>>>0)>(599);
if (!($152)) {
STACKTOP = sp;return;
}
HEAP32[18149] = 0;
_mix_pool($146);
$153 = HEAP32[18138]|0;
$154 = (($153) + 1)|0;
HEAP32[18138] = $154;
HEAP32[18150] = 1;
STACKTOP = sp;return;
}
function __gcry_rngcsprng_set_seed_file($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[18152]|0;
$2 = ($1|0)==(0|0);
if ($2) {
$3 = (__gcry_xstrdup($0)|0);
HEAP32[18152] = $3;
return;
} else {
__gcry_bug(67968,673,68397);
// unreachable;
}
}
function __gcry_rngcsprng_update_seed_file() {
var $$02328 = 0, $$02427 = 0, $$029 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0;
var $vararg_buffer24 = 0, $vararg_buffer28 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr27 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$vararg_buffer28 = sp + 72|0;
$vararg_buffer24 = sp + 64|0;
$vararg_buffer20 = sp + 56|0;
$vararg_buffer16 = sp + 48|0;
$vararg_buffer12 = sp + 40|0;
$vararg_buffer9 = sp + 32|0;
$vararg_buffer7 = sp + 24|0;
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = HEAP32[18131]|0;
$1 = ($0|0)==(0);
if ($1) {
HEAP32[18131] = 1;
}
$2 = (_gpgrt_lock_lock(40208)|0);
$3 = ($2|0)==(0);
if (!($3)) {
$4 = (_gpg_strerror($2)|0);
HEAP32[$vararg_buffer>>2] = $4;
__gcry_log_fatal(67701,$vararg_buffer);
// unreachable;
}
HEAP32[18132] = 1;
$5 = HEAP32[18152]|0;
$6 = ($5|0)!=(0|0);
$7 = HEAP32[18133]|0;
$8 = ($7|0)!=(0|0);
$or$cond = $6 & $8;
$9 = HEAP32[18137]|0;
$10 = ($9|0)!=(0);
$or$cond3 = $or$cond & $10;
if (!($or$cond3)) {
HEAP32[18132] = 0;
$11 = (_gpgrt_lock_unlock(40208)|0);
$12 = ($11|0)==(0);
if ($12) {
STACKTOP = sp;return;
} else {
$13 = (_gpg_strerror($11)|0);
HEAP32[$vararg_buffer1>>2] = $13;
__gcry_log_fatal(67776,$vararg_buffer1);
// unreachable;
}
}
$14 = HEAP32[18153]|0;
$15 = ($14|0)==(0);
if ($15) {
HEAP32[18132] = 0;
$16 = (_gpgrt_lock_unlock(40208)|0);
$17 = ($16|0)==(0);
if (!($17)) {
$18 = (_gpg_strerror($16)|0);
HEAP32[$vararg_buffer4>>2] = $18;
__gcry_log_fatal(67776,$vararg_buffer4);
// unreachable;
}
$19 = (__gcry_gettext(68427)|0);
__gcry_log_info($19,$vararg_buffer7);
STACKTOP = sp;return;
}
$20 = HEAP32[18135]|0;
$$02328 = $7;$$02427 = $20;$$029 = 0;
while(1) {
$21 = HEAP32[$$02328>>2]|0;
$22 = (($21) + -1515870811)|0;
HEAP32[$$02427>>2] = $22;
$23 = (($$029) + 1)|0;
$24 = ((($$02427)) + 4|0);
$25 = ((($$02328)) + 4|0);
$exitcond = ($23|0)==(150);
if ($exitcond) {
break;
} else {
$$02328 = $25;$$02427 = $24;$$029 = $23;
}
}
_mix_pool($7);
$26 = HEAP32[18138]|0;
$27 = (($26) + 1)|0;
HEAP32[18138] = $27;
$28 = HEAP32[18135]|0;
_mix_pool($28);
$29 = HEAP32[18143]|0;
$30 = (($29) + 1)|0;
HEAP32[18143] = $30;
$31 = HEAP32[18152]|0;
HEAP32[$vararg_buffer9>>2] = 384;
$32 = (_open($31,65,$vararg_buffer9)|0);
$33 = ($32|0)==(-1);
do {
if ($33) {
$34 = (__gcry_gettext(68463)|0);
$35 = HEAP32[18152]|0;
$36 = (___errno_location()|0);
$37 = HEAP32[$36>>2]|0;
$38 = (_strerror($37)|0);
HEAP32[$vararg_buffer12>>2] = $35;
$vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
HEAP32[$vararg_ptr15>>2] = $38;
__gcry_log_info($34,$vararg_buffer12);
} else {
$39 = HEAP32[18152]|0;
$40 = (_lock_seed_file($32,$39,1)|0);
$41 = ($40|0)==(0);
if (!($41)) {
(_close($32)|0);
break;
}
$42 = (_ftruncate($32,0)|0);
$43 = ($42|0)==(0);
if (!($43)) {
$44 = (__gcry_gettext(68486)|0);
$45 = HEAP32[18152]|0;
$46 = (___errno_location()|0);
$47 = HEAP32[$46>>2]|0;
$48 = (_strerror($47)|0);
HEAP32[$vararg_buffer16>>2] = $45;
$vararg_ptr19 = ((($vararg_buffer16)) + 4|0);
HEAP32[$vararg_ptr19>>2] = $48;
__gcry_log_info($44,$vararg_buffer16);
(_close($32)|0);
break;
}
L32: while(1) {
$49 = HEAP32[18135]|0;
$50 = (_write($32,$49,600)|0);
switch ($50|0) {
case 600: {
break L32;
break;
}
case -1: {
break;
}
default: {
label = 23;
break L32;
}
}
$51 = (___errno_location()|0);
$52 = HEAP32[$51>>2]|0;
$53 = ($52|0)==(4);
if (!($53)) {
label = 23;
break;
}
}
if ((label|0) == 23) {
$54 = (__gcry_gettext(68486)|0);
$55 = HEAP32[18152]|0;
$56 = (___errno_location()|0);
$57 = HEAP32[$56>>2]|0;
$58 = (_strerror($57)|0);
HEAP32[$vararg_buffer20>>2] = $55;
$vararg_ptr23 = ((($vararg_buffer20)) + 4|0);
HEAP32[$vararg_ptr23>>2] = $58;
__gcry_log_info($54,$vararg_buffer20);
}
$59 = (_close($32)|0);
$60 = ($59|0)==(0);
if (!($60)) {
$61 = (__gcry_gettext(68508)|0);
$62 = HEAP32[18152]|0;
$63 = (___errno_location()|0);
$64 = HEAP32[$63>>2]|0;
$65 = (_strerror($64)|0);
HEAP32[$vararg_buffer24>>2] = $62;
$vararg_ptr27 = ((($vararg_buffer24)) + 4|0);
HEAP32[$vararg_ptr27>>2] = $65;
__gcry_log_info($61,$vararg_buffer24);
}
}
} while(0);
HEAP32[18132] = 0;
$66 = (_gpgrt_lock_unlock(40208)|0);
$67 = ($66|0)==(0);
if ($67) {
STACKTOP = sp;return;
} else {
$68 = (_gpg_strerror($66)|0);
HEAP32[$vararg_buffer28>>2] = $68;
__gcry_log_fatal(67776,$vararg_buffer28);
// unreachable;
}
}
function __gcry_rngcsprng_fast_poll() {
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = HEAP32[18131]|0;
$1 = ($0|0)==(0);
if ($1) {
HEAP32[18131] = 1;
}
$2 = (_gpgrt_lock_lock(40208)|0);
$3 = ($2|0)==(0);
if (!($3)) {
$4 = (_gpg_strerror($2)|0);
HEAP32[$vararg_buffer>>2] = $4;
__gcry_log_fatal(67701,$vararg_buffer);
// unreachable;
}
HEAP32[18132] = 1;
$5 = HEAP32[18133]|0;
$6 = ($5|0)==(0|0);
if (!($6)) {
_do_fast_random_poll();
}
HEAP32[18132] = 0;
$7 = (_gpgrt_lock_unlock(40208)|0);
$8 = ($7|0)==(0);
if ($8) {
STACKTOP = sp;return;
} else {
$9 = (_gpg_strerror($7)|0);
HEAP32[$vararg_buffer1>>2] = $9;
__gcry_log_fatal(67776,$vararg_buffer1);
// unreachable;
}
}
function __gcry_rngfips_initialize($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer10 = sp + 32|0;
$vararg_buffer7 = sp + 24|0;
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$1 = HEAP32[18158]|0;
$2 = ($1|0)==(0);
if ($2) {
HEAP32[18158] = 1;
HEAP32[18159] = 0;
}
$3 = ($0|0)==(0);
if ($3) {
STACKTOP = sp;return;
}
$4 = (_gpgrt_lock_lock(40256)|0);
$5 = ($4|0)==(0);
if (!($5)) {
$6 = (_gpg_strerror($4)|0);
HEAP32[$vararg_buffer>>2] = $6;
__gcry_log_fatal(68530,$vararg_buffer);
// unreachable;
}
HEAP32[18159] = 1;
$7 = HEAP32[18160]|0;
$8 = ($7|0)==(0|0);
if ($8) {
$9 = (__gcry_xmalloc_secure(48)|0);
HEAP32[18160] = $9;
$10 = (__gcry_xcalloc(1,68)|0);
HEAP32[18161] = $10;
HEAP8[$10>>0] = 17;
$11 = ((($10)) + 16|0);
HEAP8[$11>>0] = 42;
$12 = ((($10)) + 33|0);
HEAP8[$12>>0] = -119;
$13 = ((($10)) + 50|0);
HEAP8[$13>>0] = -4;
$14 = (__gcry_xcalloc_secure(1,68)|0);
HEAP32[18162] = $14;
HEAP8[$14>>0] = 17;
$15 = ((($14)) + 16|0);
HEAP8[$15>>0] = 42;
$16 = ((($14)) + 33|0);
HEAP8[$16>>0] = -119;
$17 = ((($14)) + 50|0);
HEAP8[$17>>0] = -4;
$18 = (__gcry_xcalloc_secure(1,68)|0);
HEAP32[18163] = $18;
HEAP8[$18>>0] = 17;
$19 = ((($18)) + 16|0);
HEAP8[$19>>0] = 42;
$20 = ((($18)) + 33|0);
HEAP8[$20>>0] = -119;
$21 = ((($18)) + 50|0);
HEAP8[$21>>0] = -4;
} else {
$22 = HEAP32[18161]|0;
$23 = ((($22)) + 52|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($24|0)==(0|0);
if (!($25)) {
__gcry_assert_failed(68566,68594,767,68608);
// unreachable;
}
$26 = HEAP32[18162]|0;
$27 = ((($26)) + 52|0);
$28 = HEAP32[$27>>2]|0;
$29 = ($28|0)==(0|0);
if (!($29)) {
__gcry_assert_failed(68633,68594,768,68608);
// unreachable;
}
$30 = HEAP32[18163]|0;
$31 = ((($30)) + 52|0);
$32 = HEAP32[$31>>2]|0;
$33 = ($32|0)==(0|0);
if (!($33)) {
__gcry_assert_failed(68663,68594,769,68608);
// unreachable;
}
$34 = HEAP8[$22>>0]|0;
$35 = ($34<<24>>24)==(17);
if (!($35)) {
HEAP32[$vararg_buffer1>>2] = $22;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
}
$36 = ((($22)) + 16|0);
$37 = HEAP8[$36>>0]|0;
$38 = ($37<<24>>24)==(42);
if (!($38)) {
HEAP32[$vararg_buffer1>>2] = $22;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
}
$39 = ((($22)) + 33|0);
$40 = HEAP8[$39>>0]|0;
$41 = ($40<<24>>24)==(-119);
if (!($41)) {
HEAP32[$vararg_buffer1>>2] = $22;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
}
$42 = ((($22)) + 50|0);
$43 = HEAP8[$42>>0]|0;
$44 = ($43<<24>>24)==(-4);
if (!($44)) {
HEAP32[$vararg_buffer1>>2] = $22;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
}
$45 = HEAP8[$26>>0]|0;
$46 = ($45<<24>>24)==(17);
if (!($46)) {
HEAP32[$vararg_buffer4>>2] = $26;
__gcry_log_fatal(68696,$vararg_buffer4);
// unreachable;
}
$47 = ((($26)) + 16|0);
$48 = HEAP8[$47>>0]|0;
$49 = ($48<<24>>24)==(42);
if (!($49)) {
HEAP32[$vararg_buffer4>>2] = $26;
__gcry_log_fatal(68696,$vararg_buffer4);
// unreachable;
}
$50 = ((($26)) + 33|0);
$51 = HEAP8[$50>>0]|0;
$52 = ($51<<24>>24)==(-119);
if (!($52)) {
HEAP32[$vararg_buffer4>>2] = $26;
__gcry_log_fatal(68696,$vararg_buffer4);
// unreachable;
}
$53 = ((($26)) + 50|0);
$54 = HEAP8[$53>>0]|0;
$55 = ($54<<24>>24)==(-4);
if (!($55)) {
HEAP32[$vararg_buffer4>>2] = $26;
__gcry_log_fatal(68696,$vararg_buffer4);
// unreachable;
}
$56 = HEAP8[$30>>0]|0;
$57 = ($56<<24>>24)==(17);
if (!($57)) {
HEAP32[$vararg_buffer7>>2] = $30;
__gcry_log_fatal(68696,$vararg_buffer7);
// unreachable;
}
$58 = ((($30)) + 16|0);
$59 = HEAP8[$58>>0]|0;
$60 = ($59<<24>>24)==(42);
if (!($60)) {
HEAP32[$vararg_buffer7>>2] = $30;
__gcry_log_fatal(68696,$vararg_buffer7);
// unreachable;
}
$61 = ((($30)) + 33|0);
$62 = HEAP8[$61>>0]|0;
$63 = ($62<<24>>24)==(-119);
if (!($63)) {
HEAP32[$vararg_buffer7>>2] = $30;
__gcry_log_fatal(68696,$vararg_buffer7);
// unreachable;
}
$64 = ((($30)) + 50|0);
$65 = HEAP8[$64>>0]|0;
$66 = ($65<<24>>24)==(-4);
if (!($66)) {
HEAP32[$vararg_buffer7>>2] = $30;
__gcry_log_fatal(68696,$vararg_buffer7);
// unreachable;
}
}
HEAP32[18159] = 0;
$67 = (_gpgrt_lock_unlock(40256)|0);
$68 = ($67|0)==(0);
if ($68) {
STACKTOP = sp;return;
} else {
$69 = (_gpg_strerror($67)|0);
HEAP32[$vararg_buffer10>>2] = $69;
__gcry_log_fatal(68742,$vararg_buffer10);
// unreachable;
}
}
function __gcry_rngfips_close_fds() {
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = (_gpgrt_lock_lock(40256)|0);
$1 = ($0|0)==(0);
if (!($1)) {
$2 = (_gpg_strerror($0)|0);
HEAP32[$vararg_buffer>>2] = $2;
__gcry_log_fatal(68530,$vararg_buffer);
// unreachable;
}
HEAP32[18159] = 1;
(__gcry_rndlinux_gather_random(0,0,0,0)|0);
HEAP32[18159] = 0;
$3 = (_gpgrt_lock_unlock(40256)|0);
$4 = ($3|0)==(0);
if ($4) {
STACKTOP = sp;return;
} else {
$5 = (_gpg_strerror($3)|0);
HEAP32[$vararg_buffer1>>2] = $5;
__gcry_log_fatal(68742,$vararg_buffer1);
// unreachable;
}
}
function __gcry_rngfips_dump_stats() {
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function __gcry_rngfips_is_faked() {
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function __gcry_rngfips_randomize($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
__gcry_rngfips_initialize(1);
$3 = (_gpgrt_lock_lock(40256)|0);
$4 = ($3|0)==(0);
if (!($4)) {
$5 = (_gpg_strerror($3)|0);
HEAP32[$vararg_buffer>>2] = $5;
__gcry_log_fatal(68530,$vararg_buffer);
// unreachable;
}
HEAP32[18159] = 1;
$6 = ($2|0)==(2);
if ($6) {
$7 = HEAP32[18163]|0;
_get_random($0,$1,$7);
} else {
$8 = HEAP32[18162]|0;
_get_random($0,$1,$8);
}
HEAP32[18159] = 0;
$9 = (_gpgrt_lock_unlock(40256)|0);
$10 = ($9|0)==(0);
if ($10) {
STACKTOP = sp;return;
} else {
$11 = (_gpg_strerror($9)|0);
HEAP32[$vararg_buffer1>>2] = $11;
__gcry_log_fatal(68742,$vararg_buffer1);
// unreachable;
}
}
function _get_random($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$mask = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$3 = ($0|0)==(0|0);
if ($3) {
__gcry_assert_failed(69561,68594,685,69584);
// unreachable;
}
$4 = ($2|0)==(0|0);
if ($4) {
__gcry_assert_failed(68778,68594,686,69584);
// unreachable;
}
$5 = HEAP8[$2>>0]|0;
$6 = ($5<<24>>24)==(17);
if (!($6)) {
HEAP32[$vararg_buffer>>2] = $2;
__gcry_log_fatal(68696,$vararg_buffer);
// unreachable;
}
$7 = ((($2)) + 16|0);
$8 = HEAP8[$7>>0]|0;
$9 = ($8<<24>>24)==(42);
if (!($9)) {
HEAP32[$vararg_buffer>>2] = $2;
__gcry_log_fatal(68696,$vararg_buffer);
// unreachable;
}
$10 = ((($2)) + 33|0);
$11 = HEAP8[$10>>0]|0;
$12 = ($11<<24>>24)==(-119);
if (!($12)) {
HEAP32[$vararg_buffer>>2] = $2;
__gcry_log_fatal(68696,$vararg_buffer);
// unreachable;
}
$13 = ((($2)) + 50|0);
$14 = HEAP8[$13>>0]|0;
$15 = ($14<<24>>24)==(-4);
if (!($15)) {
HEAP32[$vararg_buffer>>2] = $2;
__gcry_log_fatal(68696,$vararg_buffer);
// unreachable;
}
$16 = ((($2)) + 4|0);
$17 = HEAP32[$16>>2]|0;
$18 = ($17|0)==(0|0);
do {
if ($18) {
$19 = HEAP32[18161]|0;
$20 = ($19|0)==($2|0);
$$sink = $20&1;
$21 = (_x931_generate_key($$sink)|0);
HEAP32[$16>>2] = $21;
$22 = ($21|0)==(0|0);
if ($22) {
__gcry_log_fatal(68840,$vararg_buffer4);
// unreachable;
} else {
$23 = (_getpid()|0);
$24 = ((($2)) + 60|0);
HEAP32[$24>>2] = $23;
break;
}
}
} while(0);
$25 = ((($2)) + 8|0);
$26 = HEAP8[$25>>0]|0;
$$mask = $26 & 1;
$27 = ($$mask<<24>>24)==(0);
if ($27) {
_x931_reseed($2);
}
$28 = ((($2)) + 60|0);
$29 = HEAP32[$28>>2]|0;
$30 = (_getpid()|0);
$31 = ($29|0)==($30|0);
if ($31) {
$32 = ((($2)) + 64|0);
$33 = HEAP32[$32>>2]|0;
$34 = (_getpid()|0);
$35 = ($33|0)==($34|0);
if ($35) {
$36 = (_x931_aes_driver($0,$1,$2)|0);
$37 = ($36|0)==(0);
if (!($37)) {
__gcry_log_fatal(68840,$vararg_buffer4);
// unreachable;
}
$38 = HEAP8[$2>>0]|0;
$39 = ($38<<24>>24)==(17);
if (!($39)) {
HEAP32[$vararg_buffer1>>2] = $2;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
}
$40 = HEAP8[$7>>0]|0;
$41 = ($40<<24>>24)==(42);
if (!($41)) {
HEAP32[$vararg_buffer1>>2] = $2;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
}
$42 = HEAP8[$10>>0]|0;
$43 = ($42<<24>>24)==(-119);
if (!($43)) {
HEAP32[$vararg_buffer1>>2] = $2;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
}
$44 = HEAP8[$13>>0]|0;
$45 = ($44<<24>>24)==(-4);
if ($45) {
STACKTOP = sp;return;
} else {
HEAP32[$vararg_buffer1>>2] = $2;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
}
}
}
__gcry_fips_signal_error(68594,714,69584,0,68786);
__gcry_log_fatal(68840,$vararg_buffer4);
// unreachable;
}
function _x931_generate_key($0) {
$0 = $0|0;
var $$0 = 0, $$041$lcssa61 = 0, $$04152 = 0, $$042$lcssa60 = 0, $$04251 = 0, $$047 = 0, $$1 = 0, $$143 = 0, $$2 = 0, $$244 = 0, $$34549 = 0, $$350 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$1 = sp + 12|0;
$2 = HEAP32[18159]|0;
$3 = ($2|0)==(0);
if ($3) {
__gcry_assert_failed(68869,68594,596,69203);
// unreachable;
}
$4 = (__gcry_cipher_open($1,7,1,1)|0);
$5 = ($4|0)==(0);
if (!($5)) {
$6 = (_gpg_strerror($4)|0);
HEAP32[$vararg_buffer>>2] = $6;
__gcry_log_error(69221,$vararg_buffer);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$7 = ($0|0)==(0);
if ($7) {
$10 = (_get_entropy()|0);
$$047 = $10;
} else {
$8 = (__gcry_xmalloc(16)|0);
$9 = HEAP32[18162]|0;
_get_random($8,16,$9);
$$047 = $8;
}
$11 = HEAP32[$1>>2]|0;
$12 = (__gcry_cipher_setkey($11,$$047,16)|0);
$13 = $$047;
$14 = $13 & 7;
$15 = ($14|0)==(0);
if ($15) {
$$041$lcssa61 = 16;$$042$lcssa60 = $$047;
label = 12;
} else {
$$04152 = 16;$$04251 = $$047;
while(1) {
HEAP8[$$04251>>0] = 0;
$16 = ((($$04251)) + 1|0);
$17 = (($$04152) + -1)|0;
$18 = $16;
$19 = $18 & 7;
$20 = ($19|0)!=(0);
$21 = ($17|0)!=(0);
$22 = $21 & $20;
if ($22) {
$$04152 = $17;$$04251 = $16;
} else {
break;
}
}
$23 = ($17>>>0)<(8);
if ($23) {
$$2 = $17;$$244 = $16;
} else {
$$041$lcssa61 = $17;$$042$lcssa60 = $16;
label = 12;
}
}
if ((label|0) == 12) {
$24 = (($$041$lcssa61) + -8)|0;
$25 = $24 & -8;
$26 = (($25) + 8)|0;
$$1 = $$041$lcssa61;$$143 = $$042$lcssa60;
while(1) {
$27 = $$143;
$28 = $27;
HEAP32[$28>>2] = 0;
$29 = (($27) + 4)|0;
$30 = $29;
HEAP32[$30>>2] = 0;
$31 = (($$1) + -8)|0;
$32 = ((($$143)) + 8|0);
$33 = ($31>>>0)>(7);
if ($33) {
$$1 = $31;$$143 = $32;
} else {
break;
}
}
$34 = (($24) - ($25))|0;
$scevgep = (($$042$lcssa60) + ($26)|0);
$$2 = $34;$$244 = $scevgep;
}
$35 = ($$2|0)==(0);
if (!($35)) {
$$34549 = $$244;$$350 = $$2;
while(1) {
HEAP8[$$34549>>0] = 0;
$36 = ((($$34549)) + 1|0);
$37 = (($$350) + -1)|0;
$38 = ($37|0)==(0);
if ($38) {
break;
} else {
$$34549 = $36;$$350 = $37;
}
}
}
__gcry_free($$047);
$39 = ($12|0)==(0);
if ($39) {
$42 = HEAP32[$1>>2]|0;
$$0 = $42;
STACKTOP = sp;return ($$0|0);
} else {
$40 = (_gpg_strerror($12)|0);
HEAP32[$vararg_buffer1>>2] = $40;
__gcry_log_error(69264,$vararg_buffer1);
$41 = HEAP32[$1>>2]|0;
__gcry_cipher_close($41);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
return (0)|0;
}
function _x931_reseed($0) {
$0 = $0|0;
var $$0$lcssa14$i = 0, $$035$lcssa13$i = 0, $$0354$i = 0, $$05$i = 0, $$1$i = 0, $$136$i = 0, $$2$i = 0, $$237$i = 0, $$33$i = 0, $$3382$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep$i = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
$1 = HEAP32[18159]|0;
$2 = ($1|0)==(0);
if ($2) {
__gcry_assert_failed(68869,68594,658,69085);
// unreachable;
}
$3 = HEAP32[18161]|0;
$4 = ($3|0)==($0|0);
$5 = ((($0)) + 17|0);
if ($4) {
$6 = HEAP32[18162]|0;
_get_random($5,16,$6);
$34 = ((($0)) + 8|0);
$35 = HEAP8[$34>>0]|0;
$36 = $35 | 1;
HEAP8[$34>>0] = $36;
$37 = (_getpid()|0);
$38 = ((($0)) + 64|0);
HEAP32[$38>>2] = $37;
return;
}
$7 = (_get_entropy()|0);
dest=$5; src=$7; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$8 = $7;
$9 = $8 & 7;
$10 = ($9|0)==(0);
if ($10) {
$$0$lcssa14$i = $7;$$035$lcssa13$i = 16;
label = 9;
} else {
$$0354$i = 16;$$05$i = $7;
while(1) {
HEAP8[$$05$i>>0] = 0;
$11 = ((($$05$i)) + 1|0);
$12 = (($$0354$i) + -1)|0;
$13 = $11;
$14 = $13 & 7;
$15 = ($14|0)!=(0);
$16 = ($12|0)!=(0);
$17 = $16 & $15;
if ($17) {
$$0354$i = $12;$$05$i = $11;
} else {
break;
}
}
$18 = ($12>>>0)<(8);
if ($18) {
$$2$i = $11;$$237$i = $12;
} else {
$$0$lcssa14$i = $11;$$035$lcssa13$i = $12;
label = 9;
}
}
if ((label|0) == 9) {
$19 = (($$035$lcssa13$i) + -8)|0;
$20 = $19 & -8;
$$1$i = $$0$lcssa14$i;$$136$i = $$035$lcssa13$i;
while(1) {
$21 = $$1$i;
$22 = $21;
HEAP32[$22>>2] = 0;
$23 = (($21) + 4)|0;
$24 = $23;
HEAP32[$24>>2] = 0;
$25 = (($$136$i) + -8)|0;
$26 = ((($$1$i)) + 8|0);
$27 = ($25>>>0)>(7);
if ($27) {
$$1$i = $26;$$136$i = $25;
} else {
break;
}
}
$28 = (($20) + 8)|0;
$29 = (($19) - ($20))|0;
$scevgep$i = (($$0$lcssa14$i) + ($28)|0);
$$2$i = $scevgep$i;$$237$i = $29;
}
$30 = ($$237$i|0)==(0);
if (!($30)) {
$$33$i = $$2$i;$$3382$i = $$237$i;
while(1) {
HEAP8[$$33$i>>0] = 0;
$31 = ((($$33$i)) + 1|0);
$32 = (($$3382$i) + -1)|0;
$33 = ($32|0)==(0);
if ($33) {
break;
} else {
$$33$i = $31;$$3382$i = $32;
}
}
}
__gcry_free($7);
$34 = ((($0)) + 8|0);
$35 = HEAP8[$34>>0]|0;
$36 = $35 | 1;
HEAP8[$34>>0] = $36;
$37 = (_getpid()|0);
$38 = ((($0)) + 64|0);
HEAP32[$38>>2] = $37;
return;
}
function _x931_aes_driver($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$lcssa122$i = 0, $$0108$i = 0, $$071$ph125 = 0, $$072$lcssa151 = 0, $$072115 = 0, $$073$lcssa150 = 0, $$073114 = 0, $$074$lcssa121$i = 0, $$074107$i = 0, $$078$lcssa124$i = 0, $$078$ph123 = 0, $$07897$i = 0, $$082$lcssa123$i = 0, $$08296$i = 0, $$1 = 0, $$1$i = 0, $$174 = 0, $$175$i = 0, $$179$i = 0;
var $$183$i = 0, $$2 = 0, $$2$i = 0, $$275 = 0, $$276$i = 0, $$280$i = 0, $$284$i = 0, $$3103$i = 0, $$3119 = 0, $$376118 = 0, $$377102$i = 0, $$38195$i = 0, $$38594$i = 0, $$mask = 0, $$mask79 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0;
var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0;
var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0;
var $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0;
var $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0;
var $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0;
var $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0;
var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0;
var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0;
var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0;
var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0;
var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0;
var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0;
var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0;
var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0;
var $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0;
var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0;
var $or$cond$i = 0, $or$cond3$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond82 = 0, $or$cond84 = 0, $scevgep = 0, $scevgep$i = 0, $scevgep120$i = 0, $scevgep149 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer7 = sp + 40|0;
$vararg_buffer4 = sp + 32|0;
$vararg_buffer1 = sp + 24|0;
$vararg_buffer = sp + 16|0;
$3 = sp + 48|0;
$4 = sp;
$5 = HEAP32[18159]|0;
$6 = ($5|0)==(0);
if ($6) {
__gcry_assert_failed(68869,68594,444,68888);
// unreachable;
}
$7 = ((($2)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0|0);
if ($9) {
__gcry_assert_failed(68904,68594,445,68888);
// unreachable;
}
$10 = ((($2)) + 8|0);
$11 = HEAP8[$10>>0]|0;
$$mask = $11 & 1;
$12 = ($$mask<<24>>24)==(0);
if ($12) {
__gcry_assert_failed(68923,68594,446,68888);
// unreachable;
}
$13 = HEAP32[18160]|0;
$14 = ($13|0)==(0|0);
if ($14) {
__gcry_assert_failed(68942,68594,448,68888);
// unreachable;
}
$15 = ((($13)) + 16|0);
$16 = ((($13)) + 32|0);
$17 = ($1|0)==(0);
if ($17) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$18 = ((($2)) + 52|0);
$19 = ((($2)) + 12|0);
$20 = ((($2)) + 17|0);
$21 = ((($2)) + 56|0);
$22 = ((($4)) + 12|0);
$23 = ((($4)) + 13|0);
$24 = ((($4)) + 14|0);
$25 = ((($4)) + 15|0);
$26 = ((($13)) + 1|0);
$27 = ((($2)) + 18|0);
$28 = ((($13)) + 17|0);
$29 = ((($13)) + 2|0);
$30 = ((($2)) + 19|0);
$31 = ((($13)) + 18|0);
$32 = ((($13)) + 3|0);
$33 = ((($2)) + 20|0);
$34 = ((($13)) + 19|0);
$35 = ((($13)) + 4|0);
$36 = ((($2)) + 21|0);
$37 = ((($13)) + 20|0);
$38 = ((($13)) + 5|0);
$39 = ((($2)) + 22|0);
$40 = ((($13)) + 21|0);
$41 = ((($13)) + 6|0);
$42 = ((($2)) + 23|0);
$43 = ((($13)) + 22|0);
$44 = ((($13)) + 7|0);
$45 = ((($2)) + 24|0);
$46 = ((($13)) + 23|0);
$47 = ((($13)) + 8|0);
$48 = ((($2)) + 25|0);
$49 = ((($13)) + 24|0);
$50 = ((($13)) + 9|0);
$51 = ((($2)) + 26|0);
$52 = ((($13)) + 25|0);
$53 = ((($13)) + 10|0);
$54 = ((($2)) + 27|0);
$55 = ((($13)) + 26|0);
$56 = ((($13)) + 11|0);
$57 = ((($2)) + 28|0);
$58 = ((($13)) + 27|0);
$59 = ((($13)) + 12|0);
$60 = ((($2)) + 29|0);
$61 = ((($13)) + 28|0);
$62 = ((($13)) + 13|0);
$63 = ((($2)) + 30|0);
$64 = ((($13)) + 29|0);
$65 = ((($13)) + 14|0);
$66 = ((($2)) + 31|0);
$67 = ((($13)) + 30|0);
$68 = ((($13)) + 15|0);
$69 = ((($2)) + 32|0);
$70 = ((($13)) + 31|0);
$71 = ((($3)) + 4|0);
$72 = ((($13)) + 33|0);
$73 = ((($13)) + 34|0);
$74 = ((($13)) + 35|0);
$75 = ((($13)) + 36|0);
$76 = ((($13)) + 37|0);
$77 = ((($13)) + 38|0);
$78 = ((($13)) + 39|0);
$79 = ((($13)) + 40|0);
$80 = ((($13)) + 41|0);
$81 = ((($13)) + 42|0);
$82 = ((($13)) + 43|0);
$83 = ((($13)) + 44|0);
$84 = ((($13)) + 45|0);
$85 = ((($13)) + 46|0);
$86 = ((($13)) + 47|0);
$87 = ((($4)) + 1|0);
$88 = ((($4)) + 2|0);
$89 = ((($4)) + 3|0);
$90 = ((($4)) + 4|0);
$91 = ((($4)) + 5|0);
$92 = ((($4)) + 6|0);
$93 = ((($4)) + 7|0);
$94 = ((($4)) + 8|0);
$95 = ((($4)) + 9|0);
$96 = ((($4)) + 10|0);
$97 = ((($4)) + 11|0);
$98 = $13;
$99 = $98 & 7;
$100 = ($99|0)==(0);
$101 = $15;
$102 = $101 & 7;
$103 = ($102|0)==(0);
$104 = ((($2)) + 51|0);
$105 = ((($2)) + 34|0);
$106 = $16;
$107 = $106 & 7;
$108 = ($107|0)==(0);
$$071$ph125 = $0;$$078$ph123 = $1;
L16: while(1) {
while(1) {
$109 = HEAP32[$18>>2]|0;
$110 = ($109|0)==(0|0);
if ($110) {
$111 = HEAP32[$19>>2]|0;
$112 = ($111>>>0)>(1000);
if ($112) {
_x931_reseed($2);
HEAP32[$19>>2] = 0;
}
}
$113 = HEAP32[18159]|0;
$114 = ($113|0)==(0);
if ($114) {
label = 16;
break L16;
}
$115 = HEAP32[$18>>2]|0;
$116 = ($115|0)==(0|0);
$117 = HEAP32[18161]|0;
$118 = ($117|0)==($2|0);
$or$cond$i = $116 | $118;
$119 = HEAP32[18162]|0;
$120 = ($119|0)==($2|0);
$or$cond3$i = $or$cond$i | $120;
$121 = HEAP32[18163]|0;
$122 = ($121|0)==($2|0);
$or$cond5$i = $or$cond3$i | $122;
if ($or$cond5$i) {
$132 = HEAP32[18164]|0;
$133 = ($132|0)==(0);
if ($133) {
$134 = (_getpid()|0);
HEAP32[18165] = $134;
$135 = (_getppid()|0);
HEAP32[18166] = $135;
}
$136 = (_gettimeofday(($3|0),(0|0))|0);
$137 = ($136|0)==(0);
if (!($137)) {
label = 22;
break L16;
}
$141 = HEAP32[$71>>2]|0;
$142 = $141 << 4;
$143 = HEAP32[$3>>2]|0;
$144 = HEAP32[18164]|0;
$145 = ($143|0)==($144|0);
$146 = HEAP32[18167]|0;
$147 = ($142|0)==($146|0);
$or$cond7$i = $145 & $147;
if ($or$cond7$i) {
$148 = HEAP16[36660]|0;
$149 = (($148) + 1)<<16>>16;
$150 = $149 & 4095;
HEAP16[36660] = $150;
$163 = $150;
} else {
HEAP16[36660] = 0;
HEAP32[18164] = $143;
HEAP32[18167] = $142;
$163 = 0;
}
$151 = $143 >>> 24;
$152 = $151&255;
HEAP8[$4>>0] = $152;
$153 = $143 >>> 16;
$154 = $153&255;
HEAP8[$87>>0] = $154;
$155 = $143 >>> 8;
$156 = $155&255;
HEAP8[$88>>0] = $156;
$157 = $143&255;
HEAP8[$89>>0] = $157;
$158 = $141 >>> 12;
$159 = $158&255;
HEAP8[$90>>0] = $159;
$160 = $141 >>> 4;
$161 = $160&255;
HEAP8[$91>>0] = $161;
$162 = $163&65535;
$164 = $162 >>> 8;
$165 = $164 & 15;
$166 = $165 | $142;
$167 = $166&255;
HEAP8[$92>>0] = $167;
$168 = $163&255;
HEAP8[$93>>0] = $168;
$169 = HEAP32[18165]|0;
$170 = $169 >>> 24;
$171 = $170&255;
HEAP8[$94>>0] = $171;
$172 = $169 >>> 16;
$173 = $172&255;
HEAP8[$95>>0] = $173;
$174 = $169 >>> 8;
$175 = $174&255;
HEAP8[$96>>0] = $175;
$176 = $169&255;
HEAP8[$97>>0] = $176;
$177 = HEAP32[18166]|0;
$178 = $177 >>> 24;
$179 = $178&255;
HEAP8[$22>>0] = $179;
$180 = $177 >>> 16;
$181 = $180&255;
HEAP8[$23>>0] = $181;
$182 = $177 >>> 8;
$183 = $182&255;
HEAP8[$24>>0] = $183;
$184 = $177&255;
HEAP8[$25>>0] = $184;
$185 = (($177) + 1)|0;
HEAP32[18166] = $185;
$186 = ($185|0)==(0);
if ($186) {
$187 = (($169) + 1)|0;
HEAP32[18165] = $187;
}
} else {
dest=$4; src=$115; stop=dest+12|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$123 = HEAP32[$21>>2]|0;
$124 = $123 >>> 24;
$125 = $124&255;
HEAP8[$22>>0] = $125;
$126 = $123 >>> 16;
$127 = $126&255;
HEAP8[$23>>0] = $127;
$128 = $123 >>> 8;
$129 = $128&255;
HEAP8[$24>>0] = $129;
$130 = $123&255;
HEAP8[$25>>0] = $130;
$131 = (($123) + 1)|0;
HEAP32[$21>>2] = $131;
}
$188 = HEAP32[$7>>2]|0;
$189 = (__gcry_cipher_encrypt($188,$13,16,$4,16)|0);
$190 = ($189|0)==(0);
if (!($190)) {
label = 30;
break L16;
}
$192 = HEAP8[$13>>0]|0;
$193 = HEAP8[$20>>0]|0;
$194 = $193 ^ $192;
HEAP8[$15>>0] = $194;
$195 = HEAP8[$26>>0]|0;
$196 = HEAP8[$27>>0]|0;
$197 = $196 ^ $195;
HEAP8[$28>>0] = $197;
$198 = HEAP8[$29>>0]|0;
$199 = HEAP8[$30>>0]|0;
$200 = $199 ^ $198;
HEAP8[$31>>0] = $200;
$201 = HEAP8[$32>>0]|0;
$202 = HEAP8[$33>>0]|0;
$203 = $202 ^ $201;
HEAP8[$34>>0] = $203;
$204 = HEAP8[$35>>0]|0;
$205 = HEAP8[$36>>0]|0;
$206 = $205 ^ $204;
HEAP8[$37>>0] = $206;
$207 = HEAP8[$38>>0]|0;
$208 = HEAP8[$39>>0]|0;
$209 = $208 ^ $207;
HEAP8[$40>>0] = $209;
$210 = HEAP8[$41>>0]|0;
$211 = HEAP8[$42>>0]|0;
$212 = $211 ^ $210;
HEAP8[$43>>0] = $212;
$213 = HEAP8[$44>>0]|0;
$214 = HEAP8[$45>>0]|0;
$215 = $214 ^ $213;
HEAP8[$46>>0] = $215;
$216 = HEAP8[$47>>0]|0;
$217 = HEAP8[$48>>0]|0;
$218 = $217 ^ $216;
HEAP8[$49>>0] = $218;
$219 = HEAP8[$50>>0]|0;
$220 = HEAP8[$51>>0]|0;
$221 = $220 ^ $219;
HEAP8[$52>>0] = $221;
$222 = HEAP8[$53>>0]|0;
$223 = HEAP8[$54>>0]|0;
$224 = $223 ^ $222;
HEAP8[$55>>0] = $224;
$225 = HEAP8[$56>>0]|0;
$226 = HEAP8[$57>>0]|0;
$227 = $226 ^ $225;
HEAP8[$58>>0] = $227;
$228 = HEAP8[$59>>0]|0;
$229 = HEAP8[$60>>0]|0;
$230 = $229 ^ $228;
HEAP8[$61>>0] = $230;
$231 = HEAP8[$62>>0]|0;
$232 = HEAP8[$63>>0]|0;
$233 = $232 ^ $231;
HEAP8[$64>>0] = $233;
$234 = HEAP8[$65>>0]|0;
$235 = HEAP8[$66>>0]|0;
$236 = $235 ^ $234;
HEAP8[$67>>0] = $236;
$237 = HEAP8[$68>>0]|0;
$238 = HEAP8[$69>>0]|0;
$239 = $238 ^ $237;
HEAP8[$70>>0] = $239;
$240 = (__gcry_cipher_encrypt($188,$16,16,$15,16)|0);
$241 = ($240|0)==(0);
if (!($241)) {
label = 32;
break L16;
}
$243 = HEAP8[$16>>0]|0;
$244 = HEAP8[$13>>0]|0;
$245 = $244 ^ $243;
HEAP8[$15>>0] = $245;
$246 = HEAP8[$72>>0]|0;
$247 = HEAP8[$26>>0]|0;
$248 = $247 ^ $246;
HEAP8[$28>>0] = $248;
$249 = HEAP8[$73>>0]|0;
$250 = HEAP8[$29>>0]|0;
$251 = $250 ^ $249;
HEAP8[$31>>0] = $251;
$252 = HEAP8[$74>>0]|0;
$253 = HEAP8[$32>>0]|0;
$254 = $253 ^ $252;
HEAP8[$34>>0] = $254;
$255 = HEAP8[$75>>0]|0;
$256 = HEAP8[$35>>0]|0;
$257 = $256 ^ $255;
HEAP8[$37>>0] = $257;
$258 = HEAP8[$76>>0]|0;
$259 = HEAP8[$38>>0]|0;
$260 = $259 ^ $258;
HEAP8[$40>>0] = $260;
$261 = HEAP8[$77>>0]|0;
$262 = HEAP8[$41>>0]|0;
$263 = $262 ^ $261;
HEAP8[$43>>0] = $263;
$264 = HEAP8[$78>>0]|0;
$265 = HEAP8[$44>>0]|0;
$266 = $265 ^ $264;
HEAP8[$46>>0] = $266;
$267 = HEAP8[$79>>0]|0;
$268 = HEAP8[$47>>0]|0;
$269 = $268 ^ $267;
HEAP8[$49>>0] = $269;
$270 = HEAP8[$80>>0]|0;
$271 = HEAP8[$50>>0]|0;
$272 = $271 ^ $270;
HEAP8[$52>>0] = $272;
$273 = HEAP8[$81>>0]|0;
$274 = HEAP8[$53>>0]|0;
$275 = $274 ^ $273;
HEAP8[$55>>0] = $275;
$276 = HEAP8[$82>>0]|0;
$277 = HEAP8[$56>>0]|0;
$278 = $277 ^ $276;
HEAP8[$58>>0] = $278;
$279 = HEAP8[$83>>0]|0;
$280 = HEAP8[$59>>0]|0;
$281 = $280 ^ $279;
HEAP8[$61>>0] = $281;
$282 = HEAP8[$84>>0]|0;
$283 = HEAP8[$62>>0]|0;
$284 = $283 ^ $282;
HEAP8[$64>>0] = $284;
$285 = HEAP8[$85>>0]|0;
$286 = HEAP8[$65>>0]|0;
$287 = $286 ^ $285;
HEAP8[$67>>0] = $287;
$288 = HEAP8[$86>>0]|0;
$289 = HEAP8[$68>>0]|0;
$290 = $289 ^ $288;
HEAP8[$70>>0] = $290;
$291 = (__gcry_cipher_encrypt($188,$20,16,$15,16)|0);
$292 = ($291|0)==(0);
if (!($292)) {
label = 34;
break L16;
}
if ($100) {
$$0$lcssa122$i = $13;$$074$lcssa121$i = 16;
label = 39;
} else {
$$0108$i = $13;$$074107$i = 16;
while(1) {
HEAP8[$$0108$i>>0] = 0;
$294 = ((($$0108$i)) + 1|0);
$295 = (($$074107$i) + -1)|0;
$296 = $294;
$297 = $296 & 7;
$298 = ($297|0)!=(0);
$299 = ($295|0)!=(0);
$300 = $299 & $298;
if ($300) {
$$0108$i = $294;$$074107$i = $295;
} else {
break;
}
}
$301 = ($295>>>0)<(8);
if ($301) {
$$2$i = $294;$$276$i = $295;
} else {
$$0$lcssa122$i = $294;$$074$lcssa121$i = $295;
label = 39;
}
}
if ((label|0) == 39) {
label = 0;
$302 = (($$074$lcssa121$i) + -8)|0;
$303 = $302 & -8;
$$1$i = $$0$lcssa122$i;$$175$i = $$074$lcssa121$i;
while(1) {
$304 = $$1$i;
$305 = $304;
HEAP32[$305>>2] = 0;
$306 = (($304) + 4)|0;
$307 = $306;
HEAP32[$307>>2] = 0;
$308 = (($$175$i) + -8)|0;
$309 = ((($$1$i)) + 8|0);
$310 = ($308>>>0)>(7);
if ($310) {
$$1$i = $309;$$175$i = $308;
} else {
break;
}
}
$311 = (($303) + 8)|0;
$312 = (($302) - ($303))|0;
$scevgep120$i = (($$0$lcssa122$i) + ($311)|0);
$$2$i = $scevgep120$i;$$276$i = $312;
}
$313 = ($$276$i|0)==(0);
if (!($313)) {
$$3103$i = $$2$i;$$377102$i = $$276$i;
while(1) {
HEAP8[$$3103$i>>0] = 0;
$314 = ((($$3103$i)) + 1|0);
$315 = (($$377102$i) + -1)|0;
$316 = ($315|0)==(0);
if ($316) {
break;
} else {
$$3103$i = $314;$$377102$i = $315;
}
}
}
if ($103) {
$$078$lcssa124$i = 16;$$082$lcssa123$i = $15;
label = 49;
} else {
$$07897$i = 16;$$08296$i = $15;
while(1) {
HEAP8[$$08296$i>>0] = 0;
$317 = ((($$08296$i)) + 1|0);
$318 = (($$07897$i) + -1)|0;
$319 = $317;
$320 = $319 & 7;
$321 = ($320|0)!=(0);
$322 = ($318|0)!=(0);
$323 = $322 & $321;
if ($323) {
$$07897$i = $318;$$08296$i = $317;
} else {
break;
}
}
$324 = ($318>>>0)<(8);
if ($324) {
$$280$i = $318;$$284$i = $317;
} else {
$$078$lcssa124$i = $318;$$082$lcssa123$i = $317;
label = 49;
}
}
if ((label|0) == 49) {
label = 0;
$325 = (($$078$lcssa124$i) + -8)|0;
$326 = $325 & -8;
$$179$i = $$078$lcssa124$i;$$183$i = $$082$lcssa123$i;
while(1) {
$327 = $$183$i;
$328 = $327;
HEAP32[$328>>2] = 0;
$329 = (($327) + 4)|0;
$330 = $329;
HEAP32[$330>>2] = 0;
$331 = (($$179$i) + -8)|0;
$332 = ((($$183$i)) + 8|0);
$333 = ($331>>>0)>(7);
if ($333) {
$$179$i = $331;$$183$i = $332;
} else {
break;
}
}
$334 = (($326) + 8)|0;
$335 = (($325) - ($326))|0;
$scevgep$i = (($$082$lcssa123$i) + ($334)|0);
$$280$i = $335;$$284$i = $scevgep$i;
}
$336 = ($$280$i|0)==(0);
if (!($336)) {
$$38195$i = $$280$i;$$38594$i = $$284$i;
while(1) {
HEAP8[$$38594$i>>0] = 0;
$337 = ((($$38594$i)) + 1|0);
$338 = (($$38195$i) + -1)|0;
$339 = ($338|0)==(0);
if ($339) {
break;
} else {
$$38195$i = $338;$$38594$i = $337;
}
}
}
$340 = HEAP32[$19>>2]|0;
$341 = (($340) + 1)|0;
HEAP32[$19>>2] = $341;
$342 = HEAP8[$104>>0]|0;
$343 = ($342<<24>>24)==(0);
if (!($343)) {
$344 = HEAP32[$18>>2]|0;
$345 = ($344|0)==(0|0);
$346 = HEAP32[18161]|0;
$347 = ($346|0)==($2|0);
$or$cond = $345 | $347;
$348 = HEAP32[18162]|0;
$349 = ($348|0)==($2|0);
$or$cond82 = $or$cond | $349;
$350 = HEAP32[18163]|0;
$351 = ($350|0)==($2|0);
$or$cond84 = $or$cond82 | $351;
if (!($or$cond84)) {
label = 62;
break;
}
}
$352 = HEAP8[$10>>0]|0;
$$mask79 = $352 & 2;
$353 = ($$mask79<<24>>24)==(0);
if (!($353)) {
label = 59;
break;
}
dest=$105; src=$16; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$354 = $352 | 2;
HEAP8[$10>>0] = $354;
}
if ((label|0) == 59) {
label = 0;
$355 = (_memcmp($105,$16,16)|0);
$356 = ($355|0)==(0);
if ($356) {
label = 60;
break;
}
$357 = ($$078$ph123>>>0)<(16);
$358 = $357 ? $$078$ph123 : 16;
dest=$105; src=$16; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$361 = $358;
}
else if ((label|0) == 62) {
label = 0;
$359 = ($$078$ph123>>>0)<(16);
$360 = $359 ? $$078$ph123 : 16;
$361 = $360;
}
_memcpy(($$071$ph125|0),($16|0),($361|0))|0;
if ($108) {
$$072$lcssa151 = 16;$$073$lcssa150 = $16;
label = 67;
} else {
$$072115 = 16;$$073114 = $16;
while(1) {
HEAP8[$$073114>>0] = 0;
$362 = ((($$073114)) + 1|0);
$363 = (($$072115) + -1)|0;
$364 = $362;
$365 = $364 & 7;
$366 = ($365|0)!=(0);
$367 = ($363|0)!=(0);
$368 = $367 & $366;
if ($368) {
$$072115 = $363;$$073114 = $362;
} else {
break;
}
}
$369 = ($363>>>0)<(8);
if ($369) {
$$2 = $363;$$275 = $362;
} else {
$$072$lcssa151 = $363;$$073$lcssa150 = $362;
label = 67;
}
}
if ((label|0) == 67) {
label = 0;
$370 = (($$072$lcssa151) + -8)|0;
$371 = $370 & -8;
$scevgep = ((($$073$lcssa150)) + 8|0);
$$1 = $$072$lcssa151;$$174 = $$073$lcssa150;
while(1) {
$372 = $$174;
$373 = $372;
HEAP32[$373>>2] = 0;
$374 = (($372) + 4)|0;
$375 = $374;
HEAP32[$375>>2] = 0;
$376 = (($$1) + -8)|0;
$377 = ((($$174)) + 8|0);
$378 = ($376>>>0)>(7);
if ($378) {
$$1 = $376;$$174 = $377;
} else {
break;
}
}
$379 = (($370) - ($371))|0;
$scevgep149 = (($scevgep) + ($371)|0);
$$2 = $379;$$275 = $scevgep149;
}
$380 = ($$2|0)==(0);
if (!($380)) {
$$3119 = $$2;$$376118 = $$275;
while(1) {
HEAP8[$$376118>>0] = 0;
$381 = ((($$376118)) + 1|0);
$382 = (($$3119) + -1)|0;
$383 = ($382|0)==(0);
if ($383) {
break;
} else {
$$3119 = $382;$$376118 = $381;
}
}
}
$384 = (($$071$ph125) + ($361)|0);
$385 = (($$078$ph123) - ($361))|0;
$386 = ($385|0)==(0);
if ($386) {
$$0 = 0;
label = 74;
break;
} else {
$$071$ph125 = $384;$$078$ph123 = $385;
}
}
if ((label|0) == 16) {
__gcry_assert_failed(68869,68594,274,68972);
// unreachable;
}
else if ((label|0) == 22) {
$138 = (___errno_location()|0);
$139 = HEAP32[$138>>2]|0;
$140 = (_strerror($139)|0);
HEAP32[$vararg_buffer>>2] = $140;
__gcry_log_fatal(68984,$vararg_buffer);
// unreachable;
}
else if ((label|0) == 30) {
$191 = (__gcry_strerror($189)|0);
HEAP32[$vararg_buffer1>>2] = $191;
__gcry_log_fatal(69011,$vararg_buffer1);
// unreachable;
}
else if ((label|0) == 32) {
$242 = (__gcry_strerror($240)|0);
HEAP32[$vararg_buffer4>>2] = $242;
__gcry_log_fatal(69011,$vararg_buffer4);
// unreachable;
}
else if ((label|0) == 34) {
$293 = (__gcry_strerror($291)|0);
HEAP32[$vararg_buffer7>>2] = $293;
__gcry_log_fatal(69011,$vararg_buffer7);
// unreachable;
}
else if ((label|0) == 60) {
__gcry_fips_signal_error(68594,502,68888,0,69045);
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
else if ((label|0) == 74) {
STACKTOP = sp;return ($$0|0);
}
return (0)|0;
}
function __gcry_strerror($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_gpg_strerror($0)|0);
return ($1|0);
}
function _get_entropy() {
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$0 = HEAP32[18168]|0;
$1 = ($0|0)==(0|0);
if (!($1)) {
__gcry_assert_failed(69097,68594,552,69121);
// unreachable;
}
$2 = (__gcry_xmalloc_secure(16)|0);
HEAP32[18168] = $2;
HEAP32[18169] = 16;
HEAP32[18170] = 0;
$3 = (__gcry_rndlinux_gather_random(85,0,16,2)|0);
$4 = ($3|0)<(0);
if (!($4)) {
$5 = HEAP32[18170]|0;
$6 = HEAP32[18169]|0;
$7 = ($5|0)==($6|0);
if ($7) {
$9 = HEAP32[18168]|0;
HEAP32[18168] = 0;
STACKTOP = sp;return ($9|0);
}
}
$8 = HEAP32[18168]|0;
__gcry_free($8);
HEAP32[18168] = 0;
__gcry_log_fatal(69133,$vararg_buffer);
// unreachable;
return (0)|0;
}
function _entropy_collect_cb($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$05 = 0, $$in = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$3 = HEAP32[18159]|0;
$4 = ($3|0)==(0);
if ($4) {
__gcry_assert_failed(68869,68594,531,69161);
// unreachable;
}
$5 = HEAP32[18168]|0;
$6 = ($5|0)==(0|0);
if ($6) {
__gcry_assert_failed(69180,68594,532,69161);
// unreachable;
}
$7 = ($1|0)==(0);
if ($7) {
return;
}
$8 = HEAP32[18169]|0;
$$pre = HEAP32[18170]|0;
$$05 = $0;$$in = $1;$11 = $$pre;
while(1) {
$9 = (($$in) + -1)|0;
$10 = ($11>>>0)<($8>>>0);
if (!($10)) {
label = 9;
break;
}
$12 = ((($$05)) + 1|0);
$13 = HEAP8[$$05>>0]|0;
$14 = (($11) + 1)|0;
HEAP32[18170] = $14;
$15 = (($5) + ($11)|0);
$16 = HEAP8[$15>>0]|0;
$17 = $16 ^ $13;
HEAP8[$15>>0] = $17;
$18 = ($9|0)==(0);
if ($18) {
label = 9;
break;
} else {
$$05 = $12;$$in = $9;$11 = $14;
}
}
if ((label|0) == 9) {
return;
}
}
function __gcry_rngfips_create_nonce($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
__gcry_rngfips_initialize(1);
$2 = (_gpgrt_lock_lock(40256)|0);
$3 = ($2|0)==(0);
if (!($3)) {
$4 = (_gpg_strerror($2)|0);
HEAP32[$vararg_buffer>>2] = $4;
__gcry_log_fatal(68530,$vararg_buffer);
// unreachable;
}
HEAP32[18159] = 1;
$5 = HEAP32[18161]|0;
_get_random($0,$1,$5);
HEAP32[18159] = 0;
$6 = (_gpgrt_lock_unlock(40256)|0);
$7 = ($6|0)==(0);
if ($7) {
STACKTOP = sp;return;
} else {
$8 = (_gpg_strerror($6)|0);
HEAP32[$vararg_buffer1>>2] = $8;
__gcry_log_fatal(68742,$vararg_buffer1);
// unreachable;
}
}
function __gcry_rngfips_selftest($0) {
$0 = $0|0;
var $$0$i = 0, $$04854$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $or$cond$i = 0;
var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer7 = sp + 40|0;
$vararg_buffer4 = sp + 32|0;
$vararg_buffer1 = sp + 24|0;
$vararg_buffer = sp + 16|0;
$1 = sp;
$2 = sp + 48|0;
__gcry_randomize($2,8,1);
$3 = HEAP32[18160]|0;
$4 = ($3|0)==(0|0);
if ($4) {
__gcry_assert_failed(68942,68594,912,69296);
// unreachable;
}
$5 = (__gcry_xcalloc(1,68)|0);
HEAP8[$5>>0] = 17;
$6 = ((($5)) + 16|0);
HEAP8[$6>>0] = 42;
$7 = ((($5)) + 33|0);
HEAP8[$7>>0] = -119;
$8 = ((($5)) + 50|0);
HEAP8[$8>>0] = -4;
$9 = (_gpgrt_lock_lock(40256)|0);
$10 = ($9|0)==(0);
if (!($10)) {
$11 = (_gpg_strerror($9)|0);
HEAP32[$vararg_buffer>>2] = $11;
__gcry_log_fatal(68530,$vararg_buffer);
// unreachable;
}
HEAP32[18159] = 1;
$12 = ((($5)) + 4|0);
$13 = ((($5)) + 60|0);
$14 = ((($5)) + 17|0);
$15 = ((($5)) + 8|0);
$16 = ((($5)) + 64|0);
$17 = ((($5)) + 52|0);
$18 = ((($5)) + 56|0);
$$04854$i = 0;
while(1) {
$21 = (__gcry_cipher_open($12,7,1,1)|0);
$22 = ($21|0)==(0);
if (!($22)) {
$$0$i = 69378;
label = 18;
break;
}
$23 = HEAP32[$12>>2]|0;
$24 = (16592 + (($$04854$i*96)|0)|0);
$25 = (__gcry_cipher_setkey($23,$24,16)|0);
$26 = ($25|0)==(0);
if (!($26)) {
$$0$i = 69416;
label = 18;
break;
}
$27 = (_getpid()|0);
HEAP32[$13>>2] = $27;
$28 = (((16592 + (($$04854$i*96)|0)|0)) + 32|0);
dest=$14; src=$28; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$29 = HEAP8[$15>>0]|0;
$30 = $29 | 1;
HEAP8[$15>>0] = $30;
$31 = (_getpid()|0);
HEAP32[$16>>2] = $31;
$32 = (((16592 + (($$04854$i*96)|0)|0)) + 16|0);
HEAP32[$17>>2] = $32;
$33 = (((16592 + (($$04854$i*96)|0)|0)) + 28|0);
$34 = HEAP8[$33>>0]|0;
$35 = $34&255;
$36 = $35 << 24;
$37 = (((16592 + (($$04854$i*96)|0)|0)) + 29|0);
$38 = HEAP8[$37>>0]|0;
$39 = $38&255;
$40 = $39 << 16;
$41 = $40 | $36;
$42 = (((16592 + (($$04854$i*96)|0)|0)) + 30|0);
$43 = HEAP8[$42>>0]|0;
$44 = $43&255;
$45 = $44 << 8;
$46 = $41 | $45;
$47 = (((16592 + (($$04854$i*96)|0)|0)) + 31|0);
$48 = HEAP8[$47>>0]|0;
$49 = $48&255;
$50 = $46 | $49;
HEAP32[$18>>2] = $50;
$51 = (_x931_aes_driver($1,16,$5)|0);
$52 = ($51|0)==(0);
if (!($52)) {
$$0$i = 69309;
label = 18;
break;
}
$55 = (((16592 + (($$04854$i*96)|0)|0)) + 48|0);
$56 = (_memcmp($1,$55,16)|0);
$57 = ($56|0)==(0);
if (!($57)) {
$$0$i = 69340;
label = 18;
break;
}
$53 = (_x931_aes_driver($1,16,$5)|0);
$54 = ($53|0)==(0);
if (!($54)) {
$$0$i = 69309;
label = 18;
break;
}
$86 = (((16592 + (($$04854$i*96)|0)|0)) + 64|0);
$87 = (_memcmp($1,$86,16)|0);
$88 = ($87|0)==(0);
if (!($88)) {
$$0$i = 69340;
label = 18;
break;
}
$89 = (_x931_aes_driver($1,16,$5)|0);
$90 = ($89|0)==(0);
if (!($90)) {
$$0$i = 69309;
label = 18;
break;
}
$91 = (((16592 + (($$04854$i*96)|0)|0)) + 80|0);
$92 = (_memcmp($1,$91,16)|0);
$93 = ($92|0)==(0);
if (!($93)) {
$$0$i = 69340;
label = 18;
break;
}
$94 = HEAP32[$13>>2]|0;
$95 = (_getpid()|0);
$96 = ($94|0)==($95|0);
if (!($96)) {
$$0$i = 69442;
label = 18;
break;
}
$58 = HEAP32[$16>>2]|0;
$59 = (_getpid()|0);
$60 = ($58|0)==($59|0);
if (!($60)) {
$$0$i = 69442;
label = 18;
break;
}
$61 = HEAP32[$12>>2]|0;
__gcry_cipher_close($61);
HEAP32[$12>>2] = 0;
$62 = HEAP8[$15>>0]|0;
$63 = $62 & -2;
HEAP8[$15>>0] = $63;
$64 = HEAP8[$5>>0]|0;
$65 = ($64<<24>>24)==(17);
if (!($65)) {
label = 17;
break;
}
$66 = HEAP8[$6>>0]|0;
$67 = ($66<<24>>24)==(42);
if (!($67)) {
label = 17;
break;
}
$68 = HEAP8[$7>>0]|0;
$69 = ($68<<24>>24)==(-119);
if (!($69)) {
label = 17;
break;
}
$70 = HEAP8[$8>>0]|0;
$71 = ($70<<24>>24)==(-4);
$20 = (($$04854$i) + 1)|0;
if (!($71)) {
label = 17;
break;
}
$19 = ($20>>>0)<(3);
if ($19) {
$$04854$i = $20;
} else {
$$0$i = 0;
label = 18;
break;
}
}
if ((label|0) == 17) {
HEAP32[$vararg_buffer1>>2] = $5;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
}
else if ((label|0) == 18) {
HEAP32[18159] = 0;
$72 = (_gpgrt_lock_unlock(40256)|0);
$73 = ($72|0)==(0);
if (!($73)) {
$74 = (_gpg_strerror($72)|0);
HEAP32[$vararg_buffer4>>2] = $74;
__gcry_log_fatal(68742,$vararg_buffer4);
// unreachable;
}
$75 = HEAP32[$12>>2]|0;
__gcry_cipher_close($75);
$76 = HEAP8[$5>>0]|0;
$77 = ($76<<24>>24)==(17);
if (!($77)) {
HEAP32[$vararg_buffer7>>2] = $5;
__gcry_log_fatal(68696,$vararg_buffer7);
// unreachable;
}
$78 = HEAP8[$6>>0]|0;
$79 = ($78<<24>>24)==(42);
if (!($79)) {
HEAP32[$vararg_buffer7>>2] = $5;
__gcry_log_fatal(68696,$vararg_buffer7);
// unreachable;
}
$80 = HEAP8[$7>>0]|0;
$81 = ($80<<24>>24)==(-119);
if (!($81)) {
HEAP32[$vararg_buffer7>>2] = $5;
__gcry_log_fatal(68696,$vararg_buffer7);
// unreachable;
}
$82 = HEAP8[$8>>0]|0;
$83 = ($82<<24>>24)==(-4);
if (!($83)) {
HEAP32[$vararg_buffer7>>2] = $5;
__gcry_log_fatal(68696,$vararg_buffer7);
// unreachable;
}
__gcry_free($5);
$84 = ($0|0)!=(0|0);
$85 = ($$0$i|0)!=(0|0);
$or$cond$i = $84 & $85;
if (!($or$cond$i)) {
$97 = $85 ? 16777266 : 0;
STACKTOP = sp;return ($97|0);
}
FUNCTION_TABLE_viiii[$0 & 63](69464,0,69471,$$0$i);
$97 = $85 ? 16777266 : 0;
STACKTOP = sp;return ($97|0);
}
return (0)|0;
}
function __gcry_rngfips_init_external_test($0,$1,$2,$3,$4,$5,$6,$7) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
var $$0 = 0, $$055 = 0, $$05557 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
var $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $or$cond$not = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5$not = 0, $or$cond7 = 0, $or$cond9$not = 0, $storemerge = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
var dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
__gcry_rngfips_initialize(1);
$8 = ($0|0)==(0|0);
$9 = ($2|0)==(0|0);
$or$cond$not = $8 | $9;
$10 = ($3|0)!=(16);
$or$cond3 = $or$cond$not | $10;
$11 = ($4|0)==(0|0);
$or$cond5$not = $or$cond3 | $11;
$12 = ($5|0)!=(16);
$or$cond7 = $or$cond5$not | $12;
$13 = ($6|0)==(0|0);
$or$cond9$not = $or$cond7 | $13;
$14 = ($7|0)!=(16);
$or$cond11 = $or$cond9$not | $14;
if ($or$cond11) {
$$0 = 45;
STACKTOP = sp;return ($$0|0);
}
$15 = (__gcry_calloc(1,84)|0);
$16 = ($15|0)==(0|0);
if ($16) {
$17 = (_gpg_err_code_from_syserror()|0);
$$0 = $17;
STACKTOP = sp;return ($$0|0);
}
HEAP8[$15>>0] = 17;
$18 = ((($15)) + 16|0);
HEAP8[$18>>0] = 42;
$19 = ((($15)) + 33|0);
HEAP8[$19>>0] = -119;
$20 = ((($15)) + 50|0);
HEAP8[$20>>0] = -4;
$21 = ((($15)) + 4|0);
$22 = (__gcry_cipher_open($21,7,1,1)|0);
$23 = ($22|0)==(0);
do {
if ($23) {
$24 = HEAP32[$21>>2]|0;
$25 = (__gcry_cipher_setkey($24,$2,16)|0);
$26 = ($25|0)==(0);
if ($26) {
$27 = (_getpid()|0);
$28 = ((($15)) + 60|0);
HEAP32[$28>>2] = $27;
$29 = ((($15)) + 17|0);
dest=$29; src=$4; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$30 = ((($15)) + 8|0);
$31 = HEAP8[$30>>0]|0;
$32 = $31 | 1;
HEAP8[$30>>0] = $32;
$33 = (_getpid()|0);
$34 = ((($15)) + 64|0);
HEAP32[$34>>2] = $33;
$35 = ((($15)) + 68|0);
dest=$35; src=$6; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$36 = ((($15)) + 52|0);
HEAP32[$36>>2] = $35;
$37 = ((($15)) + 80|0);
$38 = HEAP8[$37>>0]|0;
$39 = $38&255;
$40 = $39 << 24;
$41 = ((($15)) + 81|0);
$42 = HEAP8[$41>>0]|0;
$43 = $42&255;
$44 = $43 << 16;
$45 = $44 | $40;
$46 = ((($15)) + 82|0);
$47 = HEAP8[$46>>0]|0;
$48 = $47&255;
$49 = $48 << 8;
$50 = $45 | $49;
$51 = ((($15)) + 83|0);
$52 = HEAP8[$51>>0]|0;
$53 = $52&255;
$54 = $50 | $53;
$55 = ((($15)) + 56|0);
HEAP32[$55>>2] = $54;
$56 = $1 & 1;
$57 = ($56|0)==(0);
if ($57) {
$67 = HEAP8[$15>>0]|0;
$68 = ($67<<24>>24)==(17);
if (!($68)) {
HEAP32[$vararg_buffer1>>2] = $15;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
}
$69 = HEAP8[$18>>0]|0;
$70 = ($69<<24>>24)==(42);
if (!($70)) {
HEAP32[$vararg_buffer1>>2] = $15;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
}
$71 = HEAP8[$19>>0]|0;
$72 = ($71<<24>>24)==(-119);
if (!($72)) {
HEAP32[$vararg_buffer1>>2] = $15;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
}
$73 = HEAP8[$20>>0]|0;
$74 = ($73<<24>>24)==(-4);
if ($74) {
$$05557 = 0;$storemerge = $15;
break;
}
HEAP32[$vararg_buffer1>>2] = $15;
__gcry_log_fatal(68696,$vararg_buffer1);
// unreachable;
} else {
$58 = ((($15)) + 51|0);
HEAP8[$58>>0] = 1;
$59 = HEAP8[$15>>0]|0;
$60 = ($59<<24>>24)==(17);
if (!($60)) {
HEAP32[$vararg_buffer>>2] = $15;
__gcry_log_fatal(68696,$vararg_buffer);
// unreachable;
}
$61 = HEAP8[$18>>0]|0;
$62 = ($61<<24>>24)==(42);
if (!($62)) {
HEAP32[$vararg_buffer>>2] = $15;
__gcry_log_fatal(68696,$vararg_buffer);
// unreachable;
}
$63 = HEAP8[$19>>0]|0;
$64 = ($63<<24>>24)==(-119);
if (!($64)) {
HEAP32[$vararg_buffer>>2] = $15;
__gcry_log_fatal(68696,$vararg_buffer);
// unreachable;
}
$65 = HEAP8[$20>>0]|0;
$66 = ($65<<24>>24)==(-4);
if ($66) {
$$05557 = 0;$storemerge = $15;
break;
}
HEAP32[$vararg_buffer>>2] = $15;
__gcry_log_fatal(68696,$vararg_buffer);
// unreachable;
}
} else {
$$055 = $25;
label = 17;
}
} else {
$$055 = $22;
label = 17;
}
} while(0);
if ((label|0) == 17) {
$75 = HEAP32[$21>>2]|0;
__gcry_cipher_close($75);
__gcry_free($15);
$$05557 = $$055;$storemerge = 0;
}
HEAP32[$0>>2] = $storemerge;
$$0 = $$05557;
STACKTOP = sp;return ($$0|0);
}
function __gcry_rngfips_run_external_test($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$not = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$3 = ($0|0)==(0|0);
$4 = ($1|0)==(0|0);
$or$cond$not = $3 | $4;
$5 = ($2|0)!=(16);
$or$cond3 = $or$cond$not | $5;
if ($or$cond3) {
$$0 = 45;
STACKTOP = sp;return ($$0|0);
}
$6 = (_gpgrt_lock_lock(40256)|0);
$7 = ($6|0)==(0);
if (!($7)) {
$8 = (_gpg_strerror($6)|0);
HEAP32[$vararg_buffer>>2] = $8;
__gcry_log_fatal(68530,$vararg_buffer);
// unreachable;
}
HEAP32[18159] = 1;
_get_random($1,16,$0);
HEAP32[18159] = 0;
$9 = (_gpgrt_lock_unlock(40256)|0);
$10 = ($9|0)==(0);
if ($10) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
} else {
$11 = (_gpg_strerror($9)|0);
HEAP32[$vararg_buffer1>>2] = $11;
__gcry_log_fatal(68742,$vararg_buffer1);
// unreachable;
}
return (0)|0;
}
function __gcry_rngfips_deinit_external_test($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
__gcry_cipher_close($3);
__gcry_free($0);
return;
}
function __gcry_rngsystem_initialize($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[18171]|0;
$2 = ($1|0)==(0);
if (!($2)) {
return;
}
HEAP32[18171] = 1;
HEAP32[18172] = 0;
return;
}
function __gcry_rngsystem_close_fds() {
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$0 = (_gpgrt_lock_lock(40300)|0);
$1 = ($0|0)==(0);
if (!($1)) {
$2 = (_gpg_strerror($0)|0);
HEAP32[$vararg_buffer>>2] = $2;
__gcry_log_fatal(69475,$vararg_buffer);
// unreachable;
}
HEAP32[18172] = 1;
(__gcry_rndlinux_gather_random(0,0,0,0)|0);
HEAP32[18172] = 0;
$3 = (_gpgrt_lock_unlock(40300)|0);
$4 = ($3|0)==(0);
if ($4) {
STACKTOP = sp;return;
} else {
$5 = (_gpg_strerror($3)|0);
HEAP32[$vararg_buffer1>>2] = $5;
__gcry_log_fatal(69518,$vararg_buffer1);
// unreachable;
}
}
function __gcry_rngsystem_randomize($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$3 = HEAP32[18171]|0;
$4 = ($3|0)==(0);
if ($4) {
HEAP32[18171] = 1;
HEAP32[18172] = 0;
}
$5 = ($2|0)==(2);
$spec$select = $5 ? 2 : 1;
$6 = (_gpgrt_lock_lock(40300)|0);
$7 = ($6|0)==(0);
if (!($7)) {
$8 = (_gpg_strerror($6)|0);
HEAP32[$vararg_buffer>>2] = $8;
__gcry_log_fatal(69475,$vararg_buffer);
// unreachable;
}
HEAP32[18172] = 1;
$9 = ($0|0)==(0|0);
if ($9) {
__gcry_assert_failed(69561,69568,144,69584);
// unreachable;
}
HEAP32[18173] = $0;
HEAP32[18174] = $1;
HEAP32[18175] = 0;
$10 = (__gcry_rndlinux_gather_random(86,0,$1,$spec$select)|0);
$11 = ($10|0)<(0);
if ($11) {
HEAP32[$vararg_buffer1>>2] = $10;
__gcry_log_fatal(69595,$vararg_buffer1);
// unreachable;
}
$12 = HEAP32[18175]|0;
$13 = HEAP32[18174]|0;
$14 = ($12|0)==($13|0);
if (!($14)) {
HEAP32[$vararg_buffer1>>2] = $10;
__gcry_log_fatal(69595,$vararg_buffer1);
// unreachable;
}
HEAP32[18172] = 0;
$15 = (_gpgrt_lock_unlock(40300)|0);
$16 = ($15|0)==(0);
if ($16) {
STACKTOP = sp;return;
} else {
$17 = (_gpg_strerror($15)|0);
HEAP32[$vararg_buffer4>>2] = $17;
__gcry_log_fatal(69518,$vararg_buffer4);
// unreachable;
}
}
function _read_cb($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$05 = 0, $$in = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[18172]|0;
$4 = ($3|0)==(0);
if ($4) {
__gcry_assert_failed(69641,69568,124,69662);
// unreachable;
}
$5 = HEAP32[18173]|0;
$6 = ($5|0)==(0|0);
if ($6) {
__gcry_assert_failed(69670,69568,125,69662);
// unreachable;
}
$7 = ($1|0)==(0);
if ($7) {
return;
}
$8 = HEAP32[18174]|0;
$$pre = HEAP32[18175]|0;
$$05 = $0;$$in = $1;$11 = $$pre;
while(1) {
$9 = (($$in) + -1)|0;
$10 = ($11>>>0)<($8>>>0);
if (!($10)) {
label = 9;
break;
}
$12 = ((($$05)) + 1|0);
$13 = HEAP8[$$05>>0]|0;
$14 = (($11) + 1)|0;
HEAP32[18175] = $14;
$15 = (($5) + ($11)|0);
HEAP8[$15>>0] = $13;
$16 = ($9|0)==(0);
if ($16) {
label = 9;
break;
} else {
$$05 = $12;$$in = $9;$11 = $14;
}
}
if ((label|0) == 9) {
return;
}
}
function __gcry_rndhw_failed_p() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[18176]|0;
return ($0|0);
}
function __gcry_rndhw_poll_fast($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function __gcry_rndhw_poll_slow($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function __gcry_rndlinux_gather_random($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0102 = 0, $$0110 = 0, $$0113129 = 0, $$0113129$us = 0, $$0116$ph$be = 0, $$0116$ph183258 = 0, $$0119$lcssa = 0, $$0119$ph$be = 0, $$0119$ph182259 = 0, $$0119173 = 0, $$0119173$us = 0, $$0122$ph181260 = 0, $$0122172 = 0, $$0122172$us = 0, $$1$ph185257 = 0, $$1120 = 0, $$1120$us = 0, $$1123 = 0, $$1123$us = 0, $$1174 = 0;
var $$1174$us = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0;
var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0;
var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0;
var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0;
var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0;
var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0;
var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0;
var $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0;
var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0;
var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0;
var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0;
var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0;
var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0;
var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0;
var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0;
var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0;
var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0;
var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0;
var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0;
var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0;
var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
var $or$cond = 0, $or$cond$us = 0, $or$cond127 = 0, $or$cond127$us = 0, $spec$select = 0, $spec$select126 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 944|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(944|0);
$vararg_buffer7 = sp + 792|0;
$vararg_buffer4 = sp + 784|0;
$vararg_buffer1 = sp + 776|0;
$vararg_buffer = sp + 768|0;
$4 = sp;
$5 = sp + 808|0;
$6 = sp + 800|0;
$7 = ($0|0)==(0|0);
if ($7) {
$8 = HEAP32[10086]|0;
$9 = ($8|0)==(-1);
if (!($9)) {
(_close($8)|0);
HEAP32[10086] = -1;
}
$10 = HEAP32[10087]|0;
$11 = ($10|0)==(-1);
if ($11) {
STACKTOP = sp;return 0;
}
(_close($10)|0);
HEAP32[10087] = -1;
STACKTOP = sp;return 0;
}
$12 = (__gcry_rndhw_poll_slow($0,$1)|0);
$13 = $2 >>> 1;
$14 = ($12>>>0)>($13>>>0);
$spec$select = $14 ? $13 : $12;
$15 = ($2>>>0)>(1);
$16 = $15 ? $spec$select : 0;
$$0102 = (($2) - ($16))|0;
$17 = ($3|0)>(1);
if ($17) {
$18 = HEAP32[10086]|0;
$19 = ($18|0)==(-1);
if ($19) {
$20 = HEAP8[73337]|0;
$21 = $20 & 1;
$22 = $21&255;
$23 = (_open_device(69685,$22)|0);
HEAP32[10086] = $23;
$24 = HEAP8[73337]|0;
$25 = $24 | 1;
HEAP8[73337] = $25;
$$0110 = $23;
} else {
$$0110 = $18;
}
} else {
$26 = HEAP32[10087]|0;
$27 = ($26|0)==(-1);
if ($27) {
$28 = HEAP8[73337]|0;
$29 = $28 & 2;
$30 = $29&255;
$31 = (_open_device(69697,$30)|0);
HEAP32[10087] = $31;
$32 = HEAP8[73337]|0;
$33 = $32 | 2;
HEAP8[73337] = $33;
$$0110 = $31;
} else {
$$0110 = $26;
}
}
$34 = ($$0102|0)==(0);
L17: do {
if ($34) {
$$0119$lcssa = 0;
} else {
$35 = ($$0110|0)<(1024);
$36 = $$0110 & 31;
$37 = 1 << $36;
$38 = $$0110 >>> 5;
$39 = (($5) + ($38<<2)|0);
$40 = ((($6)) + 4|0);
$41 = (($$0110) + 1)|0;
L19: do {
if ($35) {
$$0116$ph183258 = 0;$$0119$ph182259 = 0;$$0122$ph181260 = 0;$$1$ph185257 = $$0102;$47 = 100000;$66 = 0;
L21: while(1) {
$$0119173$us = $$0119$ph182259;$$0122172$us = $$0122$ph181260;$$1174$us = $$1$ph185257;
L23: while(1) {
$42 = ($$0119173$us|0)==(0);
$43 = (($2) - ($$1174$us))|0;
$44 = ($$0122172$us|0)==($43|0);
$or$cond$us = $42 & $44;
if ($or$cond$us) {
$$1120$us = 0;$$1123$us = $$0122172$us;
} else {
__gcry_random_progress(69710,88,$43,$2);
$$1120$us = 1;$$1123$us = $43;
}
dest=$5; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$45 = HEAP32[$39>>2]|0;
$46 = $45 | $37;
HEAP32[$39>>2] = $46;
HEAP32[$6>>2] = $$0116$ph183258;
HEAP32[$40>>2] = $47;
$48 = (_select($41,$5,0,0,$6)|0);
switch ($48|0) {
case 0: {
label = 33;
break L23;
break;
}
case -1: {
label = 26;
break L23;
break;
}
default: {
}
}
$49 = ($$1174$us>>>0)<(768);
$50 = $49 ? $$1174$us : 768;
while(1) {
$51 = (_read($$0110,$4,$50)|0);
$52 = ($51|0)>(-1);
$53 = ($51>>>0)>($50>>>0);
$or$cond127$us = $52 & $53;
if ($or$cond127$us) {
label = 22;
break;
}
$54 = ($51|0)==(-1);
if (!($54)) {
$$0113129$us = $51;
break;
}
$55 = (___errno_location()|0);
$56 = HEAP32[$55>>2]|0;
$57 = ($56|0)==(4);
if (!($57)) {
break L21;
}
}
if ((label|0) == 22) {
label = 0;
HEAP32[$vararg_buffer>>2] = $51;
__gcry_log_error(69723,$vararg_buffer);
$$0113129$us = $50;
}
FUNCTION_TABLE_viii[$0 & 127]($4,$$0113129$us,$1);
$58 = (($$1174$us) - ($$0113129$us))|0;
$59 = ($58|0)==(0);
if ($59) {
$$0119$lcssa = $$1120$us;
break L17;
} else {
$$0119173$us = $$1120$us;$$0122172$us = $$1123$us;$$1174$us = $58;
}
}
if ((label|0) == 26) {
label = 0;
$63 = (___errno_location()|0);
$64 = HEAP32[$63>>2]|0;
$65 = (_strerror($64)|0);
HEAP32[$vararg_buffer1>>2] = $65;
__gcry_log_error(69761,$vararg_buffer1);
$spec$select126 = $66 ? $$0116$ph183258 : 1;
$$0116$ph$be = $spec$select126;$$0119$ph$be = $$1120$us;
}
else if ((label|0) == 33) {
label = 0;
$$0116$ph$be = 3;$$0119$ph$be = 1;
}
$79 = ($$0116$ph$be|0)!=(0);
$80 = $79 ? 0 : 100000;
if ($35) {
$$0116$ph183258 = $$0116$ph$be;$$0119$ph182259 = $$0119$ph$be;$$0122$ph181260 = $$1123$us;$$1$ph185257 = $$1174$us;$47 = $80;$66 = $79;
} else {
break L19;
}
}
$76 = (___errno_location()|0);
$77 = HEAP32[$76>>2]|0;
$78 = (_strerror($77)|0);
HEAP32[$vararg_buffer7>>2] = $78;
__gcry_log_fatal(69781,$vararg_buffer7);
// unreachable;
}
} while(0);
$$0119173 = 0;$$0122172 = 0;$$1174 = $$0102;
L42: while(1) {
$60 = ($$0119173|0)==(0);
$61 = (($2) - ($$1174))|0;
$62 = ($$0122172|0)==($61|0);
$or$cond = $60 & $62;
if ($or$cond) {
$$1120 = 0;$$1123 = $$0122172;
} else {
__gcry_random_progress(69710,88,$61,$2);
$$1120 = 1;$$1123 = $61;
}
$67 = ($$1174>>>0)<(768);
$68 = $67 ? $$1174 : 768;
while(1) {
$69 = (_read($$0110,$4,$68)|0);
$70 = ($69|0)>(-1);
$71 = ($69>>>0)>($68>>>0);
$or$cond127 = $70 & $71;
if ($or$cond127) {
label = 29;
break;
}
$72 = ($69|0)==(-1);
if (!($72)) {
$$0113129 = $69;
break;
}
$73 = (___errno_location()|0);
$74 = HEAP32[$73>>2]|0;
$75 = ($74|0)==(4);
if (!($75)) {
break L42;
}
}
if ((label|0) == 29) {
label = 0;
HEAP32[$vararg_buffer4>>2] = $69;
__gcry_log_error(69723,$vararg_buffer4);
$$0113129 = $68;
}
FUNCTION_TABLE_viii[$0 & 127]($4,$$0113129,$1);
$81 = (($$1174) - ($$0113129))|0;
$82 = ($81|0)==(0);
if ($82) {
$$0119$lcssa = $$1120;
break L17;
} else {
$$0119173 = $$1120;$$0122172 = $$1123;$$1174 = $81;
}
}
$76 = (___errno_location()|0);
$77 = HEAP32[$76>>2]|0;
$78 = (_strerror($77)|0);
HEAP32[$vararg_buffer7>>2] = $78;
__gcry_log_fatal(69781,$vararg_buffer7);
// unreachable;
}
} while(0);
$83 = $4;
$84 = $83;
HEAP32[$84>>2] = 0;
$85 = (($83) + 4)|0;
$86 = $85;
HEAP32[$86>>2] = 0;
$87 = ((($4)) + 8|0);
$88 = $87;
$89 = $88;
HEAP32[$89>>2] = 0;
$90 = (($88) + 4)|0;
$91 = $90;
HEAP32[$91>>2] = 0;
$92 = ((($4)) + 16|0);
$93 = $92;
$94 = $93;
HEAP32[$94>>2] = 0;
$95 = (($93) + 4)|0;
$96 = $95;
HEAP32[$96>>2] = 0;
$97 = ((($4)) + 24|0);
$98 = $97;
$99 = $98;
HEAP32[$99>>2] = 0;
$100 = (($98) + 4)|0;
$101 = $100;
HEAP32[$101>>2] = 0;
$102 = ((($4)) + 32|0);
$103 = $102;
$104 = $103;
HEAP32[$104>>2] = 0;
$105 = (($103) + 4)|0;
$106 = $105;
HEAP32[$106>>2] = 0;
$107 = ((($4)) + 40|0);
$108 = $107;
$109 = $108;
HEAP32[$109>>2] = 0;
$110 = (($108) + 4)|0;
$111 = $110;
HEAP32[$111>>2] = 0;
$112 = ((($4)) + 48|0);
$113 = $112;
$114 = $113;
HEAP32[$114>>2] = 0;
$115 = (($113) + 4)|0;
$116 = $115;
HEAP32[$116>>2] = 0;
$117 = ((($4)) + 56|0);
$118 = $117;
$119 = $118;
HEAP32[$119>>2] = 0;
$120 = (($118) + 4)|0;
$121 = $120;
HEAP32[$121>>2] = 0;
$122 = ((($4)) + 64|0);
$123 = $122;
$124 = $123;
HEAP32[$124>>2] = 0;
$125 = (($123) + 4)|0;
$126 = $125;
HEAP32[$126>>2] = 0;
$127 = ((($4)) + 72|0);
$128 = $127;
$129 = $128;
HEAP32[$129>>2] = 0;
$130 = (($128) + 4)|0;
$131 = $130;
HEAP32[$131>>2] = 0;
$132 = ((($4)) + 80|0);
$133 = $132;
$134 = $133;
HEAP32[$134>>2] = 0;
$135 = (($133) + 4)|0;
$136 = $135;
HEAP32[$136>>2] = 0;
$137 = ((($4)) + 88|0);
$138 = $137;
$139 = $138;
HEAP32[$139>>2] = 0;
$140 = (($138) + 4)|0;
$141 = $140;
HEAP32[$141>>2] = 0;
$142 = ((($4)) + 96|0);
$143 = $142;
$144 = $143;
HEAP32[$144>>2] = 0;
$145 = (($143) + 4)|0;
$146 = $145;
HEAP32[$146>>2] = 0;
$147 = ((($4)) + 104|0);
$148 = $147;
$149 = $148;
HEAP32[$149>>2] = 0;
$150 = (($148) + 4)|0;
$151 = $150;
HEAP32[$151>>2] = 0;
$152 = ((($4)) + 112|0);
$153 = $152;
$154 = $153;
HEAP32[$154>>2] = 0;
$155 = (($153) + 4)|0;
$156 = $155;
HEAP32[$156>>2] = 0;
$157 = ((($4)) + 120|0);
$158 = $157;
$159 = $158;
HEAP32[$159>>2] = 0;
$160 = (($158) + 4)|0;
$161 = $160;
HEAP32[$161>>2] = 0;
$162 = ((($4)) + 128|0);
$163 = $162;
$164 = $163;
HEAP32[$164>>2] = 0;
$165 = (($163) + 4)|0;
$166 = $165;
HEAP32[$166>>2] = 0;
$167 = ((($4)) + 136|0);
$168 = $167;
$169 = $168;
HEAP32[$169>>2] = 0;
$170 = (($168) + 4)|0;
$171 = $170;
HEAP32[$171>>2] = 0;
$172 = ((($4)) + 144|0);
$173 = $172;
$174 = $173;
HEAP32[$174>>2] = 0;
$175 = (($173) + 4)|0;
$176 = $175;
HEAP32[$176>>2] = 0;
$177 = ((($4)) + 152|0);
$178 = $177;
$179 = $178;
HEAP32[$179>>2] = 0;
$180 = (($178) + 4)|0;
$181 = $180;
HEAP32[$181>>2] = 0;
$182 = ((($4)) + 160|0);
$183 = $182;
$184 = $183;
HEAP32[$184>>2] = 0;
$185 = (($183) + 4)|0;
$186 = $185;
HEAP32[$186>>2] = 0;
$187 = ((($4)) + 168|0);
$188 = $187;
$189 = $188;
HEAP32[$189>>2] = 0;
$190 = (($188) + 4)|0;
$191 = $190;
HEAP32[$191>>2] = 0;
$192 = ((($4)) + 176|0);
$193 = $192;
$194 = $193;
HEAP32[$194>>2] = 0;
$195 = (($193) + 4)|0;
$196 = $195;
HEAP32[$196>>2] = 0;
$197 = ((($4)) + 184|0);
$198 = $197;
$199 = $198;
HEAP32[$199>>2] = 0;
$200 = (($198) + 4)|0;
$201 = $200;
HEAP32[$201>>2] = 0;
$202 = ((($4)) + 192|0);
$203 = $202;
$204 = $203;
HEAP32[$204>>2] = 0;
$205 = (($203) + 4)|0;
$206 = $205;
HEAP32[$206>>2] = 0;
$207 = ((($4)) + 200|0);
$208 = $207;
$209 = $208;
HEAP32[$209>>2] = 0;
$210 = (($208) + 4)|0;
$211 = $210;
HEAP32[$211>>2] = 0;
$212 = ((($4)) + 208|0);
$213 = $212;
$214 = $213;
HEAP32[$214>>2] = 0;
$215 = (($213) + 4)|0;
$216 = $215;
HEAP32[$216>>2] = 0;
$217 = ((($4)) + 216|0);
$218 = $217;
$219 = $218;
HEAP32[$219>>2] = 0;
$220 = (($218) + 4)|0;
$221 = $220;
HEAP32[$221>>2] = 0;
$222 = ((($4)) + 224|0);
$223 = $222;
$224 = $223;
HEAP32[$224>>2] = 0;
$225 = (($223) + 4)|0;
$226 = $225;
HEAP32[$226>>2] = 0;
$227 = ((($4)) + 232|0);
$228 = $227;
$229 = $228;
HEAP32[$229>>2] = 0;
$230 = (($228) + 4)|0;
$231 = $230;
HEAP32[$231>>2] = 0;
$232 = ((($4)) + 240|0);
$233 = $232;
$234 = $233;
HEAP32[$234>>2] = 0;
$235 = (($233) + 4)|0;
$236 = $235;
HEAP32[$236>>2] = 0;
$237 = ((($4)) + 248|0);
$238 = $237;
$239 = $238;
HEAP32[$239>>2] = 0;
$240 = (($238) + 4)|0;
$241 = $240;
HEAP32[$241>>2] = 0;
$242 = ((($4)) + 256|0);
$243 = $242;
$244 = $243;
HEAP32[$244>>2] = 0;
$245 = (($243) + 4)|0;
$246 = $245;
HEAP32[$246>>2] = 0;
$247 = ((($4)) + 264|0);
$248 = $247;
$249 = $248;
HEAP32[$249>>2] = 0;
$250 = (($248) + 4)|0;
$251 = $250;
HEAP32[$251>>2] = 0;
$252 = ((($4)) + 272|0);
$253 = $252;
$254 = $253;
HEAP32[$254>>2] = 0;
$255 = (($253) + 4)|0;
$256 = $255;
HEAP32[$256>>2] = 0;
$257 = ((($4)) + 280|0);
$258 = $257;
$259 = $258;
HEAP32[$259>>2] = 0;
$260 = (($258) + 4)|0;
$261 = $260;
HEAP32[$261>>2] = 0;
$262 = ((($4)) + 288|0);
$263 = $262;
$264 = $263;
HEAP32[$264>>2] = 0;
$265 = (($263) + 4)|0;
$266 = $265;
HEAP32[$266>>2] = 0;
$267 = ((($4)) + 296|0);
$268 = $267;
$269 = $268;
HEAP32[$269>>2] = 0;
$270 = (($268) + 4)|0;
$271 = $270;
HEAP32[$271>>2] = 0;
$272 = ((($4)) + 304|0);
$273 = $272;
$274 = $273;
HEAP32[$274>>2] = 0;
$275 = (($273) + 4)|0;
$276 = $275;
HEAP32[$276>>2] = 0;
$277 = ((($4)) + 312|0);
$278 = $277;
$279 = $278;
HEAP32[$279>>2] = 0;
$280 = (($278) + 4)|0;
$281 = $280;
HEAP32[$281>>2] = 0;
$282 = ((($4)) + 320|0);
$283 = $282;
$284 = $283;
HEAP32[$284>>2] = 0;
$285 = (($283) + 4)|0;
$286 = $285;
HEAP32[$286>>2] = 0;
$287 = ((($4)) + 328|0);
$288 = $287;
$289 = $288;
HEAP32[$289>>2] = 0;
$290 = (($288) + 4)|0;
$291 = $290;
HEAP32[$291>>2] = 0;
$292 = ((($4)) + 336|0);
$293 = $292;
$294 = $293;
HEAP32[$294>>2] = 0;
$295 = (($293) + 4)|0;
$296 = $295;
HEAP32[$296>>2] = 0;
$297 = ((($4)) + 344|0);
$298 = $297;
$299 = $298;
HEAP32[$299>>2] = 0;
$300 = (($298) + 4)|0;
$301 = $300;
HEAP32[$301>>2] = 0;
$302 = ((($4)) + 352|0);
$303 = $302;
$304 = $303;
HEAP32[$304>>2] = 0;
$305 = (($303) + 4)|0;
$306 = $305;
HEAP32[$306>>2] = 0;
$307 = ((($4)) + 360|0);
$308 = $307;
$309 = $308;
HEAP32[$309>>2] = 0;
$310 = (($308) + 4)|0;
$311 = $310;
HEAP32[$311>>2] = 0;
$312 = ((($4)) + 368|0);
$313 = $312;
$314 = $313;
HEAP32[$314>>2] = 0;
$315 = (($313) + 4)|0;
$316 = $315;
HEAP32[$316>>2] = 0;
$317 = ((($4)) + 376|0);
$318 = $317;
$319 = $318;
HEAP32[$319>>2] = 0;
$320 = (($318) + 4)|0;
$321 = $320;
HEAP32[$321>>2] = 0;
$322 = ((($4)) + 384|0);
$323 = $322;
$324 = $323;
HEAP32[$324>>2] = 0;
$325 = (($323) + 4)|0;
$326 = $325;
HEAP32[$326>>2] = 0;
$327 = ((($4)) + 392|0);
$328 = $327;
$329 = $328;
HEAP32[$329>>2] = 0;
$330 = (($328) + 4)|0;
$331 = $330;
HEAP32[$331>>2] = 0;
$332 = ((($4)) + 400|0);
$333 = $332;
$334 = $333;
HEAP32[$334>>2] = 0;
$335 = (($333) + 4)|0;
$336 = $335;
HEAP32[$336>>2] = 0;
$337 = ((($4)) + 408|0);
$338 = $337;
$339 = $338;
HEAP32[$339>>2] = 0;
$340 = (($338) + 4)|0;
$341 = $340;
HEAP32[$341>>2] = 0;
$342 = ((($4)) + 416|0);
$343 = $342;
$344 = $343;
HEAP32[$344>>2] = 0;
$345 = (($343) + 4)|0;
$346 = $345;
HEAP32[$346>>2] = 0;
$347 = ((($4)) + 424|0);
$348 = $347;
$349 = $348;
HEAP32[$349>>2] = 0;
$350 = (($348) + 4)|0;
$351 = $350;
HEAP32[$351>>2] = 0;
$352 = ((($4)) + 432|0);
$353 = $352;
$354 = $353;
HEAP32[$354>>2] = 0;
$355 = (($353) + 4)|0;
$356 = $355;
HEAP32[$356>>2] = 0;
$357 = ((($4)) + 440|0);
$358 = $357;
$359 = $358;
HEAP32[$359>>2] = 0;
$360 = (($358) + 4)|0;
$361 = $360;
HEAP32[$361>>2] = 0;
$362 = ((($4)) + 448|0);
$363 = $362;
$364 = $363;
HEAP32[$364>>2] = 0;
$365 = (($363) + 4)|0;
$366 = $365;
HEAP32[$366>>2] = 0;
$367 = ((($4)) + 456|0);
$368 = $367;
$369 = $368;
HEAP32[$369>>2] = 0;
$370 = (($368) + 4)|0;
$371 = $370;
HEAP32[$371>>2] = 0;
$372 = ((($4)) + 464|0);
$373 = $372;
$374 = $373;
HEAP32[$374>>2] = 0;
$375 = (($373) + 4)|0;
$376 = $375;
HEAP32[$376>>2] = 0;
$377 = ((($4)) + 472|0);
$378 = $377;
$379 = $378;
HEAP32[$379>>2] = 0;
$380 = (($378) + 4)|0;
$381 = $380;
HEAP32[$381>>2] = 0;
$382 = ((($4)) + 480|0);
$383 = $382;
$384 = $383;
HEAP32[$384>>2] = 0;
$385 = (($383) + 4)|0;
$386 = $385;
HEAP32[$386>>2] = 0;
$387 = ((($4)) + 488|0);
$388 = $387;
$389 = $388;
HEAP32[$389>>2] = 0;
$390 = (($388) + 4)|0;
$391 = $390;
HEAP32[$391>>2] = 0;
$392 = ((($4)) + 496|0);
$393 = $392;
$394 = $393;
HEAP32[$394>>2] = 0;
$395 = (($393) + 4)|0;
$396 = $395;
HEAP32[$396>>2] = 0;
$397 = ((($4)) + 504|0);
$398 = $397;
$399 = $398;
HEAP32[$399>>2] = 0;
$400 = (($398) + 4)|0;
$401 = $400;
HEAP32[$401>>2] = 0;
$402 = ((($4)) + 512|0);
$403 = $402;
$404 = $403;
HEAP32[$404>>2] = 0;
$405 = (($403) + 4)|0;
$406 = $405;
HEAP32[$406>>2] = 0;
$407 = ((($4)) + 520|0);
$408 = $407;
$409 = $408;
HEAP32[$409>>2] = 0;
$410 = (($408) + 4)|0;
$411 = $410;
HEAP32[$411>>2] = 0;
$412 = ((($4)) + 528|0);
$413 = $412;
$414 = $413;
HEAP32[$414>>2] = 0;
$415 = (($413) + 4)|0;
$416 = $415;
HEAP32[$416>>2] = 0;
$417 = ((($4)) + 536|0);
$418 = $417;
$419 = $418;
HEAP32[$419>>2] = 0;
$420 = (($418) + 4)|0;
$421 = $420;
HEAP32[$421>>2] = 0;
$422 = ((($4)) + 544|0);
$423 = $422;
$424 = $423;
HEAP32[$424>>2] = 0;
$425 = (($423) + 4)|0;
$426 = $425;
HEAP32[$426>>2] = 0;
$427 = ((($4)) + 552|0);
$428 = $427;
$429 = $428;
HEAP32[$429>>2] = 0;
$430 = (($428) + 4)|0;
$431 = $430;
HEAP32[$431>>2] = 0;
$432 = ((($4)) + 560|0);
$433 = $432;
$434 = $433;
HEAP32[$434>>2] = 0;
$435 = (($433) + 4)|0;
$436 = $435;
HEAP32[$436>>2] = 0;
$437 = ((($4)) + 568|0);
$438 = $437;
$439 = $438;
HEAP32[$439>>2] = 0;
$440 = (($438) + 4)|0;
$441 = $440;
HEAP32[$441>>2] = 0;
$442 = ((($4)) + 576|0);
$443 = $442;
$444 = $443;
HEAP32[$444>>2] = 0;
$445 = (($443) + 4)|0;
$446 = $445;
HEAP32[$446>>2] = 0;
$447 = ((($4)) + 584|0);
$448 = $447;
$449 = $448;
HEAP32[$449>>2] = 0;
$450 = (($448) + 4)|0;
$451 = $450;
HEAP32[$451>>2] = 0;
$452 = ((($4)) + 592|0);
$453 = $452;
$454 = $453;
HEAP32[$454>>2] = 0;
$455 = (($453) + 4)|0;
$456 = $455;
HEAP32[$456>>2] = 0;
$457 = ((($4)) + 600|0);
$458 = $457;
$459 = $458;
HEAP32[$459>>2] = 0;
$460 = (($458) + 4)|0;
$461 = $460;
HEAP32[$461>>2] = 0;
$462 = ((($4)) + 608|0);
$463 = $462;
$464 = $463;
HEAP32[$464>>2] = 0;
$465 = (($463) + 4)|0;
$466 = $465;
HEAP32[$466>>2] = 0;
$467 = ((($4)) + 616|0);
$468 = $467;
$469 = $468;
HEAP32[$469>>2] = 0;
$470 = (($468) + 4)|0;
$471 = $470;
HEAP32[$471>>2] = 0;
$472 = ((($4)) + 624|0);
$473 = $472;
$474 = $473;
HEAP32[$474>>2] = 0;
$475 = (($473) + 4)|0;
$476 = $475;
HEAP32[$476>>2] = 0;
$477 = ((($4)) + 632|0);
$478 = $477;
$479 = $478;
HEAP32[$479>>2] = 0;
$480 = (($478) + 4)|0;
$481 = $480;
HEAP32[$481>>2] = 0;
$482 = ((($4)) + 640|0);
$483 = $482;
$484 = $483;
HEAP32[$484>>2] = 0;
$485 = (($483) + 4)|0;
$486 = $485;
HEAP32[$486>>2] = 0;
$487 = ((($4)) + 648|0);
$488 = $487;
$489 = $488;
HEAP32[$489>>2] = 0;
$490 = (($488) + 4)|0;
$491 = $490;
HEAP32[$491>>2] = 0;
$492 = ((($4)) + 656|0);
$493 = $492;
$494 = $493;
HEAP32[$494>>2] = 0;
$495 = (($493) + 4)|0;
$496 = $495;
HEAP32[$496>>2] = 0;
$497 = ((($4)) + 664|0);
$498 = $497;
$499 = $498;
HEAP32[$499>>2] = 0;
$500 = (($498) + 4)|0;
$501 = $500;
HEAP32[$501>>2] = 0;
$502 = ((($4)) + 672|0);
$503 = $502;
$504 = $503;
HEAP32[$504>>2] = 0;
$505 = (($503) + 4)|0;
$506 = $505;
HEAP32[$506>>2] = 0;
$507 = ((($4)) + 680|0);
$508 = $507;
$509 = $508;
HEAP32[$509>>2] = 0;
$510 = (($508) + 4)|0;
$511 = $510;
HEAP32[$511>>2] = 0;
$512 = ((($4)) + 688|0);
$513 = $512;
$514 = $513;
HEAP32[$514>>2] = 0;
$515 = (($513) + 4)|0;
$516 = $515;
HEAP32[$516>>2] = 0;
$517 = ((($4)) + 696|0);
$518 = $517;
$519 = $518;
HEAP32[$519>>2] = 0;
$520 = (($518) + 4)|0;
$521 = $520;
HEAP32[$521>>2] = 0;
$522 = ((($4)) + 704|0);
$523 = $522;
$524 = $523;
HEAP32[$524>>2] = 0;
$525 = (($523) + 4)|0;
$526 = $525;
HEAP32[$526>>2] = 0;
$527 = ((($4)) + 712|0);
$528 = $527;
$529 = $528;
HEAP32[$529>>2] = 0;
$530 = (($528) + 4)|0;
$531 = $530;
HEAP32[$531>>2] = 0;
$532 = ((($4)) + 720|0);
$533 = $532;
$534 = $533;
HEAP32[$534>>2] = 0;
$535 = (($533) + 4)|0;
$536 = $535;
HEAP32[$536>>2] = 0;
$537 = ((($4)) + 728|0);
$538 = $537;
$539 = $538;
HEAP32[$539>>2] = 0;
$540 = (($538) + 4)|0;
$541 = $540;
HEAP32[$541>>2] = 0;
$542 = ((($4)) + 736|0);
$543 = $542;
$544 = $543;
HEAP32[$544>>2] = 0;
$545 = (($543) + 4)|0;
$546 = $545;
HEAP32[$546>>2] = 0;
$547 = ((($4)) + 744|0);
$548 = $547;
$549 = $548;
HEAP32[$549>>2] = 0;
$550 = (($548) + 4)|0;
$551 = $550;
HEAP32[$551>>2] = 0;
$552 = ((($4)) + 752|0);
$553 = $552;
$554 = $553;
HEAP32[$554>>2] = 0;
$555 = (($553) + 4)|0;
$556 = $555;
HEAP32[$556>>2] = 0;
$557 = ((($4)) + 760|0);
$558 = $557;
$559 = $558;
HEAP32[$559>>2] = 0;
$560 = (($558) + 4)|0;
$561 = $560;
HEAP32[$561>>2] = 0;
$562 = ($$0119$lcssa|0)==(0);
if ($562) {
STACKTOP = sp;return 0;
}
__gcry_random_progress(69710,88,$2,$2);
STACKTOP = sp;return 0;
}
function _open_device($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$lcssa1016 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $or$cond11 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr17 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer14 = sp + 48|0;
$vararg_buffer11 = sp + 40|0;
$vararg_buffer8 = sp + 32|0;
$vararg_buffer5 = sp + 24|0;
$vararg_buffer3 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$2 = sp + 56|0;
$3 = ($1|0)!=(0);
do {
if ($3) {
__gcry_random_progress(69814,88,1,0);
$6 = (_open($0,0,$vararg_buffer1)|0);
$7 = ($6|0)==(-1);
$or$cond11 = $3 & $7;
if ($or$cond11) {
$8 = ((($2)) + 4|0);
while(1) {
HEAP32[$2>>2] = 5;
HEAP32[$8>>2] = 0;
__gcry_random_progress(69830,88,0,5);
(_select(0,0,0,0,$2)|0);
$9 = (_open($0,0,$vararg_buffer3)|0);
$10 = ($9|0)==(-1);
if (!($10)) {
$$lcssa1016 = $9;
break;
}
}
} else {
if (!($7)) {
$$lcssa1016 = $6;
break;
}
$11 = (___errno_location()|0);
$12 = HEAP32[$11>>2]|0;
$13 = (_strerror($12)|0);
HEAP32[$vararg_buffer5>>2] = $0;
$vararg_ptr7 = ((($vararg_buffer5)) + 4|0);
HEAP32[$vararg_ptr7>>2] = $13;
__gcry_log_fatal(69846,$vararg_buffer5);
// unreachable;
}
} else {
$4 = (_open($0,0,$vararg_buffer)|0);
$5 = ($4|0)==(-1);
if ($5) {
$11 = (___errno_location()|0);
$12 = HEAP32[$11>>2]|0;
$13 = (_strerror($12)|0);
HEAP32[$vararg_buffer5>>2] = $0;
$vararg_ptr7 = ((($vararg_buffer5)) + 4|0);
HEAP32[$vararg_ptr7>>2] = $13;
__gcry_log_fatal(69846,$vararg_buffer5);
// unreachable;
} else {
$$lcssa1016 = $4;
}
}
} while(0);
HEAP32[$vararg_buffer8>>2] = 0;
$14 = (_fcntl($$lcssa1016,1,$vararg_buffer8)|0);
$15 = ($14|0)<(0);
if (!($15)) {
$16 = $14 | 1;
HEAP32[$vararg_buffer11>>2] = $16;
$17 = (_fcntl($$lcssa1016,2,$vararg_buffer11)|0);
$18 = ($17|0)==(0);
if ($18) {
STACKTOP = sp;return ($$lcssa1016|0);
}
}
$19 = (___errno_location()|0);
$20 = HEAP32[$19>>2]|0;
$21 = (_strerror($20)|0);
HEAP32[$vararg_buffer14>>2] = $$lcssa1016;
$vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
HEAP32[$vararg_ptr17>>2] = $21;
__gcry_log_error(69865,$vararg_buffer14);
STACKTOP = sp;return ($$lcssa1016|0);
}
function __gcry_mpih_addmul_1($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$076 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (0 - ($2))|0;
$5 = (($0) + ($2<<2)|0);
$6 = (($1) + ($2<<2)|0);
$7 = $3 & 65535;
$8 = $3 >>> 16;
$$0 = 0;$$076 = $4;
while(1) {
$9 = (($6) + ($$076<<2)|0);
$10 = HEAP32[$9>>2]|0;
$11 = $10 & 65535;
$12 = $10 >>> 16;
$13 = Math_imul($11, $7)|0;
$14 = Math_imul($11, $8)|0;
$15 = Math_imul($12, $7)|0;
$16 = Math_imul($12, $8)|0;
$17 = $13 >>> 16;
$18 = (($15) + ($14))|0;
$19 = (($18) + ($17))|0;
$20 = ($19>>>0)<($15>>>0);
$21 = (($16) + 65536)|0;
$spec$select = $20 ? $21 : $16;
$22 = $19 >>> 16;
$23 = (($spec$select) + ($22))|0;
$24 = $19 << 16;
$25 = $13 & 65535;
$26 = $24 | $25;
$27 = (($26) + ($$0))|0;
$28 = ($27>>>0)<($$0>>>0);
$29 = $28&1;
$30 = (($23) + ($29))|0;
$31 = (($5) + ($$076<<2)|0);
$32 = HEAP32[$31>>2]|0;
$33 = (($27) + ($32))|0;
$34 = ($33>>>0)<($32>>>0);
$35 = $34&1;
$36 = (($30) + ($35))|0;
HEAP32[$31>>2] = $33;
$37 = (($$076) + 1)|0;
$38 = ($37|0)==(0);
if ($38) {
break;
} else {
$$0 = $36;$$076 = $37;
}
}
return ($36|0);
}
function __gcry_dsa_gen_k($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$0$us = 0, $$1 = 0, $$1$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
var $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer8 = sp + 32|0;
$vararg_buffer6 = sp + 24|0;
$vararg_buffer4 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$4 = (__gcry_mpi_alloc_secure($3)|0);
$5 = (__gcry_mpi_get_nbits($0)|0);
$6 = (($5) + 7)|0;
$7 = $6 >>> 3;
$8 = (__gcry_get_debug_flag(1)|0);
$9 = ($8|0)==(0);
if (!($9)) {
HEAP32[$vararg_buffer>>2] = $5;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $1;
__gcry_log_debug(69904,$vararg_buffer);
}
$10 = ($5>>>0)<(32);
$11 = (($5) + -1)|0;
if ($10) {
$$0$us = 0;
while(1) {
__gcry_free($$0$us);
$12 = (__gcry_random_bytes_secure($7,$1)|0);
__gcry_mpi_set_buffer($4,$12,$7,0);
$13 = (__gcry_mpi_test_bit($4,$11)|0);
$14 = ($13|0)==(0);
__gcry_mpi_set_highbit($4,$11);
if ($14) {
__gcry_mpi_clear_bit($4,$11);
}
$15 = (__gcry_mpi_cmp($4,$0)|0);
$16 = ($15|0)<(0);
if ($16) {
$19 = (__gcry_mpi_cmp_ui($4,0)|0);
$20 = ($19|0)>(0);
if ($20) {
$$1$lcssa = $12;
break;
}
$21 = (__gcry_get_debug_flag(1)|0);
$22 = ($21|0)==(0);
if (!($22)) {
__gcry_log_debug(69973,$vararg_buffer4);
}
} else {
$17 = (__gcry_get_debug_flag(1)|0);
$18 = ($17|0)==(0);
if (!($18)) {
__gcry_log_debug(69951,$vararg_buffer2);
}
}
$$0$us = $12;
}
__gcry_free($$1$lcssa);
STACKTOP = sp;return ($4|0);
}
$$0 = 0;
while(1) {
$23 = ($$0|0)==(0|0);
if ($23) {
__gcry_free(0);
$24 = (__gcry_random_bytes_secure($7,$1)|0);
$$1 = $24;
} else {
$25 = (__gcry_random_bytes_secure(4,$1)|0);
$26 = HEAPU8[$25>>0]|(HEAPU8[$25+1>>0]<<8)|(HEAPU8[$25+2>>0]<<16)|(HEAPU8[$25+3>>0]<<24);
HEAP8[$$0>>0]=$26&255;HEAP8[$$0+1>>0]=($26>>8)&255;HEAP8[$$0+2>>0]=($26>>16)&255;HEAP8[$$0+3>>0]=$26>>24;
__gcry_free($25);
$$1 = $$0;
}
__gcry_mpi_set_buffer($4,$$1,$7,0);
$27 = (__gcry_mpi_test_bit($4,$11)|0);
$28 = ($27|0)==(0);
__gcry_mpi_set_highbit($4,$11);
if ($28) {
__gcry_mpi_clear_bit($4,$11);
}
$29 = (__gcry_mpi_cmp($4,$0)|0);
$30 = ($29|0)<(0);
if ($30) {
$33 = (__gcry_mpi_cmp_ui($4,0)|0);
$34 = ($33|0)>(0);
if ($34) {
$$1$lcssa = $$1;
break;
}
$35 = (__gcry_get_debug_flag(1)|0);
$36 = ($35|0)==(0);
if (!($36)) {
__gcry_log_debug(69973,$vararg_buffer8);
}
} else {
$31 = (__gcry_get_debug_flag(1)|0);
$32 = ($31|0)==(0);
if (!($32)) {
__gcry_log_debug(69951,$vararg_buffer6);
}
}
$$0 = $$1;
}
__gcry_free($$1$lcssa);
STACKTOP = sp;return ($4|0);
}
function __gcry_dsa_gen_rfc6979_k($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$0135 = 0, $$0136145$us = 0, $$0136145$us$be = 0, $$0137 = 0, $$0138 = 0, $$0139 = 0, $$0140$ph = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$7 = sp + 16|0;
$8 = sp + 12|0;
$9 = sp + 8|0;
$10 = sp + 4|0;
$11 = sp;
HEAP32[$8>>2] = 0;
HEAP32[$9>>2] = 0;
HEAP32[$10>>2] = 0;
HEAP32[$11>>2] = 0;
$12 = (__gcry_mpi_get_nbits($1)|0);
$13 = ($12|0)!=(0);
$14 = ($3|0)!=(0|0);
$or$cond = $14 & $13;
$15 = ($4|0)!=(0);
$or$cond3 = $15 & $or$cond;
if (!($or$cond3)) {
$$0135 = 32816;
STACKTOP = sp;return ($$0135|0);
}
$16 = (__gcry_md_get_algo_dlen($5)|0);
$17 = ($16|0)==($4|0);
if (!($17)) {
$$0135 = 5;
STACKTOP = sp;return ($$0135|0);
}
$18 = (__gcry_malloc($4)|0);
$19 = ($18|0)==(0|0);
L7: do {
if ($19) {
$20 = (_gpg_err_code_from_syserror()|0);
$$0137 = 0;$$0138 = 0;$$0139 = $20;
} else {
_memset(($18|0),1,($4|0))|0;
$21 = (__gcry_calloc(1,$4)|0);
$22 = ($21|0)==(0|0);
if ($22) {
$23 = (_gpg_err_code_from_syserror()|0);
$$0137 = 0;$$0138 = 0;$$0139 = $23;
break;
}
$24 = (($12) + 7)|0;
$25 = $24 >>> 3;
$26 = (_int2octets($8,$2,$25)|0);
$27 = ($26|0)==(0);
if ($27) {
$28 = $4 << 3;
$29 = $4 & 536870911;
$30 = (__gcry_mpi_scan($7,5,$3,$29,0)|0);
$31 = ($30|0)==(0);
if (!($31)) {
$$0137 = 0;$$0138 = $21;$$0139 = $30;
break;
}
$32 = ($28>>>0)>($12>>>0);
if ($32) {
$33 = (($28) - ($12))|0;
$34 = HEAP32[$7>>2]|0;
__gcry_mpi_rshift($34,$34,$33);
}
$35 = HEAP32[$7>>2]|0;
$36 = (__gcry_mpi_cmp($35,$1)|0);
$37 = ($36|0)>(-1);
if ($37) {
$38 = HEAP32[$7>>2]|0;
__gcry_mpi_sub($38,$38,$1);
}
$39 = HEAP32[$7>>2]|0;
$40 = (_int2octets($9,$39,$25)|0);
$41 = HEAP32[$7>>2]|0;
__gcry_mpi_free($41);
$42 = ($40|0)==(0);
if ($42) {
$43 = (__gcry_md_open($10,$5,3)|0);
$44 = ($43|0)==(0);
if ($44) {
$45 = HEAP32[$10>>2]|0;
$46 = (__gcry_md_setkey($45,$21,$4)|0);
$47 = ($46|0)==(0);
if ($47) {
$48 = HEAP32[$10>>2]|0;
__gcry_md_write($48,$18,$4);
$49 = HEAP32[$10>>2]|0;
__gcry_md_write($49,73338,1);
$50 = HEAP32[$10>>2]|0;
$51 = HEAP32[$8>>2]|0;
__gcry_md_write($50,$51,$25);
$52 = HEAP32[$10>>2]|0;
$53 = HEAP32[$9>>2]|0;
__gcry_md_write($52,$53,$25);
$54 = HEAP32[$10>>2]|0;
$55 = (__gcry_md_read($54,0)|0);
_memcpy(($21|0),($55|0),($4|0))|0;
$56 = HEAP32[$10>>2]|0;
$57 = (__gcry_md_setkey($56,$21,$4)|0);
$58 = ($57|0)==(0);
if ($58) {
$59 = HEAP32[$10>>2]|0;
__gcry_md_write($59,$18,$4);
$60 = HEAP32[$10>>2]|0;
$61 = (__gcry_md_read($60,0)|0);
_memcpy(($18|0),($61|0),($4|0))|0;
$62 = HEAP32[$10>>2]|0;
$63 = (__gcry_md_setkey($62,$21,$4)|0);
$64 = ($63|0)==(0);
if ($64) {
$65 = HEAP32[$10>>2]|0;
__gcry_md_write($65,$18,$4);
$66 = HEAP32[$10>>2]|0;
__gcry_md_write($66,69993,1);
$67 = HEAP32[$10>>2]|0;
__gcry_md_write($67,$51,$25);
$68 = HEAP32[$10>>2]|0;
__gcry_md_write($68,$53,$25);
$69 = HEAP32[$10>>2]|0;
$70 = (__gcry_md_read($69,0)|0);
_memcpy(($21|0),($70|0),($4|0))|0;
$71 = HEAP32[$10>>2]|0;
$72 = (__gcry_md_setkey($71,$21,$4)|0);
$73 = ($72|0)==(0);
if ($73) {
$74 = HEAP32[$10>>2]|0;
__gcry_md_write($74,$18,$4);
$75 = HEAP32[$10>>2]|0;
$76 = (__gcry_md_read($75,0)|0);
_memcpy(($18|0),($76|0),($4|0))|0;
$77 = (($25) + ($4))|0;
$78 = (__gcry_malloc($77)|0);
$79 = ($78|0)==(0|0);
if ($79) {
$80 = (_gpg_err_code_from_syserror()|0);
$$0137 = 0;$$0138 = $21;$$0139 = $80;
break;
}
$$0140$ph = $6;
while(1) {
$$0136145$us = 0;
while(1) {
$104 = HEAP32[$10>>2]|0;
$105 = (__gcry_md_setkey($104,$21,$4)|0);
$106 = ($105|0)==(0);
if (!($106)) {
$$0137 = $78;$$0138 = $21;$$0139 = $105;
break L7;
}
$107 = HEAP32[$10>>2]|0;
__gcry_md_write($107,$18,$4);
$108 = HEAP32[$10>>2]|0;
$109 = (__gcry_md_read($108,0)|0);
_memcpy(($18|0),($109|0),($4|0))|0;
$110 = $$0136145$us >>> 3;
$111 = (($78) + ($110)|0);
_memcpy(($111|0),($18|0),($4|0))|0;
$82 = (($$0136145$us) + ($28))|0;
$112 = ($82>>>0)<($12>>>0);
if ($112) {
$$0136145$us$be = $82;
} else {
$113 = HEAP32[$11>>2]|0;
__gcry_mpi_free($113);
HEAP32[$11>>2] = 0;
$114 = $82 >>> 3;
$115 = (__gcry_mpi_scan($11,5,$78,$114,0)|0);
$116 = ($115|0)==(0);
if (!($116)) {
$$0137 = $78;$$0138 = $21;$$0139 = $115;
break L7;
}
$81 = ($82>>>0)>($12>>>0);
if ($81) {
$83 = (($82) - ($12))|0;
$84 = HEAP32[$11>>2]|0;
__gcry_mpi_rshift($84,$84,$83);
}
$85 = HEAP32[$11>>2]|0;
$86 = (__gcry_mpi_cmp($85,$1)|0);
$87 = ($86|0)<(0);
if ($87) {
$88 = HEAP32[$11>>2]|0;
$89 = (__gcry_mpi_cmp_ui($88,0)|0);
$90 = ($89|0)>(0);
if ($90) {
break;
}
}
$91 = HEAP32[$10>>2]|0;
$92 = (__gcry_md_setkey($91,$21,$4)|0);
$93 = ($92|0)==(0);
if (!($93)) {
$$0137 = $78;$$0138 = $21;$$0139 = $92;
break L7;
}
$94 = HEAP32[$10>>2]|0;
__gcry_md_write($94,$18,$4);
$95 = HEAP32[$10>>2]|0;
__gcry_md_write($95,73338,1);
$96 = HEAP32[$10>>2]|0;
$97 = (__gcry_md_read($96,0)|0);
_memcpy(($21|0),($97|0),($4|0))|0;
$98 = HEAP32[$10>>2]|0;
$99 = (__gcry_md_setkey($98,$21,$4)|0);
$100 = ($99|0)==(0);
if (!($100)) {
$$0137 = $78;$$0138 = $21;$$0139 = $99;
break L7;
}
$101 = HEAP32[$10>>2]|0;
__gcry_md_write($101,$18,$4);
$102 = HEAP32[$10>>2]|0;
$103 = (__gcry_md_read($102,0)|0);
_memcpy(($18|0),($103|0),($4|0))|0;
$$0136145$us$be = 0;
}
$$0136145$us = $$0136145$us$be;
}
$117 = ($$0140$ph|0)==(0);
if ($117) {
$$0137 = $78;$$0138 = $21;$$0139 = 0;
break L7;
}
$118 = (($$0140$ph) + -1)|0;
$119 = HEAP32[$10>>2]|0;
$120 = (__gcry_md_setkey($119,$21,$4)|0);
$121 = ($120|0)==(0);
if (!($121)) {
$$0137 = $78;$$0138 = $21;$$0139 = $120;
break L7;
}
$122 = HEAP32[$10>>2]|0;
__gcry_md_write($122,$18,$4);
$123 = HEAP32[$10>>2]|0;
__gcry_md_write($123,73338,1);
$124 = HEAP32[$10>>2]|0;
$125 = (__gcry_md_read($124,0)|0);
_memcpy(($21|0),($125|0),($4|0))|0;
$126 = HEAP32[$10>>2]|0;
$127 = (__gcry_md_setkey($126,$21,$4)|0);
$128 = ($127|0)==(0);
if (!($128)) {
$$0137 = $78;$$0138 = $21;$$0139 = $127;
break L7;
}
$129 = HEAP32[$10>>2]|0;
__gcry_md_write($129,$18,$4);
$130 = HEAP32[$10>>2]|0;
$131 = (__gcry_md_read($130,0)|0);
_memcpy(($18|0),($131|0),($4|0))|0;
$$0140$ph = $118;
}
} else {
$$0137 = 0;$$0138 = $21;$$0139 = $72;
}
} else {
$$0137 = 0;$$0138 = $21;$$0139 = $63;
}
} else {
$$0137 = 0;$$0138 = $21;$$0139 = $57;
}
} else {
$$0137 = 0;$$0138 = $21;$$0139 = $46;
}
} else {
$$0137 = 0;$$0138 = $21;$$0139 = $43;
}
} else {
$$0137 = 0;$$0138 = $21;$$0139 = $40;
}
} else {
$$0137 = 0;$$0138 = $21;$$0139 = $26;
}
}
} while(0);
__gcry_free($$0137);
$132 = HEAP32[$10>>2]|0;
__gcry_md_close($132);
$133 = HEAP32[$9>>2]|0;
__gcry_free($133);
$134 = HEAP32[$8>>2]|0;
__gcry_free($134);
__gcry_free($$0138);
__gcry_free($18);
$135 = ($$0139|0)==(0);
$136 = HEAP32[$11>>2]|0;
if ($135) {
HEAP32[$0>>2] = $136;
$$0135 = 0;
STACKTOP = sp;return ($$0135|0);
} else {
__gcry_mpi_free($136);
$$0135 = $$0139;
STACKTOP = sp;return ($$0135|0);
}
return (0)|0;
}
function _int2octets($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = (__gcry_mpi_print(5,0,0,$3,$1)|0);
$5 = ($4|0)==(0);
if (!($5)) {
$$0 = $4;
STACKTOP = sp;return ($$0|0);
}
$6 = HEAP32[$3>>2]|0;
$7 = ($6>>>0)>($2>>>0);
if ($7) {
$$0 = 67;
STACKTOP = sp;return ($$0|0);
}
$8 = ($6>>>0)<($2>>>0);
$9 = (($2) - ($6))|0;
$spec$select = $8 ? $9 : 0;
$10 = (($spec$select) + ($6))|0;
$11 = ($1|0)==(0|0);
if ($11) {
label = 6;
} else {
$12 = ((($1)) + 12|0);
$13 = HEAP32[$12>>2]|0;
$14 = $13 & 1;
$15 = ($14|0)==(0);
if ($15) {
label = 6;
} else {
$16 = (__gcry_malloc_secure($10)|0);
$19 = $16;
}
}
if ((label|0) == 6) {
$17 = (__gcry_malloc($10)|0);
$19 = $17;
}
$18 = ($19|0)==(0|0);
if ($18) {
$20 = (_gpg_err_code_from_syserror()|0);
$$0 = $20;
STACKTOP = sp;return ($$0|0);
}
$21 = ($spec$select|0)==(0);
if (!($21)) {
_memset(($19|0),0,($spec$select|0))|0;
}
$22 = HEAP32[$3>>2]|0;
$23 = (($22) + ($spec$select))|0;
HEAP32[$3>>2] = $23;
$24 = (($19) + ($spec$select)|0);
$25 = (__gcry_mpi_print(5,$24,$22,0,$1)|0);
$26 = ($25|0)==(0);
if ($26) {
HEAP32[$0>>2] = $19;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
} else {
__gcry_free($19);
$$0 = $25;
STACKTOP = sp;return ($$0|0);
}
return (0)|0;
}
function __gcry_dsa_normalize_hash($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp + 4|0;
$4 = sp;
$5 = ($0|0)==(0|0);
if ($5) {
label = 6;
} else {
$6 = ((($0)) + 12|0);
$7 = HEAP32[$6>>2]|0;
$8 = $7 & 4;
$9 = ($8|0)==(0);
if ($9) {
label = 6;
} else {
$10 = (__gcry_mpi_get_opaque($0,$3)|0);
$11 = HEAP32[$3>>2]|0;
$12 = (($11) + 7)|0;
$13 = $12 >>> 3;
$14 = (__gcry_mpi_scan($4,5,$10,$13,0)|0);
$15 = ($14|0)==(0);
if (!($15)) {
$$0 = $14;
STACKTOP = sp;return ($$0|0);
}
$16 = HEAP32[$3>>2]|0;
$17 = ($16>>>0)>($2>>>0);
if ($17) {
$18 = (($16) - ($2))|0;
$19 = HEAP32[$4>>2]|0;
__gcry_mpi_rshift($19,$19,$18);
}
}
}
if ((label|0) == 6) {
HEAP32[$4>>2] = $0;
}
$20 = HEAP32[$4>>2]|0;
HEAP32[$1>>2] = $20;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function __gcry_ecc_ecdsa_sign($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$0 = 0, $$074 = 0, $$175$us = 0, $$276$lcssa77 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0;
var $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp;
$6 = sp + 24|0;
$7 = sp + 12|0;
$8 = sp + 8|0;
$9 = sp + 4|0;
$10 = (__gcry_get_debug_flag(1)|0);
$11 = ($10|0)==(0);
if (!($11)) {
__gcry_log_printmpi(69995,$0);
}
$12 = ((($1)) + 32|0);
$13 = HEAP32[$12>>2]|0;
$14 = (__gcry_mpi_get_nbits($13)|0);
$15 = (__gcry_dsa_normalize_hash($0,$8,$14)|0);
$16 = ($15|0)==(0);
if (!($16)) {
$$0 = $15;
STACKTOP = sp;return ($$0|0);
}
HEAP32[$6>>2] = 0;
$17 = (__gcry_mpi_alloc(0)|0);
$18 = (__gcry_mpi_alloc(0)|0);
$19 = (__gcry_mpi_alloc(0)|0);
$20 = (__gcry_mpi_alloc(0)|0);
__gcry_mpi_point_init($7);
$21 = HEAP32[$1>>2]|0;
$22 = ((($1)) + 4|0);
$23 = HEAP32[$22>>2]|0;
$24 = ((($1)) + 8|0);
$25 = HEAP32[$24>>2]|0;
$26 = ((($1)) + 12|0);
$27 = HEAP32[$26>>2]|0;
$28 = ((($1)) + 16|0);
$29 = HEAP32[$28>>2]|0;
$30 = (__gcry_mpi_ec_p_internal_new($21,$23,0,$25,$27,$29)|0);
$31 = $4 & 2;
$32 = ($31|0)!=(0);
$33 = ($5|0)!=(0);
$or$cond = $32 & $33;
$34 = ($0|0)==(0|0);
$35 = ((($1)) + 20|0);
$36 = ((($0)) + 12|0);
$37 = ((($1)) + 56|0);
$$074 = 0;
L7: while(1) {
if ($or$cond) {
$$175$us = $$074;
while(1) {
$38 = HEAP32[$6>>2]|0;
__gcry_mpi_free($38);
HEAP32[$6>>2] = 0;
if ($34) {
$$3 = 70;
break L7;
}
$39 = HEAP32[$36>>2]|0;
$40 = $39 & 4;
$41 = ($40|0)==(0);
if ($41) {
$$3 = 70;
break L7;
}
$42 = (__gcry_mpi_get_opaque($0,$9)|0);
$43 = HEAP32[$12>>2]|0;
$44 = HEAP32[$37>>2]|0;
$45 = HEAP32[$9>>2]|0;
$46 = (($45) + 7)|0;
$47 = $46 >>> 3;
$48 = (__gcry_dsa_gen_rfc6979_k($6,$43,$44,$42,$47,$5,$$175$us)|0);
$49 = ($48|0)==(0);
if (!($49)) {
$$3 = $48;
break L7;
}
$50 = (($$175$us) + 1)|0;
$51 = HEAP32[$6>>2]|0;
__gcry_mpi_ec_mul_point($7,$51,$35,$30);
$52 = (__gcry_mpi_ec_get_affine($20,0,$7,$30)|0);
$53 = ($52|0)==(0);
if (!($53)) {
label = 14;
break L7;
}
$54 = HEAP32[$12>>2]|0;
__gcry_mpi_mod($2,$20,$54);
$55 = (__gcry_mpi_cmp_ui($2,0)|0);
$56 = ($55|0)==(0);
if ($56) {
$$175$us = $50;
} else {
$$276$lcssa77 = $50;
break;
}
}
} else {
while(1) {
$57 = HEAP32[$6>>2]|0;
__gcry_mpi_free($57);
HEAP32[$6>>2] = 0;
$58 = HEAP32[$12>>2]|0;
$59 = (__gcry_dsa_gen_k($58,1)|0);
HEAP32[$6>>2] = $59;
__gcry_mpi_ec_mul_point($7,$59,$35,$30);
$60 = (__gcry_mpi_ec_get_affine($20,0,$7,$30)|0);
$61 = ($60|0)==(0);
if (!($61)) {
label = 14;
break L7;
}
$64 = HEAP32[$12>>2]|0;
__gcry_mpi_mod($2,$20,$64);
$65 = (__gcry_mpi_cmp_ui($2,0)|0);
$66 = ($65|0)==(0);
if (!($66)) {
$$276$lcssa77 = $$074;
break;
}
}
}
$67 = HEAP32[$37>>2]|0;
$68 = HEAP32[$12>>2]|0;
__gcry_mpi_mulm($17,$67,$2,$68);
$69 = HEAP32[$8>>2]|0;
$70 = HEAP32[$12>>2]|0;
__gcry_mpi_addm($18,$69,$17,$70);
$71 = HEAP32[$6>>2]|0;
$72 = HEAP32[$12>>2]|0;
(__gcry_mpi_invm($19,$71,$72)|0);
$73 = HEAP32[$12>>2]|0;
__gcry_mpi_mulm($3,$19,$18,$73);
$74 = (__gcry_mpi_cmp_ui($3,0)|0);
$75 = ($74|0)==(0);
if ($75) {
$$074 = $$276$lcssa77;
} else {
label = 18;
break;
}
}
if ((label|0) == 14) {
$62 = (__gcry_get_debug_flag(1)|0);
$63 = ($62|0)==(0);
if ($63) {
$$3 = 8;
} else {
__gcry_log_debug(70072,$vararg_buffer);
$$3 = 8;
}
}
else if ((label|0) == 18) {
$76 = (__gcry_get_debug_flag(1)|0);
$77 = ($76|0)==(0);
if ($77) {
$$3 = 0;
} else {
__gcry_log_printmpi(70013,$2);
__gcry_log_printmpi(70034,$3);
$$3 = 0;
}
}
__gcry_mpi_ec_free($30);
__gcry_mpi_point_free_parts($7);
__gcry_mpi_free($20);
__gcry_mpi_free($19);
__gcry_mpi_free($18);
__gcry_mpi_free($17);
$78 = HEAP32[$6>>2]|0;
__gcry_mpi_free($78);
$79 = HEAP32[$8>>2]|0;
$80 = ($79|0)==($0|0);
if ($80) {
$$0 = $$3;
STACKTOP = sp;return ($$0|0);
}
__gcry_mpi_free($79);
$$0 = $$3;
STACKTOP = sp;return ($$0|0);
}
function __gcry_ecc_ecdsa_verify($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$063 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$4 = sp + 48|0;
$5 = sp + 36|0;
$6 = sp + 24|0;
$7 = sp + 12|0;
$8 = (__gcry_mpi_cmp_ui($2,0)|0);
$9 = ($8|0)>(0);
if (!($9)) {
$$0 = 8;
STACKTOP = sp;return ($$0|0);
}
$10 = ((($1)) + 32|0);
$11 = HEAP32[$10>>2]|0;
$12 = (__gcry_mpi_cmp($2,$11)|0);
$13 = ($12|0)<(0);
if (!($13)) {
$$0 = 8;
STACKTOP = sp;return ($$0|0);
}
$14 = (__gcry_mpi_cmp_ui($3,0)|0);
$15 = ($14|0)>(0);
if (!($15)) {
$$0 = 8;
STACKTOP = sp;return ($$0|0);
}
$16 = HEAP32[$10>>2]|0;
$17 = (__gcry_mpi_cmp($3,$16)|0);
$18 = ($17|0)<(0);
if (!($18)) {
$$0 = 8;
STACKTOP = sp;return ($$0|0);
}
$19 = HEAP32[$10>>2]|0;
$20 = (__gcry_mpi_get_nbits($19)|0);
$21 = (__gcry_dsa_normalize_hash($0,$4,$20)|0);
$22 = ($21|0)==(0);
if (!($22)) {
$$0 = $21;
STACKTOP = sp;return ($$0|0);
}
$23 = (__gcry_mpi_alloc(0)|0);
$24 = (__gcry_mpi_alloc(0)|0);
$25 = (__gcry_mpi_alloc(0)|0);
$26 = (__gcry_mpi_alloc(0)|0);
__gcry_mpi_point_init($5);
__gcry_mpi_point_init($6);
__gcry_mpi_point_init($7);
$27 = HEAP32[$1>>2]|0;
$28 = ((($1)) + 4|0);
$29 = HEAP32[$28>>2]|0;
$30 = ((($1)) + 8|0);
$31 = HEAP32[$30>>2]|0;
$32 = ((($1)) + 12|0);
$33 = HEAP32[$32>>2]|0;
$34 = ((($1)) + 16|0);
$35 = HEAP32[$34>>2]|0;
$36 = (__gcry_mpi_ec_p_internal_new($27,$29,0,$31,$33,$35)|0);
$37 = HEAP32[$10>>2]|0;
(__gcry_mpi_invm($23,$3,$37)|0);
$38 = HEAP32[$4>>2]|0;
$39 = HEAP32[$10>>2]|0;
__gcry_mpi_mulm($24,$38,$23,$39);
$40 = ((($1)) + 20|0);
__gcry_mpi_ec_mul_point($6,$24,$40,$36);
$41 = HEAP32[$10>>2]|0;
__gcry_mpi_mulm($25,$2,$23,$41);
$42 = ((($1)) + 44|0);
__gcry_mpi_ec_mul_point($7,$25,$42,$36);
__gcry_mpi_ec_add_points($5,$6,$7,$36);
$43 = ((($5)) + 8|0);
$44 = HEAP32[$43>>2]|0;
$45 = (__gcry_mpi_cmp_ui($44,0)|0);
$46 = ($45|0)==(0);
do {
if ($46) {
$47 = (__gcry_get_debug_flag(1)|0);
$48 = ($47|0)==(0);
if ($48) {
$$063 = 8;
} else {
__gcry_log_debug(70156,$vararg_buffer);
$$063 = 8;
}
} else {
$49 = (__gcry_mpi_ec_get_affine($26,0,$5,$36)|0);
$50 = ($49|0)==(0);
if (!($50)) {
$51 = (__gcry_get_debug_flag(1)|0);
$52 = ($51|0)==(0);
if ($52) {
$$063 = 8;
break;
}
__gcry_log_debug(70178,$vararg_buffer1);
$$063 = 8;
break;
}
$53 = HEAP32[$10>>2]|0;
__gcry_mpi_mod($26,$26,$53);
$54 = (__gcry_mpi_cmp($26,$2)|0);
$55 = ($54|0)==(0);
if ($55) {
$$063 = 0;
} else {
$56 = (__gcry_get_debug_flag(1)|0);
$57 = ($56|0)==(0);
if ($57) {
$$063 = 8;
} else {
__gcry_log_printmpi(70224,$26);
__gcry_log_printmpi(70231,$2);
__gcry_log_printmpi(70238,$3);
$$063 = 8;
}
}
}
} while(0);
__gcry_mpi_ec_free($36);
__gcry_mpi_point_free_parts($7);
__gcry_mpi_point_free_parts($6);
__gcry_mpi_point_free_parts($5);
__gcry_mpi_free($26);
__gcry_mpi_free($25);
__gcry_mpi_free($24);
__gcry_mpi_free($23);
$58 = HEAP32[$4>>2]|0;
$59 = ($58|0)==($0|0);
if ($59) {
$$0 = $$063;
STACKTOP = sp;return ($$0|0);
}
__gcry_mpi_free($58);
$$0 = $$063;
STACKTOP = sp;return ($$0|0);
}
function __gcry_ecc_gost_sign($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$1 = 0, $$177 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp;
$4 = sp + 12|0;
$5 = sp + 8|0;
$6 = sp + 4|0;
$7 = (__gcry_get_debug_flag(1)|0);
$8 = ($7|0)==(0);
if (!($8)) {
__gcry_log_printmpi(70055,$0);
}
$9 = ((($1)) + 32|0);
$10 = HEAP32[$9>>2]|0;
$11 = (__gcry_mpi_get_nbits($10)|0);
$12 = ($0|0)==(0|0);
if ($12) {
label = 8;
} else {
$13 = ((($0)) + 12|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14 & 4;
$16 = ($15|0)==(0);
if ($16) {
label = 8;
} else {
$17 = (__gcry_mpi_get_opaque($0,$6)|0);
$18 = HEAP32[$6>>2]|0;
$19 = (($18) + 7)|0;
$20 = $19 >>> 3;
$21 = (__gcry_mpi_scan($5,5,$17,$20,0)|0);
$22 = ($21|0)==(0);
if (!($22)) {
$$0 = $21;
STACKTOP = sp;return ($$0|0);
}
$23 = HEAP32[$6>>2]|0;
$24 = ($23>>>0)>($11>>>0);
if ($24) {
$25 = (($23) - ($11))|0;
$26 = HEAP32[$5>>2]|0;
__gcry_mpi_rshift($26,$26,$25);
}
}
}
if ((label|0) == 8) {
HEAP32[$5>>2] = $0;
}
$27 = (__gcry_mpi_alloc(0)|0);
$28 = (__gcry_mpi_alloc(0)|0);
$29 = (__gcry_mpi_alloc(0)|0);
$30 = (__gcry_mpi_alloc(0)|0);
$31 = (__gcry_mpi_alloc(0)|0);
__gcry_mpi_point_init($4);
$32 = HEAP32[$1>>2]|0;
$33 = ((($1)) + 4|0);
$34 = HEAP32[$33>>2]|0;
$35 = ((($1)) + 8|0);
$36 = HEAP32[$35>>2]|0;
$37 = ((($1)) + 12|0);
$38 = HEAP32[$37>>2]|0;
$39 = ((($1)) + 16|0);
$40 = HEAP32[$39>>2]|0;
$41 = (__gcry_mpi_ec_p_internal_new($32,$34,0,$36,$38,$40)|0);
$42 = HEAP32[$9>>2]|0;
__gcry_mpi_mod($30,$0,$42);
$43 = (__gcry_mpi_cmp_ui($30,0)|0);
$44 = ($43|0)==(0);
if ($44) {
(__gcry_mpi_set_ui($30,1)|0);
}
$45 = ((($1)) + 20|0);
$46 = ((($1)) + 56|0);
$$177 = 0;
while(1) {
__gcry_mpi_free($$177);
$47 = HEAP32[$9>>2]|0;
$48 = (__gcry_dsa_gen_k($47,1)|0);
__gcry_mpi_ec_mul_point($4,$48,$45,$41);
$49 = (__gcry_mpi_ec_get_affine($31,0,$4,$41)|0);
$50 = ($49|0)==(0);
if (!($50)) {
label = 13;
break;
}
$53 = HEAP32[$9>>2]|0;
__gcry_mpi_mod($2,$31,$53);
$54 = (__gcry_mpi_cmp_ui($2,0)|0);
$55 = ($54|0)==(0);
if (!($55)) {
$56 = HEAP32[$46>>2]|0;
$57 = HEAP32[$9>>2]|0;
__gcry_mpi_mulm($27,$56,$2,$57);
$58 = HEAP32[$9>>2]|0;
__gcry_mpi_mulm($29,$48,$30,$58);
$59 = HEAP32[$9>>2]|0;
__gcry_mpi_addm($3,$29,$27,$59);
$60 = (__gcry_mpi_cmp_ui($3,0)|0);
$61 = ($60|0)==(0);
if (!($61)) {
label = 18;
break;
}
}
$$177 = $48;
}
if ((label|0) == 13) {
$51 = (__gcry_get_debug_flag(1)|0);
$52 = ($51|0)==(0);
if ($52) {
$$1 = 8;
} else {
__gcry_log_debug(70072,$vararg_buffer);
$$1 = 8;
}
}
else if ((label|0) == 18) {
$62 = (__gcry_get_debug_flag(1)|0);
$63 = ($62|0)==(0);
if ($63) {
$$1 = 0;
} else {
__gcry_log_printmpi(70116,$2);
__gcry_log_printmpi(70136,$3);
$$1 = 0;
}
}
__gcry_mpi_ec_free($41);
__gcry_mpi_point_free_parts($4);
__gcry_mpi_free($31);
__gcry_mpi_free($30);
__gcry_mpi_free($29);
__gcry_mpi_free($28);
__gcry_mpi_free($27);
__gcry_mpi_free($48);
$64 = HEAP32[$5>>2]|0;
$65 = ($64|0)==($0|0);
if ($65) {
$$0 = $$1;
STACKTOP = sp;return ($$0|0);
}
__gcry_mpi_free($64);
$$0 = $$1;
STACKTOP = sp;return ($$0|0);
}
function __gcry_ecc_gost_verify($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$074 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0;
var $vararg_buffer5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer5 = sp + 24|0;
$vararg_buffer3 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$4 = sp + 52|0;
$5 = sp + 40|0;
$6 = sp + 28|0;
$7 = (__gcry_mpi_cmp_ui($2,0)|0);
$8 = ($7|0)>(0);
if (!($8)) {
$$0 = 8;
STACKTOP = sp;return ($$0|0);
}
$9 = ((($1)) + 32|0);
$10 = HEAP32[$9>>2]|0;
$11 = (__gcry_mpi_cmp($2,$10)|0);
$12 = ($11|0)<(0);
if (!($12)) {
$$0 = 8;
STACKTOP = sp;return ($$0|0);
}
$13 = (__gcry_mpi_cmp_ui($3,0)|0);
$14 = ($13|0)>(0);
if (!($14)) {
$$0 = 8;
STACKTOP = sp;return ($$0|0);
}
$15 = HEAP32[$9>>2]|0;
$16 = (__gcry_mpi_cmp($3,$15)|0);
$17 = ($16|0)<(0);
if (!($17)) {
$$0 = 8;
STACKTOP = sp;return ($$0|0);
}
$18 = (__gcry_mpi_alloc(0)|0);
$19 = (__gcry_mpi_alloc(0)|0);
$20 = (__gcry_mpi_alloc(0)|0);
$21 = (__gcry_mpi_alloc(0)|0);
$22 = (__gcry_mpi_alloc(0)|0);
$23 = (__gcry_mpi_alloc(0)|0);
$24 = (__gcry_mpi_alloc(0)|0);
__gcry_mpi_point_init($4);
__gcry_mpi_point_init($5);
__gcry_mpi_point_init($6);
$25 = HEAP32[$1>>2]|0;
$26 = ((($1)) + 4|0);
$27 = HEAP32[$26>>2]|0;
$28 = ((($1)) + 8|0);
$29 = HEAP32[$28>>2]|0;
$30 = ((($1)) + 12|0);
$31 = HEAP32[$30>>2]|0;
$32 = ((($1)) + 16|0);
$33 = HEAP32[$32>>2]|0;
$34 = (__gcry_mpi_ec_p_internal_new($25,$27,0,$29,$31,$33)|0);
$35 = HEAP32[$9>>2]|0;
__gcry_mpi_mod($19,$0,$35);
$36 = (__gcry_mpi_cmp_ui($19,0)|0);
$37 = ($36|0)==(0);
if ($37) {
(__gcry_mpi_set_ui($19,1)|0);
}
$38 = HEAP32[$9>>2]|0;
(__gcry_mpi_invm($22,$19,$38)|0);
$39 = HEAP32[$9>>2]|0;
__gcry_mpi_mulm($20,$3,$22,$39);
$40 = HEAP32[$9>>2]|0;
__gcry_mpi_mulm($23,$2,$22,$40);
$41 = HEAP32[$9>>2]|0;
__gcry_mpi_subm($21,$24,$23,$41);
$42 = ((($1)) + 20|0);
__gcry_mpi_ec_mul_point($5,$20,$42,$34);
$43 = ((($1)) + 44|0);
__gcry_mpi_ec_mul_point($6,$21,$43,$34);
__gcry_mpi_ec_add_points($4,$5,$6,$34);
$44 = ((($4)) + 8|0);
$45 = HEAP32[$44>>2]|0;
$46 = (__gcry_mpi_cmp_ui($45,0)|0);
$47 = ($46|0)==(0);
do {
if ($47) {
$48 = (__gcry_get_debug_flag(1)|0);
$49 = ($48|0)==(0);
if ($49) {
$$074 = 8;
} else {
__gcry_log_debug(70156,$vararg_buffer);
$$074 = 8;
}
} else {
$50 = (__gcry_mpi_ec_get_affine($18,0,$4,$34)|0);
$51 = ($50|0)==(0);
if (!($51)) {
$52 = (__gcry_get_debug_flag(1)|0);
$53 = ($52|0)==(0);
if ($53) {
$$074 = 8;
break;
}
__gcry_log_debug(70178,$vararg_buffer1);
$$074 = 8;
break;
}
$54 = HEAP32[$9>>2]|0;
__gcry_mpi_mod($18,$18,$54);
$55 = (__gcry_mpi_cmp($18,$2)|0);
$56 = ($55|0)==(0);
$57 = (__gcry_get_debug_flag(1)|0);
$58 = ($57|0)!=(0);
if ($56) {
if (!($58)) {
$$074 = 0;
break;
}
__gcry_log_debug(70271,$vararg_buffer5);
$$074 = 0;
break;
} else {
if (!($58)) {
$$074 = 8;
break;
}
__gcry_log_printmpi(70224,$18);
__gcry_log_printmpi(70231,$2);
__gcry_log_printmpi(70238,$3);
__gcry_log_debug(70245,$vararg_buffer3);
$$074 = 8;
break;
}
}
} while(0);
__gcry_mpi_ec_free($34);
__gcry_mpi_point_free_parts($6);
__gcry_mpi_point_free_parts($5);
__gcry_mpi_point_free_parts($4);
__gcry_mpi_free($24);
__gcry_mpi_free($23);
__gcry_mpi_free($22);
__gcry_mpi_free($21);
__gcry_mpi_free($20);
__gcry_mpi_free($18);
__gcry_mpi_free($19);
$$0 = $$074;
STACKTOP = sp;return ($$0|0);
}
function _gpg_err_init() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (__gpg_err_init()|0);
return ($0|0);
}
function _gpg_strerror($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gpg_strerror($0)|0);
return ($1|0);
}
function _gpg_err_code_from_errno($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gpg_err_code_from_errno($0)|0);
return ($1|0);
}
function _gpg_err_code_to_errno($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gpg_err_code_to_errno($0)|0);
return ($1|0);
}
function _gpg_err_code_from_syserror() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (__gpg_err_code_from_syserror()|0);
return ($0|0);
}
function _gpg_err_set_errno($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
__gpg_err_set_errno($0);
return;
}
function _gpgrt_lock_init($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gpgrt_lock_init($0)|0);
return ($1|0);
}
function _gpgrt_lock_lock($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gpgrt_lock_lock($0)|0);
return ($1|0);
}
function _gpgrt_lock_unlock($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gpgrt_lock_unlock($0)|0);
return ($1|0);
}
function _gpgrt_lock_destroy($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (__gpgrt_lock_destroy($0)|0);
return ($1|0);
}
function __gpgrt_lock_init($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
switch ($1|0) {
case 0: {
HEAP32[$0>>2] = 1;
break;
}
case 1: {
break;
}
default: {
___assert_fail((70293|0),(70313|0),114,(70326|0));
// unreachable;
}
}
$2 = ((($0)) + 4|0);
$3 = (_pthread_mutex_init(($2|0),(0|0))|0);
$4 = ($3|0)==(0);
if ($4) {
$$0 = 0;
return ($$0|0);
}
$5 = (_gpg_err_code_from_errno($3)|0);
$$0 = $5;
return ($$0|0);
}
function __gpgrt_lock_lock($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = ($1|0)==(1);
if (!($2)) {
___assert_fail((70293|0),(70313|0),114,(70326|0));
// unreachable;
}
$3 = ((($0)) + 4|0);
$4 = (_pthread_mutex_lock(($3|0))|0);
$5 = ($4|0)==(0);
if ($5) {
$$0 = 0;
return ($$0|0);
}
$6 = (_gpg_err_code_from_errno($4)|0);
$$0 = $6;
return ($$0|0);
}
function __gpgrt_lock_unlock($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = ($1|0)==(1);
if (!($2)) {
___assert_fail((70293|0),(70313|0),114,(70326|0));
// unreachable;
}
$3 = ((($0)) + 4|0);
$4 = (_pthread_mutex_unlock(($3|0))|0);
$5 = ($4|0)==(0);
if ($5) {
$$0 = 0;
return ($$0|0);
}
$6 = (_gpg_err_code_from_errno($4)|0);
$$0 = $6;
return ($$0|0);
}
function __gpgrt_lock_destroy($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = ($1|0)==(1);
if (!($2)) {
___assert_fail((70293|0),(70313|0),114,(70326|0));
// unreachable;
}
$3 = ((($0)) + 4|0);
$4 = (_pthread_mutex_destroy(($3|0))|0);
$5 = ($4|0)==(0);
if ($5) {
HEAP32[$0>>2] = 1;
dest=$3; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$$0 = 0;
return ($$0|0);
} else {
$6 = (_gpg_err_code_from_errno($4)|0);
$$0 = $6;
return ($$0|0);
}
return (0)|0;
}
function __gpg_err_init() {
var label = 0, sp = 0;
sp = STACKTOP;
(__gpgrt_es_init()|0);
return 0;
}
function __gpg_err_set_errno($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (___errno_location()|0);
HEAP32[$1>>2] = $0;
return;
}
function __gpgrt_es_init() {
var $0 = 0, $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[18177]|0;
$1 = ($0|0)==(0);
if (!($1)) {
return 0;
}
HEAP32[18177] = 1;
(_atexit((87|0))|0);
return 0;
}
function _do_deinit() {
var label = 0, sp = 0;
sp = STACKTOP;
(__gpgrt_fflush(0)|0);
return;
}
function __gpgrt_fflush($0) {
$0 = $0|0;
var $$0 = 0, $$0$i = 0, $$0$i20 = 0, $$014$lcssa = 0, $$01424 = 0, $$025 = 0, $$1 = 0, $$2 = 0, $$idx = 0, $$idx$val = 0, $$idx15 = 0, $$idx15$val = 0, $$idx16 = 0, $$idx16$val = 0, $$idx17$val = 0, $$pre = 0, $$pre26 = 0, $1 = 0, $10 = 0, $11 = 0;
var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if (!($1)) {
$$idx15 = ((($0)) + 36|0);
$$idx15$val = HEAP32[$$idx15>>2]|0;
$2 = ((($$idx15$val)) + 1148|0);
$3 = HEAP8[$2>>0]|0;
$4 = $3 & 32;
$5 = ($4<<24>>24)==(0);
if ($5) {
$6 = ((($$idx15$val)) + 1040|0);
(__gpgrt_lock_lock($6)|0);
}
$7 = HEAP32[$0>>2]|0;
$8 = $7 & 65536;
$9 = ($8|0)==(0);
if ($9) {
$11 = ((($0)) + 12|0);
HEAP32[$11>>2] = 0;
$12 = ((($0)) + 16|0);
HEAP32[$12>>2] = 0;
$13 = ((($0)) + 32|0);
HEAP32[$13>>2] = 0;
$$0$i = 0;
} else {
$10 = (_es_flush($0)|0);
$$0$i = $10;
}
$$idx17$val = HEAP32[$$idx15>>2]|0;
$14 = ((($$idx17$val)) + 1148|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15 & 32;
$17 = ($16<<24>>24)==(0);
if (!($17)) {
$$2 = $$0$i;
$44 = ($$2|0)!=(0);
$45 = $44 << 31 >> 31;
return ($45|0);
}
$18 = ((($$idx17$val)) + 1040|0);
(__gpgrt_lock_unlock($18)|0);
$$2 = $$0$i;
$44 = ($$2|0)!=(0);
$45 = $44 << 31 >> 31;
return ($45|0);
}
(__gpgrt_lock_lock(40352)|0);
$19 = (0|0)==(0|0);
if ($19) {
$$014$lcssa = 0;
} else {
$$01424 = 0;$$025 = 0;
while(1) {
$20 = ((($$025)) + 4|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($21|0)==(0|0);
if ($22) {
$$1 = $$01424;
} else {
$$idx = ((($21)) + 36|0);
$$idx$val = HEAP32[$$idx>>2]|0;
$23 = ((($$idx$val)) + 1148|0);
$24 = HEAP8[$23>>0]|0;
$25 = $24 & 32;
$26 = ($25<<24>>24)==(0);
if ($26) {
$27 = ((($$idx$val)) + 1040|0);
(__gpgrt_lock_lock($27)|0);
$$pre = HEAP32[$20>>2]|0;
$29 = $$pre;
} else {
$29 = $21;
}
$28 = HEAP32[$29>>2]|0;
$30 = $28 & 65536;
$31 = ($30|0)==(0);
if ($31) {
$33 = ((($29)) + 12|0);
HEAP32[$33>>2] = 0;
$34 = ((($29)) + 16|0);
HEAP32[$34>>2] = 0;
$35 = ((($29)) + 32|0);
HEAP32[$35>>2] = 0;
$$0$i20 = 0;$37 = $29;
} else {
$32 = (_es_flush($29)|0);
$$pre26 = HEAP32[$20>>2]|0;
$$0$i20 = $32;$37 = $$pre26;
}
$36 = $$0$i20 | $$01424;
$$idx16 = ((($37)) + 36|0);
$$idx16$val = HEAP32[$$idx16>>2]|0;
$38 = ((($$idx16$val)) + 1148|0);
$39 = HEAP8[$38>>0]|0;
$40 = $39 & 32;
$41 = ($40<<24>>24)==(0);
if ($41) {
$42 = ((($$idx16$val)) + 1040|0);
(__gpgrt_lock_unlock($42)|0);
$$1 = $36;
} else {
$$1 = $36;
}
}
$$0 = HEAP32[$$025>>2]|0;
$43 = ($$0|0)==(0|0);
if ($43) {
$$014$lcssa = $$1;
break;
} else {
$$01424 = $$1;$$025 = $$0;
}
}
}
(__gpgrt_lock_unlock(40352)|0);
$$2 = $$014$lcssa;
$44 = ($$2|0)!=(0);
$45 = $44 << 31 >> 31;
return ($45|0);
}
function _es_flush($0) {
$0 = $0|0;
var $$ = 0, $$2 = 0, $$446 = 0, $$448 = 0, $$63 = 0, $$lcssa = 0, $$pre = 0, $$pre54$pre = 0, $$pre55 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 36|0);
$2 = HEAP32[$1>>2]|0;
$3 = ((($2)) + 1116|0);
$4 = HEAP32[$3>>2]|0;
$5 = HEAP32[$0>>2]|0;
$6 = $5 & 65536;
$7 = ($6|0)==(0);
if ($7) {
___assert_fail((70342|0),(70364|0),1654,(70374|0));
// unreachable;
}
$8 = ((($0)) + 16|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0);
if ($10) {
$$446 = 0;
return ($$446|0);
}
$11 = ($4|0)==(0|0);
do {
if ($11) {
$$448 = 95;$54 = $2;
} else {
$12 = ($9|0)>(0);
if (!($12)) {
$$446 = 0;
return ($$446|0);
}
$13 = ((($0)) + 4|0);
$14 = ((($2)) + 1084|0);
$15 = HEAP32[$14>>2]|0;
$16 = HEAP32[$13>>2]|0;
$17 = (FUNCTION_TABLE_iiii[$4 & 127]($15,$16,$9)|0);
$18 = ($17|0)==(-1);
$$63 = $18 ? 0 : $17;
L12: do {
if ($18) {
$$lcssa = $$63;
label = 10;
} else {
$21 = $$63;
while(1) {
$19 = HEAP32[$8>>2]|0;
$20 = (($19) - ($21))|0;
$22 = ($20|0)>(0);
if (!($22)) {
$$2 = 0;$33 = $21;$35 = $19;
break L12;
}
$$pre = HEAP32[$1>>2]|0;
$23 = ((($$pre)) + 1084|0);
$24 = HEAP32[$23>>2]|0;
$25 = HEAP32[$13>>2]|0;
$26 = (($25) + ($21)|0);
$27 = (FUNCTION_TABLE_iiii[$4 & 127]($24,$26,$20)|0);
$28 = ($27|0)==(-1);
$$ = $28 ? 0 : $27;
$29 = (($$) + ($21))|0;
if ($28) {
$$lcssa = $29;
label = 10;
break;
} else {
$21 = $29;
}
}
}
} while(0);
if ((label|0) == 10) {
$$pre54$pre = HEAP32[$8>>2]|0;
$$2 = -1;$33 = $$lcssa;$35 = $$pre54$pre;
}
$30 = ((($0)) + 20|0);
$31 = HEAP32[$30>>2]|0;
$32 = (($31) + ($33))|0;
HEAP32[$30>>2] = $32;
$34 = ($35|0)==($33|0);
if ($34) {
$36 = HEAP32[$1>>2]|0;
$37 = ((($36)) + 1104|0);
$38 = $37;
$39 = $38;
$40 = HEAP32[$39>>2]|0;
$41 = (($38) + 4)|0;
$42 = $41;
$43 = HEAP32[$42>>2]|0;
$44 = (_i64Add(($40|0),($43|0),($35|0),0)|0);
$45 = tempRet0;
$46 = $37;
$47 = $46;
HEAP32[$47>>2] = $44;
$48 = (($46) + 4)|0;
$49 = $48;
HEAP32[$49>>2] = $45;
HEAP32[$8>>2] = 0;
HEAP32[$30>>2] = 0;
$50 = ((($36)) + 1084|0);
$51 = HEAP32[$50>>2]|0;
(FUNCTION_TABLE_iiii[$4 & 127]($51,0,0)|0);
}
$52 = ($$2|0)==(0);
if ($52) {
$$446 = 0;
return ($$446|0);
} else {
$$pre55 = HEAP32[$1>>2]|0;
$$448 = -1;$54 = $$pre55;
break;
}
}
} while(0);
$53 = ((($54)) + 1144|0);
$55 = HEAP8[$53>>0]|0;
$56 = $55 | 1;
HEAP8[$53>>0] = $56;
$$446 = $$448;
return ($$446|0);
}
function __gpg_strerror($0) {
$0 = $0|0;
var $$1 = 0, $$1121417202326293235384143454850 = 0, $$off$i = 0, $$off64$i = 0, $$off65$i = 0, $$off66$i = 0, $$off67$i = 0, $$off68$i = 0, $$off69$i = 0, $$off70$i = 0, $$off71$i = 0, $$off75$i = 0, $$off77$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = $0 & 65535;
$2 = $0 & 32768;
$3 = ($2|0)==(0);
L1: do {
if ($3) {
$7 = ($1>>>0)<(214);
if ($7) {
$38 = $1;
} else {
$$off$i = (($1) + -222)|0;
$8 = ($$off$i>>>0)<(33);
if ($8) {
$9 = (($1) + -8)|0;
$38 = $9;
break;
}
$$off64$i = (($1) + -257)|0;
$10 = ($$off64$i>>>0)<(15);
if ($10) {
$11 = (($1) + -10)|0;
$38 = $11;
break;
}
$$off65$i = (($1) + -273)|0;
$12 = ($$off65$i>>>0)<(9);
if ($12) {
$13 = (($1) + -11)|0;
$38 = $13;
break;
}
$$off66$i = (($1) + -721)|0;
$14 = ($$off66$i>>>0)<(9);
if ($14) {
$15 = (($1) + -450)|0;
$38 = $15;
break;
}
$$off67$i = (($1) + -750)|0;
$16 = ($$off67$i>>>0)<(3);
if ($16) {
$17 = (($1) + -470)|0;
$38 = $17;
break;
}
$$off68$i = (($1) + -754)|0;
$18 = ($$off68$i>>>0)<(29);
if ($18) {
$19 = (($1) + -471)|0;
$38 = $19;
break;
}
$$off69$i = (($1) + -784)|0;
$20 = ($$off69$i>>>0)<(6);
if ($20) {
$21 = (($1) + -472)|0;
$38 = $21;
break;
}
$$off70$i = (($1) + -800)|0;
$22 = ($$off70$i>>>0)<(5);
if ($22) {
$23 = (($1) + -482)|0;
$38 = $23;
break;
}
$$off71$i = (($1) + -815)|0;
$24 = ($$off71$i>>>0)<(8);
if ($24) {
$25 = (($1) + -492)|0;
$38 = $25;
break;
}
$26 = $0 & 65528;
$27 = ($26|0)==(832);
if ($27) {
$28 = (($1) + -501)|0;
$38 = $28;
break;
}
$trunc = $0&65535;
switch ($trunc<<16>>16) {
case 844: {
$38 = 339;
break L1;
break;
}
case 848: {
$38 = 340;
break L1;
break;
}
default: {
}
}
$$off75$i = (($1) + -881)|0;
$29 = ($$off75$i>>>0)<(11);
if ($29) {
$30 = (($1) + -540)|0;
$38 = $30;
break;
}
$31 = $0 & 65520;
$32 = ($31|0)==(1024);
if ($32) {
$33 = (($1) + -672)|0;
$38 = $33;
} else {
$$1121417202326293235384143454850 = $1;
label = 31;
}
}
} else {
$4 = (_gpg_err_code_to_errno($1)|0);
$5 = ($4|0)==(0);
if ($5) {
$$1121417202326293235384143454850 = 16382;
label = 31;
} else {
$6 = (_strerror($4)|0);
$$1 = $6;
return ($$1|0);
}
}
} while(0);
if ((label|0) == 31) {
$$off77$i = (($$1121417202326293235384143454850) + -16381)|0;
$34 = ($$off77$i>>>0)<(3);
$35 = (($$1121417202326293235384143454850) + -16013)|0;
$36 = $34 ? $35 : 371;
$38 = $36;
}
$37 = (16880 + ($38<<2)|0);
$39 = HEAP32[$37>>2]|0;
$40 = (18368 + ($39)|0);
$$1 = $40;
return ($$1|0);
}
function __gpg_err_code_to_errno($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = $0 & 32768;
$2 = ($1|0)==(0);
if ($2) {
$$0 = 0;
} else {
$3 = $0 & -32769;
$4 = ($3>>>0)<(141);
if ($4) {
$5 = (26384 + ($3<<2)|0);
$6 = HEAP32[$5>>2]|0;
$$0 = $6;
} else {
$$0 = 0;
}
}
return ($$0|0);
}
function __gpg_err_code_from_errno($0) {
$0 = $0|0;
var $$0 = 0, $$off = 0, $$off29 = 0, $$off30 = 0, $$off31 = 0, $$off32 = 0, $$off33 = 0, $$ph$pn = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0);
if ($1) {
$$0 = 0;
return ($$0|0);
}
$$off = (($0) + -1)|0;
$2 = ($$off>>>0)<(11);
do {
if ($2) {
$$ph$pn = $$off;
} else {
$$off29 = (($0) + -11)|0;
$3 = ($$off29>>>0)<(25);
if ($3) {
$$ph$pn = $0;
} else {
$$off30 = (($0) + -35)|0;
$4 = ($$off30>>>0)<(6);
if ($4) {
$5 = (($0) + 1)|0;
$$ph$pn = $5;
break;
}
$$off31 = (($0) + -42)|0;
$6 = ($$off31>>>0)<(16);
if ($6) {
$$ph$pn = $0;
} else {
$$off32 = (($0) + -59)|0;
$7 = ($$off32>>>0)<(37);
$$off33 = (($0) + -95)|0;
$8 = ($$off33>>>0)<(31);
$9 = $8 ? $0 : -1;
$spec$select = $7 ? $$off : $9;
$10 = ($spec$select|0)<(0);
if ($10) {
$$0 = 16382;
return ($$0|0);
} else {
$$ph$pn = $spec$select;
}
}
}
}
} while(0);
$11 = (26960 + ($$ph$pn<<2)|0);
$12 = HEAP32[$11>>2]|0;
$13 = $12 | 32768;
$$0 = $13;
return ($$0|0);
}
function __gpg_err_code_from_syserror() {
var $$0 = 0, $$off = 0, $$off31 = 0, $$off32 = 0, $$off33 = 0, $$off34 = 0, $$off35 = 0, $$ph$pn = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (___errno_location()|0);
$1 = HEAP32[$0>>2]|0;
$2 = ($1|0)==(0);
if ($2) {
$$0 = 16381;
return ($$0|0);
}
$$off = (($1) + -1)|0;
$3 = ($$off>>>0)<(11);
do {
if ($3) {
$$ph$pn = $$off;
} else {
$$off31 = (($1) + -11)|0;
$4 = ($$off31>>>0)<(25);
if ($4) {
$$ph$pn = $1;
} else {
$$off32 = (($1) + -35)|0;
$5 = ($$off32>>>0)<(6);
if ($5) {
$6 = (($1) + 1)|0;
$$ph$pn = $6;
break;
}
$$off33 = (($1) + -42)|0;
$7 = ($$off33>>>0)<(16);
if ($7) {
$$ph$pn = $1;
} else {
$$off34 = (($1) + -59)|0;
$8 = ($$off34>>>0)<(37);
$$off35 = (($1) + -95)|0;
$9 = ($$off35>>>0)<(31);
$10 = $9 ? $1 : -1;
$spec$select = $8 ? $$off : $10;
$11 = ($spec$select|0)<(0);
if ($11) {
$$0 = 16382;
return ($$0|0);
} else {
$$ph$pn = $spec$select;
}
}
}
}
} while(0);
$12 = (26960 + ($$ph$pn<<2)|0);
$13 = HEAP32[$12>>2]|0;
$14 = $13 | 32768;
$$0 = $14;
return ($$0|0);
}
function _TALER_amount_hton($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0;
var sp = 0, src = 0, stop = 0;
sp = STACKTOP;
$2 = $1;
$3 = $2;
$4 = HEAP32[$3>>2]|0;
$5 = (($2) + 4)|0;
$6 = $5;
$7 = HEAP32[$6>>2]|0;
$8 = (_GNUNET_htonll($4,$7)|0);
$9 = tempRet0;
$10 = $0;
$11 = $10;
HEAP8[$11>>0]=$8&255;HEAP8[$11+1>>0]=($8>>8)&255;HEAP8[$11+2>>0]=($8>>16)&255;HEAP8[$11+3>>0]=$8>>24;
$12 = (($10) + 4)|0;
$13 = $12;
HEAP8[$13>>0]=$9&255;HEAP8[$13+1>>0]=($9>>8)&255;HEAP8[$13+2>>0]=($9>>16)&255;HEAP8[$13+3>>0]=$9>>24;
$14 = ((($1)) + 8|0);
$15 = HEAP32[$14>>2]|0;
$16 = (_htonl($15)|0);
$17 = ((($0)) + 8|0);
HEAP8[$17>>0]=$16&255;HEAP8[$17+1>>0]=($16>>8)&255;HEAP8[$17+2>>0]=($16>>16)&255;HEAP8[$17+3>>0]=$16>>24;
$18 = ((($0)) + 12|0);
$19 = ((($1)) + 12|0);
dest=$18; src=$19; stop=dest+12|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
return;
}
function _TALER_amount_ntoh($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0;
var sp = 0, src = 0, stop = 0;
sp = STACKTOP;
$2 = $1;
$3 = $2;
$4 = HEAPU8[$3>>0]|(HEAPU8[$3+1>>0]<<8)|(HEAPU8[$3+2>>0]<<16)|(HEAPU8[$3+3>>0]<<24);
$5 = (($2) + 4)|0;
$6 = $5;
$7 = HEAPU8[$6>>0]|(HEAPU8[$6+1>>0]<<8)|(HEAPU8[$6+2>>0]<<16)|(HEAPU8[$6+3>>0]<<24);
$8 = (_GNUNET_ntohll($4,$7)|0);
$9 = tempRet0;
$10 = $0;
$11 = $10;
HEAP32[$11>>2] = $8;
$12 = (($10) + 4)|0;
$13 = $12;
HEAP32[$13>>2] = $9;
$14 = ((($1)) + 8|0);
$15 = HEAPU8[$14>>0]|(HEAPU8[$14+1>>0]<<8)|(HEAPU8[$14+2>>0]<<16)|(HEAPU8[$14+3>>0]<<24);
$16 = (_ntohl($15)|0);
$17 = ((($0)) + 8|0);
HEAP32[$17>>2] = $16;
$18 = ((($0)) + 12|0);
$19 = ((($1)) + 12|0);
dest=$18; src=$19; stop=dest+12|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
return;
}
function _TALER_amount_get_zero($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_strlen($0)|0);
$3 = ($2>>>0)>(11);
if ($3) {
$$0 = -1;
return ($$0|0);
}
;HEAP32[$1>>2]=0|0;HEAP32[$1+4>>2]=0|0;HEAP32[$1+8>>2]=0|0;HEAP32[$1+12>>2]=0|0;HEAP32[$1+16>>2]=0|0;HEAP32[$1+20>>2]=0|0;
$4 = ((($1)) + 12|0);
_memcpy(($4|0),($0|0),($2|0))|0;
$$0 = 1;
return ($$0|0);
}
function _TALER_amount_cmp($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$65 = 0, $$66 = 0, $$idx$i = 0, $$idx$val$i = 0, $$idx4$i = 0, $$idx4$val$i = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx80 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$2 = 0, $$sroa$796$0 = 0, $$sroa$796$0$$sroa_idx97 = 0, $$sroa$796$0$copyload = 0, $$sroa$796$1 = 0, $$sroa$796$2$ph = 0, $10 = 0, $11 = 0, $12 = 0;
var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0;
var $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer6 = sp + 16|0;
$vararg_buffer2 = sp + 8|0;
$vararg_buffer = sp;
$$idx4$i = ((($0)) + 12|0);
$$idx4$val$i = HEAP8[$$idx4$i>>0]|0;
$2 = ($$idx4$val$i<<24>>24)==(0);
if (!($2)) {
$$idx$i = ((($1)) + 12|0);
$$idx$val$i = HEAP8[$$idx$i>>0]|0;
$3 = ($$idx$val$i<<24>>24)==(0);
if (!($3)) {
$4 = (_strcasecmp($$idx4$i,$$idx$i)|0);
$5 = ($4|0)==(0);
if ($5) {
$13 = $0;
$14 = $13;
$15 = HEAP32[$14>>2]|0;
$16 = (($13) + 4)|0;
$17 = $16;
$18 = HEAP32[$17>>2]|0;
$$sroa$796$0$$sroa_idx97 = ((($0)) + 8|0);
$$sroa$796$0$copyload = HEAP32[$$sroa$796$0$$sroa_idx97>>2]|0;
$19 = $1;
$20 = $19;
$21 = HEAP32[$20>>2]|0;
$22 = (($19) + 4)|0;
$23 = $22;
$24 = HEAP32[$23>>2]|0;
$$sroa$7$0$$sroa_idx80 = ((($1)) + 8|0);
$$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx80>>2]|0;
$25 = ($15|0)==(-1);
$26 = ($18|0)==(-1);
$27 = $25 & $26;
L5: do {
if ($27) {
$$sroa$796$1 = $$sroa$796$0$copyload;
label = 15;
} else {
$$sroa$796$0 = $$sroa$796$0$copyload;$30 = $15;$31 = $18;
while(1) {
$28 = ($$sroa$796$0>>>0)>(99999999);
if (!($28)) {
$$sroa$796$2$ph = $$sroa$796$0;$66 = $30;$69 = $31;
break L5;
}
$29 = (($$sroa$796$0) + -100000000)|0;
$32 = (_i64Add(($30|0),($31|0),1,0)|0);
$33 = tempRet0;
$34 = ($32|0)==(-1);
$35 = ($33|0)==(-1);
$36 = $34 & $35;
if ($36) {
$$sroa$796$1 = $29;
label = 15;
break;
} else {
$$sroa$796$0 = $29;$30 = $32;$31 = $33;
}
}
}
} while(0);
if ((label|0) == 15) {
$37 = ($$sroa$796$1>>>0)>(99999999);
if ($37) {
$38 = HEAP32[10100]|0;
$39 = ($38|0)==(-1);
if ($39) {
$40 = (_GNUNET_get_log_call_status(1,0,70383,70392,353)|0);
HEAP32[10100] = $40;
}
$41 = (_GNUNET_get_log_skip()|0);
$42 = ($41|0)>(0);
if ($42) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$43 = HEAP32[10100]|0;
$44 = ($43|0)==(0);
if ($44) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 70383;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 353;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
} else {
$$sroa$796$2$ph = $$sroa$796$1;$66 = -1;$69 = -1;
}
}
$45 = ($21|0)==(-1);
$46 = ($24|0)==(-1);
$47 = $45 & $46;
L25: do {
if ($47) {
$$sroa$7$1 = $$sroa$7$0$copyload;
label = 27;
} else {
$$sroa$7$0 = $$sroa$7$0$copyload;$50 = $21;$51 = $24;
while(1) {
$48 = ($$sroa$7$0>>>0)>(99999999);
if (!($48)) {
$$sroa$7$2 = $$sroa$7$0;$67 = $50;$70 = $51;
break L25;
}
$49 = (($$sroa$7$0) + -100000000)|0;
$52 = (_i64Add(($50|0),($51|0),1,0)|0);
$53 = tempRet0;
$54 = ($52|0)==(-1);
$55 = ($53|0)==(-1);
$56 = $54 & $55;
if ($56) {
$$sroa$7$1 = $49;
label = 27;
break;
} else {
$$sroa$7$0 = $49;$50 = $52;$51 = $53;
}
}
}
} while(0);
if ((label|0) == 27) {
$57 = ($$sroa$7$1>>>0)>(99999999);
if ($57) {
$58 = HEAP32[10101]|0;
$59 = ($58|0)==(-1);
if ($59) {
$60 = (_GNUNET_get_log_call_status(1,0,70383,70392,355)|0);
HEAP32[10101] = $60;
}
$61 = (_GNUNET_get_log_skip()|0);
$62 = ($61|0)>(0);
if ($62) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$63 = HEAP32[10101]|0;
$64 = ($63|0)==(0);
if ($64) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer6>>2] = 70383;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = 355;
_GNUNET_log_nocheck(1,70521,$vararg_buffer6);
_GNUNET_abort_();
// unreachable;
} else {
$$sroa$7$2 = $$sroa$7$1;$67 = -1;$70 = -1;
}
}
$65 = ($66|0)==($67|0);
$68 = ($69|0)==($70|0);
$71 = $65 & $68;
if ($71) {
$72 = ($$sroa$796$2$ph>>>0)<($$sroa$7$2>>>0);
$73 = ($$sroa$796$2$ph>>>0)>($$sroa$7$2>>>0);
$$65 = $73&1;
$spec$select = $72 ? -1 : $$65;
$$0 = $spec$select;
STACKTOP = sp;return ($$0|0);
} else {
$74 = ($69>>>0)<($70>>>0);
$75 = ($66>>>0)<($67>>>0);
$76 = ($69|0)==($70|0);
$77 = $76 & $75;
$78 = $74 | $77;
$$66 = $78 ? -1 : 1;
$$0 = $$66;
STACKTOP = sp;return ($$0|0);
}
}
}
}
$6 = HEAP32[10099]|0;
$7 = ($6|0)==(-1);
if ($7) {
$8 = (_GNUNET_get_log_call_status(1,0,70383,70392,349)|0);
HEAP32[10099] = $8;
}
$9 = (_GNUNET_get_log_skip()|0);
$10 = ($9|0)>(0);
if ($10) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$11 = HEAP32[10099]|0;
$12 = ($11|0)==(0);
if ($12) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 70383;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 349;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
return (0)|0;
}
function _TALER_amount_normalize($0) {
$0 = $0|0;
var $$0$lcssa = 0, $$08 = 0, $$09 = 0, $$idx = 0, $$idx$val = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$$idx = ((($0)) + 12|0);
$$idx$val = HEAP8[$$idx>>0]|0;
$1 = ($$idx$val<<24>>24)==(0);
if ($1) {
$$08 = -1;
return ($$08|0);
}
$2 = ((($0)) + 8|0);
$3 = $0;
$4 = $3;
$5 = HEAP32[$4>>2]|0;
$6 = (($3) + 4)|0;
$7 = $6;
$8 = HEAP32[$7>>2]|0;
$9 = ($5|0)==(-1);
$10 = ($8|0)==(-1);
$11 = $9 & $10;
$12 = HEAP32[$2>>2]|0;
L4: do {
if ($11) {
$$0$lcssa = 0;$28 = $12;
} else {
$$09 = 0;$14 = $12;$16 = $5;$17 = $8;
while(1) {
$13 = ($14>>>0)>(99999999);
if (!($13)) {
$$08 = $$09;
break;
}
$15 = (($14) + -100000000)|0;
HEAP32[$2>>2] = $15;
$18 = (_i64Add(($16|0),($17|0),1,0)|0);
$19 = tempRet0;
$20 = $0;
$21 = $20;
HEAP32[$21>>2] = $18;
$22 = (($20) + 4)|0;
$23 = $22;
HEAP32[$23>>2] = $19;
$24 = ($18|0)==(-1);
$25 = ($19|0)==(-1);
$26 = $24 & $25;
if ($26) {
$$0$lcssa = 1;$28 = $15;
break L4;
} else {
$$09 = 1;$14 = $15;$16 = $18;$17 = $19;
}
}
return ($$08|0);
}
} while(0);
$27 = ($28>>>0)>(99999999);
if (!($27)) {
$$08 = $$0$lcssa;
return ($$08|0);
}
;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
$$08 = -1;
return ($$08|0);
}
function _TALER_amount_subtract($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$idx$i = 0, $$idx$i75 = 0, $$idx$val$i = 0, $$idx$val$i76 = 0, $$idx4$i = 0, $$idx4$val$i = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx90 = 0, $$sroa$8$0$copyload = 0, $$sroa$8$1 = 0, $$sroa$8$2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0;
var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
var $98 = 0, $99 = 0, $not$or$cond = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer2 = sp + 32|0;
$vararg_buffer = sp + 24|0;
$3 = sp;
$$idx4$i = ((($1)) + 12|0);
$$idx4$val$i = HEAP8[$$idx4$i>>0]|0;
$4 = ($$idx4$val$i<<24>>24)==(0);
if (!($4)) {
$$idx$i = ((($2)) + 12|0);
$$idx$val$i = HEAP8[$$idx$i>>0]|0;
$5 = ($$idx$val$i<<24>>24)==(0);
if (!($5)) {
$6 = (_strcasecmp($$idx4$i,$$idx$i)|0);
$7 = ($6|0)==(0);
if ($7) {
;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$3+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$3+20>>2]=HEAP32[$1+20>>2]|0;
$8 = $2;
$9 = $8;
$10 = HEAP32[$9>>2]|0;
$11 = (($8) + 4)|0;
$12 = $11;
$13 = HEAP32[$12>>2]|0;
$$sroa$8$0$$sroa_idx90 = ((($2)) + 8|0);
$$sroa$8$0$copyload = HEAP32[$$sroa$8$0$$sroa_idx90>>2]|0;
$$idx$i75 = ((($3)) + 12|0);
$$idx$val$i76 = HEAP8[$$idx$i75>>0]|0;
$14 = ($$idx$val$i76<<24>>24)==(0);
do {
if (!($14)) {
$15 = ((($3)) + 8|0);
$16 = $3;
$17 = $16;
$18 = HEAP32[$17>>2]|0;
$19 = (($16) + 4)|0;
$20 = $19;
$21 = HEAP32[$20>>2]|0;
$22 = ($18|0)==(-1);
$23 = ($21|0)==(-1);
$24 = $22 & $23;
$25 = HEAP32[$15>>2]|0;
do {
if ($24) {
$41 = $25;
label = 11;
} else {
$27 = $25;$29 = $18;$30 = $21;
while(1) {
$26 = ($27>>>0)>(99999999);
if (!($26)) {
label = 13;
break;
}
$28 = (($27) + -100000000)|0;
$31 = (_i64Add(($29|0),($30|0),1,0)|0);
$32 = tempRet0;
$33 = ($31|0)==(-1);
$34 = ($32|0)==(-1);
$35 = $33 & $34;
if ($35) {
label = 10;
break;
} else {
$27 = $28;$29 = $31;$30 = $32;
}
}
if ((label|0) == 10) {
HEAP32[$15>>2] = $28;
$36 = $3;
$37 = $36;
HEAP32[$37>>2] = -1;
$38 = (($36) + 4)|0;
$39 = $38;
HEAP32[$39>>2] = -1;
$41 = $28;
label = 11;
break;
}
else if ((label|0) == 13) {
HEAP32[$15>>2] = $27;
$42 = $3;
$43 = $42;
HEAP32[$43>>2] = $29;
$44 = (($42) + 4)|0;
$45 = $44;
HEAP32[$45>>2] = $30;
$60 = $27;$62 = $29;$64 = $30;
break;
}
}
} while(0);
if ((label|0) == 11) {
$40 = ($41>>>0)>(99999999);
if ($40) {
;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;HEAP32[$3+16>>2]=0|0;HEAP32[$3+20>>2]=0|0;
break;
} else {
$60 = $41;$62 = -1;$64 = -1;
}
}
$46 = ($10|0)==(-1);
$47 = ($13|0)==(-1);
$48 = $46 & $47;
L19: do {
if ($48) {
$$sroa$8$1 = $$sroa$8$0$copyload;
label = 18;
} else {
$$sroa$8$0 = $$sroa$8$0$copyload;$51 = $10;$52 = $13;
while(1) {
$49 = ($$sroa$8$0>>>0)>(99999999);
if (!($49)) {
$$sroa$8$2 = $$sroa$8$0;$75 = $52;$78 = $51;
break L19;
}
$50 = (($$sroa$8$0) + -100000000)|0;
$53 = (_i64Add(($51|0),($52|0),1,0)|0);
$54 = tempRet0;
$55 = ($53|0)==(-1);
$56 = ($54|0)==(-1);
$57 = $55 & $56;
if ($57) {
$$sroa$8$1 = $50;
label = 18;
break;
} else {
$$sroa$8$0 = $50;$51 = $53;$52 = $54;
}
}
}
} while(0);
if ((label|0) == 18) {
$58 = ($$sroa$8$1>>>0)>(99999999);
if ($58) {
break;
} else {
$$sroa$8$2 = $$sroa$8$1;$75 = -1;$78 = -1;
}
}
$59 = ($60>>>0)<($$sroa$8$2>>>0);
do {
if ($59) {
$61 = ($62|0)==(0);
$63 = ($64|0)==(0);
$65 = $61 & $63;
if (!($65)) {
$66 = (($60) + 100000000)|0;
HEAP32[$15>>2] = $66;
$67 = (_i64Add(($62|0),($64|0),-1,-1)|0);
$68 = tempRet0;
$69 = $3;
$70 = $69;
HEAP32[$70>>2] = $67;
$71 = (($69) + 4)|0;
$72 = $71;
HEAP32[$72>>2] = $68;
$74 = $68;$77 = $67;$93 = $66;
break;
}
;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
$$0 = -1;
STACKTOP = sp;return ($$0|0);
} else {
$74 = $64;$77 = $62;$93 = $60;
}
} while(0);
$73 = ($74>>>0)<($75>>>0);
$76 = ($77>>>0)<($78>>>0);
$79 = ($74|0)==($75|0);
$80 = $79 & $76;
$81 = $73 | $80;
if ($81) {
;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$82 = (_strlen($$idx$i75)|0);
$83 = ($82>>>0)>(11);
if ($83) {
$84 = HEAP32[10102]|0;
$85 = ($84|0)==(-1);
if ($85) {
$86 = (_GNUNET_get_log_call_status(1,0,70383,70409,421)|0);
HEAP32[10102] = $86;
}
$87 = (_GNUNET_get_log_skip()|0);
$88 = ($87|0)>(0);
if ($88) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$89 = HEAP32[10102]|0;
$90 = ($89|0)==(0);
if ($90) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 70383;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 421;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
$91 = ((($0)) + 12|0);
_memcpy(($91|0),($$idx$i75|0),($82|0))|0;
$92 = ($93>>>0)<($$sroa$8$2>>>0);
if (!($92)) {
$101 = (($93) - ($$sroa$8$2))|0;
$102 = ((($0)) + 8|0);
HEAP32[$102>>2] = $101;
$103 = (_i64Subtract(($77|0),($74|0),($78|0),($75|0))|0);
$104 = tempRet0;
$105 = $0;
$106 = $105;
HEAP32[$106>>2] = $103;
$107 = (($105) + 4)|0;
$108 = $107;
HEAP32[$108>>2] = $104;
$109 = ($101|0)!=(0);
$110 = ($103|0)!=(0);
$111 = ($104|0)!=(0);
$112 = $110 | $111;
$not$or$cond = $112 | $109;
$spec$select = $not$or$cond&1;
$$0 = $spec$select;
STACKTOP = sp;return ($$0|0);
}
$94 = HEAP32[10103]|0;
$95 = ($94|0)==(-1);
if ($95) {
$96 = (_GNUNET_get_log_call_status(1,0,70383,70409,422)|0);
HEAP32[10103] = $96;
}
$97 = (_GNUNET_get_log_skip()|0);
$98 = ($97|0)>(0);
if ($98) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$99 = HEAP32[10103]|0;
$100 = ($99|0)==(0);
if ($100) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer2>>2] = 70383;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 422;
_GNUNET_log_nocheck(1,70521,$vararg_buffer2);
_GNUNET_abort_();
// unreachable;
}
} while(0);
;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
}
}
;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
function _TALER_amount_add($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$idx$i = 0, $$idx$val$i = 0, $$idx4$i = 0, $$idx4$val$i = 0, $$sroa$11 = 0, $$sroa$11$0$$sroa$11$12$$idx$val$i29 = 0, $$sroa$11$0$$sroa_idx = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx72 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$2 = 0, $$sroa$788$0 = 0, $$sroa$788$0$$sroa_idx90 = 0, $$sroa$788$0$copyload = 0, $$sroa$788$1 = 0, $$sroa$788$2$ph = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx51 = 0;
var $$sroa$8$1 = 0, $$sroa$8$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp;
$$sroa$11 = sp + 8|0;
$$idx4$i = ((($1)) + 12|0);
$$idx4$val$i = HEAP8[$$idx4$i>>0]|0;
$3 = ($$idx4$val$i<<24>>24)==(0);
if (!($3)) {
$$idx$i = ((($2)) + 12|0);
$$idx$val$i = HEAP8[$$idx$i>>0]|0;
$4 = ($$idx$val$i<<24>>24)==(0);
if (!($4)) {
$5 = (_strcasecmp($$idx4$i,$$idx$i)|0);
$6 = ($5|0)==(0);
if ($6) {
$7 = $1;
$8 = $7;
$9 = HEAP32[$8>>2]|0;
$10 = (($7) + 4)|0;
$11 = $10;
$12 = HEAP32[$11>>2]|0;
$$sroa$788$0$$sroa_idx90 = ((($1)) + 8|0);
$$sroa$788$0$copyload = HEAP32[$$sroa$788$0$$sroa_idx90>>2]|0;
$13 = $2;
$14 = $13;
$15 = HEAP32[$14>>2]|0;
$16 = (($13) + 4)|0;
$17 = $16;
$18 = HEAP32[$17>>2]|0;
$$sroa$7$0$$sroa_idx72 = ((($2)) + 8|0);
$$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx72>>2]|0;
$19 = ($9|0)==(-1);
$20 = ($12|0)==(-1);
$21 = $19 & $20;
L5: do {
if ($21) {
$$sroa$788$1 = $$sroa$788$0$copyload;
label = 9;
} else {
$$sroa$788$0 = $$sroa$788$0$copyload;$24 = $9;$25 = $12;
while(1) {
$22 = ($$sroa$788$0>>>0)>(99999999);
if (!($22)) {
$$sroa$788$2$ph = $$sroa$788$0;$58 = $24;$59 = $25;
label = 10;
break L5;
}
$23 = (($$sroa$788$0) + -100000000)|0;
$26 = (_i64Add(($24|0),($25|0),1,0)|0);
$27 = tempRet0;
$28 = ($26|0)==(-1);
$29 = ($27|0)==(-1);
$30 = $28 & $29;
if ($30) {
$$sroa$788$1 = $23;
label = 9;
break;
} else {
$$sroa$788$0 = $23;$24 = $26;$25 = $27;
}
}
}
} while(0);
if ((label|0) == 9) {
$31 = ($$sroa$788$1>>>0)>(99999999);
if (!($31)) {
$$sroa$788$2$ph = $$sroa$788$1;$58 = -1;$59 = -1;
label = 10;
}
}
do {
if ((label|0) == 10) {
$32 = ($15|0)==(-1);
$33 = ($18|0)==(-1);
$34 = $32 & $33;
L14: do {
if ($34) {
$$sroa$7$1 = $$sroa$7$0$copyload;
label = 14;
} else {
$$sroa$7$0 = $$sroa$7$0$copyload;$37 = $15;$38 = $18;
while(1) {
$35 = ($$sroa$7$0>>>0)>(99999999);
if (!($35)) {
$$sroa$7$2 = $$sroa$7$0;$56 = $37;$57 = $38;
break L14;
}
$36 = (($$sroa$7$0) + -100000000)|0;
$39 = (_i64Add(($37|0),($38|0),1,0)|0);
$40 = tempRet0;
$41 = ($39|0)==(-1);
$42 = ($40|0)==(-1);
$43 = $41 & $42;
if ($43) {
$$sroa$7$1 = $36;
label = 14;
break;
} else {
$$sroa$7$0 = $36;$37 = $39;$38 = $40;
}
}
}
} while(0);
if ((label|0) == 14) {
$44 = ($$sroa$7$1>>>0)>(99999999);
if ($44) {
break;
} else {
$$sroa$7$2 = $$sroa$7$1;$56 = -1;$57 = -1;
}
}
$45 = (_strlen($$idx4$i)|0);
$46 = ($45>>>0)>(11);
if ($46) {
$47 = HEAP32[10104]|0;
$48 = ($47|0)==(-1);
if ($48) {
$49 = (_GNUNET_get_log_call_status(1,0,70383,70431,468)|0);
HEAP32[10104] = $49;
}
$50 = (_GNUNET_get_log_skip()|0);
$51 = ($50|0)>(0);
if ($51) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$52 = HEAP32[10104]|0;
$53 = ($52|0)==(0);
if ($53) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer>>2] = 70383;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 468;
_GNUNET_log_nocheck(1,70521,$vararg_buffer);
_GNUNET_abort_();
// unreachable;
}
$54 = (12 - ($45))|0;
$55 = (($$sroa$11) + ($45)|0);
_memset(($55|0),0,($54|0))|0;
_memcpy(($$sroa$11|0),($$idx4$i|0),($45|0))|0;
$60 = (_i64Add(($56|0),($57|0),($58|0),($59|0))|0);
$61 = tempRet0;
$62 = ($61>>>0)<($59>>>0);
$63 = ($60>>>0)<($58>>>0);
$64 = ($61|0)==($59|0);
$65 = $64 & $63;
$66 = $62 | $65;
if ($66) {
;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
$67 = (($$sroa$7$2) + ($$sroa$788$2$ph))|0;
$$sroa$11$0$$sroa$11$12$$idx$val$i29 = HEAP8[$$sroa$11>>0]|0;
$68 = ($$sroa$11$0$$sroa$11$12$$idx$val$i29<<24>>24)==(0);
do {
if (!($68)) {
$69 = ($60|0)==(-1);
$70 = ($61|0)==(-1);
$71 = $69 & $70;
L42: do {
if ($71) {
$$sroa$8$1 = $67;
label = 31;
} else {
$$sroa$8$0 = $67;$74 = $60;$75 = $61;
while(1) {
$72 = ($$sroa$8$0>>>0)>(99999999);
if (!($72)) {
$$sroa$8$2 = $$sroa$8$0;$84 = $74;$87 = $75;
break L42;
}
$73 = (($$sroa$8$0) + -100000000)|0;
$76 = (_i64Add(($74|0),($75|0),1,0)|0);
$77 = tempRet0;
$78 = ($76|0)==(-1);
$79 = ($77|0)==(-1);
$80 = $78 & $79;
if ($80) {
$$sroa$8$1 = $73;
label = 31;
break;
} else {
$$sroa$8$0 = $73;$74 = $76;$75 = $77;
}
}
}
} while(0);
if ((label|0) == 31) {
$81 = ($$sroa$8$1>>>0)>(99999999);
if ($81) {
;HEAP32[$$sroa$11>>2]=0|0;HEAP32[$$sroa$11+4>>2]=0|0;HEAP32[$$sroa$11+8>>2]=0|0;
break;
} else {
$$sroa$8$2 = $$sroa$8$1;$84 = -1;$87 = -1;
}
}
$82 = $0;
$83 = $82;
HEAP32[$83>>2] = $84;
$85 = (($82) + 4)|0;
$86 = $85;
HEAP32[$86>>2] = $87;
$$sroa$8$0$$sroa_idx51 = ((($0)) + 8|0);
HEAP32[$$sroa$8$0$$sroa_idx51>>2] = $$sroa$8$2;
$$sroa$11$0$$sroa_idx = ((($0)) + 12|0);
;HEAP32[$$sroa$11$0$$sroa_idx>>2]=HEAP32[$$sroa$11>>2]|0;HEAP32[$$sroa$11$0$$sroa_idx+4>>2]=HEAP32[$$sroa$11+4>>2]|0;HEAP32[$$sroa$11$0$$sroa_idx+8>>2]=HEAP32[$$sroa$11+8>>2]|0;
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
} while(0);
;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
} while(0);
;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
}
}
;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;
$$0 = -1;
STACKTOP = sp;return ($$0|0);
}
function _TALER_gcrypt_init() {
var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
_gcry_set_fatalerror_handler(88,0);
$0 = (_gcry_check_version(70448)|0);
$1 = ($0|0)==(0|0);
if ($1) {
$2 = HEAP32[10138]|0;
(_fwrite(70454,27,1,$2)|0);
_abort();
// unreachable;
} else {
HEAP32[$vararg_buffer>>2] = 0;
(_gcry_control(37,$vararg_buffer)|0);
HEAP32[$vararg_buffer1>>2] = 0;
(_gcry_control(38,$vararg_buffer1)|0);
STACKTOP = sp;return;
}
}
function _fatal_error_handler_2503($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$3 = HEAP32[10138]|0;
HEAP32[$vararg_buffer>>2] = $2;
(_fprintf($3,70482,$vararg_buffer)|0);
_abort();
// unreachable;
}
function _TALER_setup_fresh_coin($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0;
var $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer4 = sp + 16|0;
$vararg_buffer = sp;
$3 = sp + 24|0;
$4 = (_htonl($1)|0);
HEAP32[$3>>2] = $4;
HEAP32[$vararg_buffer>>2] = 70559;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 21;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 0;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = 0;
$5 = (_GNUNET_CRYPTO_kdf($2,64,$3,4,$0,64,$vararg_buffer)|0);
$6 = ($5|0)==(1);
if ($6) {
$14 = HEAP8[$2>>0]|0;
$15 = $14 & 63;
$16 = $15 | 64;
HEAP8[$2>>0] = $16;
$17 = ((($2)) + 31|0);
$18 = HEAP8[$17>>0]|0;
$19 = $18 & -8;
HEAP8[$17>>0] = $19;
STACKTOP = sp;return;
}
$7 = HEAP32[10105]|0;
$8 = ($7|0)==(-1);
if ($8) {
$9 = (_GNUNET_get_log_call_status(1,0,70512,70581,197)|0);
HEAP32[10105] = $9;
}
$10 = (_GNUNET_get_log_skip()|0);
$11 = ($10|0)>(0);
if ($11) {
_GNUNET_log_skip(-1,0);
_GNUNET_abort_();
// unreachable;
}
$12 = HEAP32[10105]|0;
$13 = ($12|0)==(0);
if ($13) {
_GNUNET_abort_();
// unreachable;
}
HEAP32[$vararg_buffer4>>2] = 70512;
$vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
HEAP32[$vararg_ptr7>>2] = 197;
_GNUNET_log_nocheck(1,70521,$vararg_buffer4);
_GNUNET_abort_();
// unreachable;
}
function _malloc($0) {
$0 = $0|0;
var $$0 = 0, $$0$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i20$i = 0, $$0169$i = 0, $$0170$i = 0, $$0171$i = 0, $$0192 = 0, $$0194 = 0, $$02014$i$i = 0, $$0202$lcssa$i$i = 0, $$02023$i$i = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$024372$i = 0, $$0259$i$i = 0, $$02604$i$i = 0, $$0261$lcssa$i$i = 0, $$02613$i$i = 0;
var $$0267$i$i = 0, $$0268$i$i = 0, $$0318$i = 0, $$032012$i = 0, $$0321$lcssa$i = 0, $$032111$i = 0, $$0323$i = 0, $$0329$i = 0, $$0335$i = 0, $$0336$i = 0, $$0338$i = 0, $$0339$i = 0, $$0344$i = 0, $$1174$i = 0, $$1174$i$be = 0, $$1174$i$ph = 0, $$1176$i = 0, $$1176$i$be = 0, $$1176$i$ph = 0, $$124471$i = 0;
var $$1263$i$i = 0, $$1263$i$i$be = 0, $$1263$i$i$ph = 0, $$1265$i$i = 0, $$1265$i$i$be = 0, $$1265$i$i$ph = 0, $$1319$i = 0, $$1324$i = 0, $$1340$i = 0, $$1346$i = 0, $$1346$i$be = 0, $$1346$i$ph = 0, $$1350$i = 0, $$1350$i$be = 0, $$1350$i$ph = 0, $$2234243136$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2331$i = 0, $$3$i = 0;
var $$3$i$i = 0, $$3$i198 = 0, $$3$i198211 = 0, $$3326$i = 0, $$3348$i = 0, $$4$lcssa$i = 0, $$415$i = 0, $$415$i$ph = 0, $$4236$i = 0, $$4327$lcssa$i = 0, $$432714$i = 0, $$432714$i$ph = 0, $$4333$i = 0, $$533413$i = 0, $$533413$i$ph = 0, $$723947$i = 0, $$748$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0;
var $$pre$i16$i = 0, $$pre$i195 = 0, $$pre$i204 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i17$iZ2D = 0, $$pre$phi$i205Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phiZ2D = 0, $$sink = 0, $$sink320 = 0, $$sink321 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0;
var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0;
var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0;
var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0;
var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0;
var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0;
var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0;
var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0;
var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0;
var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0;
var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0;
var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0;
var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0;
var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0;
var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0;
var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0;
var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0;
var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0;
var $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0;
var $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0;
var $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0;
var $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0;
var $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0;
var $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0;
var $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0;
var $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0;
var $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0;
var $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0;
var $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0;
var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0;
var $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0;
var $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0;
var $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0;
var $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0;
var $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0;
var $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0;
var $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0;
var $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0;
var $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0;
var $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0;
var $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0;
var $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0;
var $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0;
var $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0;
var $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0;
var $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0;
var $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0;
var $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0;
var $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0;
var $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $99 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i203 = 0, $not$$i = 0, $or$cond$i = 0, $or$cond$i199 = 0, $or$cond1$i = 0, $or$cond1$i197 = 0, $or$cond11$i = 0, $or$cond2$i = 0;
var $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond6$i = 0, $or$cond7$i = 0, $or$cond8$i = 0, $or$cond8$not$i = 0, $spec$select$i = 0, $spec$select$i201 = 0, $spec$select1$i = 0, $spec$select2$i = 0, $spec$select4$i = 0, $spec$select49$i = 0, $spec$select9$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
$2 = ($0>>>0)<(245);
do {
if ($2) {
$3 = ($0>>>0)<(11);
$4 = (($0) + 11)|0;
$5 = $4 & -8;
$6 = $3 ? 16 : $5;
$7 = $6 >>> 3;
$8 = HEAP32[18178]|0;
$9 = $8 >>> $7;
$10 = $9 & 3;
$11 = ($10|0)==(0);
if (!($11)) {
$12 = $9 & 1;
$13 = $12 ^ 1;
$14 = (($13) + ($7))|0;
$15 = $14 << 1;
$16 = (72752 + ($15<<2)|0);
$17 = ((($16)) + 8|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($18)) + 8|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20|0)==($16|0);
if ($21) {
$22 = 1 << $14;
$23 = $22 ^ -1;
$24 = $8 & $23;
HEAP32[18178] = $24;
} else {
$25 = ((($20)) + 12|0);
HEAP32[$25>>2] = $16;
HEAP32[$17>>2] = $20;
}
$26 = $14 << 3;
$27 = $26 | 3;
$28 = ((($18)) + 4|0);
HEAP32[$28>>2] = $27;
$29 = (($18) + ($26)|0);
$30 = ((($29)) + 4|0);
$31 = HEAP32[$30>>2]|0;
$32 = $31 | 1;
HEAP32[$30>>2] = $32;
$$0 = $19;
STACKTOP = sp;return ($$0|0);
}
$33 = HEAP32[(72720)>>2]|0;
$34 = ($6>>>0)>($33>>>0);
if ($34) {
$35 = ($9|0)==(0);
if (!($35)) {
$36 = $9 << $7;
$37 = 2 << $7;
$38 = (0 - ($37))|0;
$39 = $37 | $38;
$40 = $36 & $39;
$41 = (0 - ($40))|0;
$42 = $40 & $41;
$43 = (($42) + -1)|0;
$44 = $43 >>> 12;
$45 = $44 & 16;
$46 = $43 >>> $45;
$47 = $46 >>> 5;
$48 = $47 & 8;
$49 = $48 | $45;
$50 = $46 >>> $48;
$51 = $50 >>> 2;
$52 = $51 & 4;
$53 = $49 | $52;
$54 = $50 >>> $52;
$55 = $54 >>> 1;
$56 = $55 & 2;
$57 = $53 | $56;
$58 = $54 >>> $56;
$59 = $58 >>> 1;
$60 = $59 & 1;
$61 = $57 | $60;
$62 = $58 >>> $60;
$63 = (($61) + ($62))|0;
$64 = $63 << 1;
$65 = (72752 + ($64<<2)|0);
$66 = ((($65)) + 8|0);
$67 = HEAP32[$66>>2]|0;
$68 = ((($67)) + 8|0);
$69 = HEAP32[$68>>2]|0;
$70 = ($69|0)==($65|0);
if ($70) {
$71 = 1 << $63;
$72 = $71 ^ -1;
$73 = $8 & $72;
HEAP32[18178] = $73;
$90 = $73;
} else {
$74 = ((($69)) + 12|0);
HEAP32[$74>>2] = $65;
HEAP32[$66>>2] = $69;
$90 = $8;
}
$75 = $63 << 3;
$76 = (($75) - ($6))|0;
$77 = $6 | 3;
$78 = ((($67)) + 4|0);
HEAP32[$78>>2] = $77;
$79 = (($67) + ($6)|0);
$80 = $76 | 1;
$81 = ((($79)) + 4|0);
HEAP32[$81>>2] = $80;
$82 = (($67) + ($75)|0);
HEAP32[$82>>2] = $76;
$83 = ($33|0)==(0);
if (!($83)) {
$84 = HEAP32[(72732)>>2]|0;
$85 = $33 >>> 3;
$86 = $85 << 1;
$87 = (72752 + ($86<<2)|0);
$88 = 1 << $85;
$89 = $90 & $88;
$91 = ($89|0)==(0);
if ($91) {
$92 = $90 | $88;
HEAP32[18178] = $92;
$$pre = ((($87)) + 8|0);
$$0194 = $87;$$pre$phiZ2D = $$pre;
} else {
$93 = ((($87)) + 8|0);
$94 = HEAP32[$93>>2]|0;
$$0194 = $94;$$pre$phiZ2D = $93;
}
HEAP32[$$pre$phiZ2D>>2] = $84;
$95 = ((($$0194)) + 12|0);
HEAP32[$95>>2] = $84;
$96 = ((($84)) + 8|0);
HEAP32[$96>>2] = $$0194;
$97 = ((($84)) + 12|0);
HEAP32[$97>>2] = $87;
}
HEAP32[(72720)>>2] = $76;
HEAP32[(72732)>>2] = $79;
$$0 = $68;
STACKTOP = sp;return ($$0|0);
}
$98 = HEAP32[(72716)>>2]|0;
$99 = ($98|0)==(0);
if ($99) {
$$0192 = $6;
} else {
$100 = (0 - ($98))|0;
$101 = $98 & $100;
$102 = (($101) + -1)|0;
$103 = $102 >>> 12;
$104 = $103 & 16;
$105 = $102 >>> $104;
$106 = $105 >>> 5;
$107 = $106 & 8;
$108 = $107 | $104;
$109 = $105 >>> $107;
$110 = $109 >>> 2;
$111 = $110 & 4;
$112 = $108 | $111;
$113 = $109 >>> $111;
$114 = $113 >>> 1;
$115 = $114 & 2;
$116 = $112 | $115;
$117 = $113 >>> $115;
$118 = $117 >>> 1;
$119 = $118 & 1;
$120 = $116 | $119;
$121 = $117 >>> $119;
$122 = (($120) + ($121))|0;
$123 = (73016 + ($122<<2)|0);
$124 = HEAP32[$123>>2]|0;
$125 = ((($124)) + 4|0);
$126 = HEAP32[$125>>2]|0;
$127 = $126 & -8;
$128 = (($127) - ($6))|0;
$$0169$i = $124;$$0170$i = $124;$$0171$i = $128;
while(1) {
$129 = ((($$0169$i)) + 16|0);
$130 = HEAP32[$129>>2]|0;
$131 = ($130|0)==(0|0);
if ($131) {
$132 = ((($$0169$i)) + 20|0);
$133 = HEAP32[$132>>2]|0;
$134 = ($133|0)==(0|0);
if ($134) {
break;
} else {
$136 = $133;
}
} else {
$136 = $130;
}
$135 = ((($136)) + 4|0);
$137 = HEAP32[$135>>2]|0;
$138 = $137 & -8;
$139 = (($138) - ($6))|0;
$140 = ($139>>>0)<($$0171$i>>>0);
$spec$select$i = $140 ? $139 : $$0171$i;
$spec$select1$i = $140 ? $136 : $$0170$i;
$$0169$i = $136;$$0170$i = $spec$select1$i;$$0171$i = $spec$select$i;
}
$141 = (($$0170$i) + ($6)|0);
$142 = ($141>>>0)>($$0170$i>>>0);
if ($142) {
$143 = ((($$0170$i)) + 24|0);
$144 = HEAP32[$143>>2]|0;
$145 = ((($$0170$i)) + 12|0);
$146 = HEAP32[$145>>2]|0;
$147 = ($146|0)==($$0170$i|0);
do {
if ($147) {
$152 = ((($$0170$i)) + 20|0);
$153 = HEAP32[$152>>2]|0;
$154 = ($153|0)==(0|0);
if ($154) {
$155 = ((($$0170$i)) + 16|0);
$156 = HEAP32[$155>>2]|0;
$157 = ($156|0)==(0|0);
if ($157) {
$$3$i = 0;
break;
} else {
$$1174$i$ph = $156;$$1176$i$ph = $155;
}
} else {
$$1174$i$ph = $153;$$1176$i$ph = $152;
}
$$1174$i = $$1174$i$ph;$$1176$i = $$1176$i$ph;
while(1) {
$158 = ((($$1174$i)) + 20|0);
$159 = HEAP32[$158>>2]|0;
$160 = ($159|0)==(0|0);
if ($160) {
$161 = ((($$1174$i)) + 16|0);
$162 = HEAP32[$161>>2]|0;
$163 = ($162|0)==(0|0);
if ($163) {
break;
} else {
$$1174$i$be = $162;$$1176$i$be = $161;
}
} else {
$$1174$i$be = $159;$$1176$i$be = $158;
}
$$1174$i = $$1174$i$be;$$1176$i = $$1176$i$be;
}
HEAP32[$$1176$i>>2] = 0;
$$3$i = $$1174$i;
} else {
$148 = ((($$0170$i)) + 8|0);
$149 = HEAP32[$148>>2]|0;
$150 = ((($149)) + 12|0);
HEAP32[$150>>2] = $146;
$151 = ((($146)) + 8|0);
HEAP32[$151>>2] = $149;
$$3$i = $146;
}
} while(0);
$164 = ($144|0)==(0|0);
do {
if (!($164)) {
$165 = ((($$0170$i)) + 28|0);
$166 = HEAP32[$165>>2]|0;
$167 = (73016 + ($166<<2)|0);
$168 = HEAP32[$167>>2]|0;
$169 = ($$0170$i|0)==($168|0);
if ($169) {
HEAP32[$167>>2] = $$3$i;
$cond$i = ($$3$i|0)==(0|0);
if ($cond$i) {
$170 = 1 << $166;
$171 = $170 ^ -1;
$172 = $98 & $171;
HEAP32[(72716)>>2] = $172;
break;
}
} else {
$173 = ((($144)) + 16|0);
$174 = HEAP32[$173>>2]|0;
$175 = ($174|0)==($$0170$i|0);
$176 = ((($144)) + 20|0);
$$sink = $175 ? $173 : $176;
HEAP32[$$sink>>2] = $$3$i;
$177 = ($$3$i|0)==(0|0);
if ($177) {
break;
}
}
$178 = ((($$3$i)) + 24|0);
HEAP32[$178>>2] = $144;
$179 = ((($$0170$i)) + 16|0);
$180 = HEAP32[$179>>2]|0;
$181 = ($180|0)==(0|0);
if (!($181)) {
$182 = ((($$3$i)) + 16|0);
HEAP32[$182>>2] = $180;
$183 = ((($180)) + 24|0);
HEAP32[$183>>2] = $$3$i;
}
$184 = ((($$0170$i)) + 20|0);
$185 = HEAP32[$184>>2]|0;
$186 = ($185|0)==(0|0);
if (!($186)) {
$187 = ((($$3$i)) + 20|0);
HEAP32[$187>>2] = $185;
$188 = ((($185)) + 24|0);
HEAP32[$188>>2] = $$3$i;
}
}
} while(0);
$189 = ($$0171$i>>>0)<(16);
if ($189) {
$190 = (($$0171$i) + ($6))|0;
$191 = $190 | 3;
$192 = ((($$0170$i)) + 4|0);
HEAP32[$192>>2] = $191;
$193 = (($$0170$i) + ($190)|0);
$194 = ((($193)) + 4|0);
$195 = HEAP32[$194>>2]|0;
$196 = $195 | 1;
HEAP32[$194>>2] = $196;
} else {
$197 = $6 | 3;
$198 = ((($$0170$i)) + 4|0);
HEAP32[$198>>2] = $197;
$199 = $$0171$i | 1;
$200 = ((($141)) + 4|0);
HEAP32[$200>>2] = $199;
$201 = (($141) + ($$0171$i)|0);
HEAP32[$201>>2] = $$0171$i;
$202 = ($33|0)==(0);
if (!($202)) {
$203 = HEAP32[(72732)>>2]|0;
$204 = $33 >>> 3;
$205 = $204 << 1;
$206 = (72752 + ($205<<2)|0);
$207 = 1 << $204;
$208 = $207 & $8;
$209 = ($208|0)==(0);
if ($209) {
$210 = $207 | $8;
HEAP32[18178] = $210;
$$pre$i = ((($206)) + 8|0);
$$0$i = $206;$$pre$phi$iZ2D = $$pre$i;
} else {
$211 = ((($206)) + 8|0);
$212 = HEAP32[$211>>2]|0;
$$0$i = $212;$$pre$phi$iZ2D = $211;
}
HEAP32[$$pre$phi$iZ2D>>2] = $203;
$213 = ((($$0$i)) + 12|0);
HEAP32[$213>>2] = $203;
$214 = ((($203)) + 8|0);
HEAP32[$214>>2] = $$0$i;
$215 = ((($203)) + 12|0);
HEAP32[$215>>2] = $206;
}
HEAP32[(72720)>>2] = $$0171$i;
HEAP32[(72732)>>2] = $141;
}
$216 = ((($$0170$i)) + 8|0);
$$0 = $216;
STACKTOP = sp;return ($$0|0);
} else {
$$0192 = $6;
}
}
} else {
$$0192 = $6;
}
} else {
$217 = ($0>>>0)>(4294967231);
if ($217) {
$$0192 = -1;
} else {
$218 = (($0) + 11)|0;
$219 = $218 & -8;
$220 = HEAP32[(72716)>>2]|0;
$221 = ($220|0)==(0);
if ($221) {
$$0192 = $219;
} else {
$222 = (0 - ($219))|0;
$223 = $218 >>> 8;
$224 = ($223|0)==(0);
if ($224) {
$$0335$i = 0;
} else {
$225 = ($219>>>0)>(16777215);
if ($225) {
$$0335$i = 31;
} else {
$226 = (($223) + 1048320)|0;
$227 = $226 >>> 16;
$228 = $227 & 8;
$229 = $223 << $228;
$230 = (($229) + 520192)|0;
$231 = $230 >>> 16;
$232 = $231 & 4;
$233 = $232 | $228;
$234 = $229 << $232;
$235 = (($234) + 245760)|0;
$236 = $235 >>> 16;
$237 = $236 & 2;
$238 = $233 | $237;
$239 = (14 - ($238))|0;
$240 = $234 << $237;
$241 = $240 >>> 15;
$242 = (($239) + ($241))|0;
$243 = $242 << 1;
$244 = (($242) + 7)|0;
$245 = $219 >>> $244;
$246 = $245 & 1;
$247 = $246 | $243;
$$0335$i = $247;
}
}
$248 = (73016 + ($$0335$i<<2)|0);
$249 = HEAP32[$248>>2]|0;
$250 = ($249|0)==(0|0);
L79: do {
if ($250) {
$$2331$i = 0;$$3$i198 = 0;$$3326$i = $222;
label = 61;
} else {
$251 = ($$0335$i|0)==(31);
$252 = $$0335$i >>> 1;
$253 = (25 - ($252))|0;
$254 = $251 ? 0 : $253;
$255 = $219 << $254;
$$0318$i = 0;$$0323$i = $222;$$0329$i = $249;$$0336$i = $255;$$0339$i = 0;
while(1) {
$256 = ((($$0329$i)) + 4|0);
$257 = HEAP32[$256>>2]|0;
$258 = $257 & -8;
$259 = (($258) - ($219))|0;
$260 = ($259>>>0)<($$0323$i>>>0);
if ($260) {
$261 = ($259|0)==(0);
if ($261) {
$$415$i$ph = $$0329$i;$$432714$i$ph = 0;$$533413$i$ph = $$0329$i;
label = 65;
break L79;
} else {
$$1319$i = $$0329$i;$$1324$i = $259;
}
} else {
$$1319$i = $$0318$i;$$1324$i = $$0323$i;
}
$262 = ((($$0329$i)) + 20|0);
$263 = HEAP32[$262>>2]|0;
$264 = $$0336$i >>> 31;
$265 = (((($$0329$i)) + 16|0) + ($264<<2)|0);
$266 = HEAP32[$265>>2]|0;
$267 = ($263|0)==(0|0);
$268 = ($263|0)==($266|0);
$or$cond1$i197 = $267 | $268;
$$1340$i = $or$cond1$i197 ? $$0339$i : $263;
$269 = ($266|0)==(0|0);
$spec$select4$i = $$0336$i << 1;
if ($269) {
$$2331$i = $$1340$i;$$3$i198 = $$1319$i;$$3326$i = $$1324$i;
label = 61;
break;
} else {
$$0318$i = $$1319$i;$$0323$i = $$1324$i;$$0329$i = $266;$$0336$i = $spec$select4$i;$$0339$i = $$1340$i;
}
}
}
} while(0);
if ((label|0) == 61) {
$270 = ($$2331$i|0)==(0|0);
$271 = ($$3$i198|0)==(0|0);
$or$cond$i199 = $270 & $271;
if ($or$cond$i199) {
$272 = 2 << $$0335$i;
$273 = (0 - ($272))|0;
$274 = $272 | $273;
$275 = $274 & $220;
$276 = ($275|0)==(0);
if ($276) {
$$0192 = $219;
break;
}
$277 = (0 - ($275))|0;
$278 = $275 & $277;
$279 = (($278) + -1)|0;
$280 = $279 >>> 12;
$281 = $280 & 16;
$282 = $279 >>> $281;
$283 = $282 >>> 5;
$284 = $283 & 8;
$285 = $284 | $281;
$286 = $282 >>> $284;
$287 = $286 >>> 2;
$288 = $287 & 4;
$289 = $285 | $288;
$290 = $286 >>> $288;
$291 = $290 >>> 1;
$292 = $291 & 2;
$293 = $289 | $292;
$294 = $290 >>> $292;
$295 = $294 >>> 1;
$296 = $295 & 1;
$297 = $293 | $296;
$298 = $294 >>> $296;
$299 = (($297) + ($298))|0;
$300 = (73016 + ($299<<2)|0);
$301 = HEAP32[$300>>2]|0;
$$3$i198211 = 0;$$4333$i = $301;
} else {
$$3$i198211 = $$3$i198;$$4333$i = $$2331$i;
}
$302 = ($$4333$i|0)==(0|0);
if ($302) {
$$4$lcssa$i = $$3$i198211;$$4327$lcssa$i = $$3326$i;
} else {
$$415$i$ph = $$3$i198211;$$432714$i$ph = $$3326$i;$$533413$i$ph = $$4333$i;
label = 65;
}
}
if ((label|0) == 65) {
$$415$i = $$415$i$ph;$$432714$i = $$432714$i$ph;$$533413$i = $$533413$i$ph;
while(1) {
$303 = ((($$533413$i)) + 4|0);
$304 = HEAP32[$303>>2]|0;
$305 = $304 & -8;
$306 = (($305) - ($219))|0;
$307 = ($306>>>0)<($$432714$i>>>0);
$spec$select$i201 = $307 ? $306 : $$432714$i;
$spec$select2$i = $307 ? $$533413$i : $$415$i;
$308 = ((($$533413$i)) + 16|0);
$309 = HEAP32[$308>>2]|0;
$310 = ($309|0)==(0|0);
if ($310) {
$311 = ((($$533413$i)) + 20|0);
$312 = HEAP32[$311>>2]|0;
$314 = $312;
} else {
$314 = $309;
}
$313 = ($314|0)==(0|0);
if ($313) {
$$4$lcssa$i = $spec$select2$i;$$4327$lcssa$i = $spec$select$i201;
break;
} else {
$$415$i = $spec$select2$i;$$432714$i = $spec$select$i201;$$533413$i = $314;
}
}
}
$315 = ($$4$lcssa$i|0)==(0|0);
if ($315) {
$$0192 = $219;
} else {
$316 = HEAP32[(72720)>>2]|0;
$317 = (($316) - ($219))|0;
$318 = ($$4327$lcssa$i>>>0)<($317>>>0);
if ($318) {
$319 = (($$4$lcssa$i) + ($219)|0);
$320 = ($319>>>0)>($$4$lcssa$i>>>0);
if ($320) {
$321 = ((($$4$lcssa$i)) + 24|0);
$322 = HEAP32[$321>>2]|0;
$323 = ((($$4$lcssa$i)) + 12|0);
$324 = HEAP32[$323>>2]|0;
$325 = ($324|0)==($$4$lcssa$i|0);
do {
if ($325) {
$330 = ((($$4$lcssa$i)) + 20|0);
$331 = HEAP32[$330>>2]|0;
$332 = ($331|0)==(0|0);
if ($332) {
$333 = ((($$4$lcssa$i)) + 16|0);
$334 = HEAP32[$333>>2]|0;
$335 = ($334|0)==(0|0);
if ($335) {
$$3348$i = 0;
break;
} else {
$$1346$i$ph = $334;$$1350$i$ph = $333;
}
} else {
$$1346$i$ph = $331;$$1350$i$ph = $330;
}
$$1346$i = $$1346$i$ph;$$1350$i = $$1350$i$ph;
while(1) {
$336 = ((($$1346$i)) + 20|0);
$337 = HEAP32[$336>>2]|0;
$338 = ($337|0)==(0|0);
if ($338) {
$339 = ((($$1346$i)) + 16|0);
$340 = HEAP32[$339>>2]|0;
$341 = ($340|0)==(0|0);
if ($341) {
break;
} else {
$$1346$i$be = $340;$$1350$i$be = $339;
}
} else {
$$1346$i$be = $337;$$1350$i$be = $336;
}
$$1346$i = $$1346$i$be;$$1350$i = $$1350$i$be;
}
HEAP32[$$1350$i>>2] = 0;
$$3348$i = $$1346$i;
} else {
$326 = ((($$4$lcssa$i)) + 8|0);
$327 = HEAP32[$326>>2]|0;
$328 = ((($327)) + 12|0);
HEAP32[$328>>2] = $324;
$329 = ((($324)) + 8|0);
HEAP32[$329>>2] = $327;
$$3348$i = $324;
}
} while(0);
$342 = ($322|0)==(0|0);
do {
if ($342) {
$425 = $220;
} else {
$343 = ((($$4$lcssa$i)) + 28|0);
$344 = HEAP32[$343>>2]|0;
$345 = (73016 + ($344<<2)|0);
$346 = HEAP32[$345>>2]|0;
$347 = ($$4$lcssa$i|0)==($346|0);
if ($347) {
HEAP32[$345>>2] = $$3348$i;
$cond$i203 = ($$3348$i|0)==(0|0);
if ($cond$i203) {
$348 = 1 << $344;
$349 = $348 ^ -1;
$350 = $220 & $349;
HEAP32[(72716)>>2] = $350;
$425 = $350;
break;
}
} else {
$351 = ((($322)) + 16|0);
$352 = HEAP32[$351>>2]|0;
$353 = ($352|0)==($$4$lcssa$i|0);
$354 = ((($322)) + 20|0);
$$sink320 = $353 ? $351 : $354;
HEAP32[$$sink320>>2] = $$3348$i;
$355 = ($$3348$i|0)==(0|0);
if ($355) {
$425 = $220;
break;
}
}
$356 = ((($$3348$i)) + 24|0);
HEAP32[$356>>2] = $322;
$357 = ((($$4$lcssa$i)) + 16|0);
$358 = HEAP32[$357>>2]|0;
$359 = ($358|0)==(0|0);
if (!($359)) {
$360 = ((($$3348$i)) + 16|0);
HEAP32[$360>>2] = $358;
$361 = ((($358)) + 24|0);
HEAP32[$361>>2] = $$3348$i;
}
$362 = ((($$4$lcssa$i)) + 20|0);
$363 = HEAP32[$362>>2]|0;
$364 = ($363|0)==(0|0);
if ($364) {
$425 = $220;
} else {
$365 = ((($$3348$i)) + 20|0);
HEAP32[$365>>2] = $363;
$366 = ((($363)) + 24|0);
HEAP32[$366>>2] = $$3348$i;
$425 = $220;
}
}
} while(0);
$367 = ($$4327$lcssa$i>>>0)<(16);
L128: do {
if ($367) {
$368 = (($$4327$lcssa$i) + ($219))|0;
$369 = $368 | 3;
$370 = ((($$4$lcssa$i)) + 4|0);
HEAP32[$370>>2] = $369;
$371 = (($$4$lcssa$i) + ($368)|0);
$372 = ((($371)) + 4|0);
$373 = HEAP32[$372>>2]|0;
$374 = $373 | 1;
HEAP32[$372>>2] = $374;
} else {
$375 = $219 | 3;
$376 = ((($$4$lcssa$i)) + 4|0);
HEAP32[$376>>2] = $375;
$377 = $$4327$lcssa$i | 1;
$378 = ((($319)) + 4|0);
HEAP32[$378>>2] = $377;
$379 = (($319) + ($$4327$lcssa$i)|0);
HEAP32[$379>>2] = $$4327$lcssa$i;
$380 = $$4327$lcssa$i >>> 3;
$381 = ($$4327$lcssa$i>>>0)<(256);
if ($381) {
$382 = $380 << 1;
$383 = (72752 + ($382<<2)|0);
$384 = HEAP32[18178]|0;
$385 = 1 << $380;
$386 = $384 & $385;
$387 = ($386|0)==(0);
if ($387) {
$388 = $384 | $385;
HEAP32[18178] = $388;
$$pre$i204 = ((($383)) + 8|0);
$$0344$i = $383;$$pre$phi$i205Z2D = $$pre$i204;
} else {
$389 = ((($383)) + 8|0);
$390 = HEAP32[$389>>2]|0;
$$0344$i = $390;$$pre$phi$i205Z2D = $389;
}
HEAP32[$$pre$phi$i205Z2D>>2] = $319;
$391 = ((($$0344$i)) + 12|0);
HEAP32[$391>>2] = $319;
$392 = ((($319)) + 8|0);
HEAP32[$392>>2] = $$0344$i;
$393 = ((($319)) + 12|0);
HEAP32[$393>>2] = $383;
break;
}
$394 = $$4327$lcssa$i >>> 8;
$395 = ($394|0)==(0);
if ($395) {
$$0338$i = 0;
} else {
$396 = ($$4327$lcssa$i>>>0)>(16777215);
if ($396) {
$$0338$i = 31;
} else {
$397 = (($394) + 1048320)|0;
$398 = $397 >>> 16;
$399 = $398 & 8;
$400 = $394 << $399;
$401 = (($400) + 520192)|0;
$402 = $401 >>> 16;
$403 = $402 & 4;
$404 = $403 | $399;
$405 = $400 << $403;
$406 = (($405) + 245760)|0;
$407 = $406 >>> 16;
$408 = $407 & 2;
$409 = $404 | $408;
$410 = (14 - ($409))|0;
$411 = $405 << $408;
$412 = $411 >>> 15;
$413 = (($410) + ($412))|0;
$414 = $413 << 1;
$415 = (($413) + 7)|0;
$416 = $$4327$lcssa$i >>> $415;
$417 = $416 & 1;
$418 = $417 | $414;
$$0338$i = $418;
}
}
$419 = (73016 + ($$0338$i<<2)|0);
$420 = ((($319)) + 28|0);
HEAP32[$420>>2] = $$0338$i;
$421 = ((($319)) + 16|0);
$422 = ((($421)) + 4|0);
HEAP32[$422>>2] = 0;
HEAP32[$421>>2] = 0;
$423 = 1 << $$0338$i;
$424 = $425 & $423;
$426 = ($424|0)==(0);
if ($426) {
$427 = $425 | $423;
HEAP32[(72716)>>2] = $427;
HEAP32[$419>>2] = $319;
$428 = ((($319)) + 24|0);
HEAP32[$428>>2] = $419;
$429 = ((($319)) + 12|0);
HEAP32[$429>>2] = $319;
$430 = ((($319)) + 8|0);
HEAP32[$430>>2] = $319;
break;
}
$431 = HEAP32[$419>>2]|0;
$432 = ((($431)) + 4|0);
$433 = HEAP32[$432>>2]|0;
$434 = $433 & -8;
$435 = ($434|0)==($$4327$lcssa$i|0);
L145: do {
if ($435) {
$$0321$lcssa$i = $431;
} else {
$436 = ($$0338$i|0)==(31);
$437 = $$0338$i >>> 1;
$438 = (25 - ($437))|0;
$439 = $436 ? 0 : $438;
$440 = $$4327$lcssa$i << $439;
$$032012$i = $440;$$032111$i = $431;
while(1) {
$447 = $$032012$i >>> 31;
$448 = (((($$032111$i)) + 16|0) + ($447<<2)|0);
$443 = HEAP32[$448>>2]|0;
$449 = ($443|0)==(0|0);
if ($449) {
break;
}
$441 = $$032012$i << 1;
$442 = ((($443)) + 4|0);
$444 = HEAP32[$442>>2]|0;
$445 = $444 & -8;
$446 = ($445|0)==($$4327$lcssa$i|0);
if ($446) {
$$0321$lcssa$i = $443;
break L145;
} else {
$$032012$i = $441;$$032111$i = $443;
}
}
HEAP32[$448>>2] = $319;
$450 = ((($319)) + 24|0);
HEAP32[$450>>2] = $$032111$i;
$451 = ((($319)) + 12|0);
HEAP32[$451>>2] = $319;
$452 = ((($319)) + 8|0);
HEAP32[$452>>2] = $319;
break L128;
}
} while(0);
$453 = ((($$0321$lcssa$i)) + 8|0);
$454 = HEAP32[$453>>2]|0;
$455 = ((($454)) + 12|0);
HEAP32[$455>>2] = $319;
HEAP32[$453>>2] = $319;
$456 = ((($319)) + 8|0);
HEAP32[$456>>2] = $454;
$457 = ((($319)) + 12|0);
HEAP32[$457>>2] = $$0321$lcssa$i;
$458 = ((($319)) + 24|0);
HEAP32[$458>>2] = 0;
}
} while(0);
$459 = ((($$4$lcssa$i)) + 8|0);
$$0 = $459;
STACKTOP = sp;return ($$0|0);
} else {
$$0192 = $219;
}
} else {
$$0192 = $219;
}
}
}
}
}
} while(0);
$460 = HEAP32[(72720)>>2]|0;
$461 = ($460>>>0)<($$0192>>>0);
if (!($461)) {
$462 = (($460) - ($$0192))|0;
$463 = HEAP32[(72732)>>2]|0;
$464 = ($462>>>0)>(15);
if ($464) {
$465 = (($463) + ($$0192)|0);
HEAP32[(72732)>>2] = $465;
HEAP32[(72720)>>2] = $462;
$466 = $462 | 1;
$467 = ((($465)) + 4|0);
HEAP32[$467>>2] = $466;
$468 = (($463) + ($460)|0);
HEAP32[$468>>2] = $462;
$469 = $$0192 | 3;
$470 = ((($463)) + 4|0);
HEAP32[$470>>2] = $469;
} else {
HEAP32[(72720)>>2] = 0;
HEAP32[(72732)>>2] = 0;
$471 = $460 | 3;
$472 = ((($463)) + 4|0);
HEAP32[$472>>2] = $471;
$473 = (($463) + ($460)|0);
$474 = ((($473)) + 4|0);
$475 = HEAP32[$474>>2]|0;
$476 = $475 | 1;
HEAP32[$474>>2] = $476;
}
$477 = ((($463)) + 8|0);
$$0 = $477;
STACKTOP = sp;return ($$0|0);
}
$478 = HEAP32[(72724)>>2]|0;
$479 = ($478>>>0)>($$0192>>>0);
if ($479) {
$480 = (($478) - ($$0192))|0;
HEAP32[(72724)>>2] = $480;
$481 = HEAP32[(72736)>>2]|0;
$482 = (($481) + ($$0192)|0);
HEAP32[(72736)>>2] = $482;
$483 = $480 | 1;
$484 = ((($482)) + 4|0);
HEAP32[$484>>2] = $483;
$485 = $$0192 | 3;
$486 = ((($481)) + 4|0);
HEAP32[$486>>2] = $485;
$487 = ((($481)) + 8|0);
$$0 = $487;
STACKTOP = sp;return ($$0|0);
}
$488 = HEAP32[18296]|0;
$489 = ($488|0)==(0);
if ($489) {
HEAP32[(73192)>>2] = 4096;
HEAP32[(73188)>>2] = 4096;
HEAP32[(73196)>>2] = -1;
HEAP32[(73200)>>2] = -1;
HEAP32[(73204)>>2] = 0;
HEAP32[(73156)>>2] = 0;
$490 = $1;
$491 = $490 & -16;
$492 = $491 ^ 1431655768;
HEAP32[18296] = $492;
$496 = 4096;
} else {
$$pre$i195 = HEAP32[(73192)>>2]|0;
$496 = $$pre$i195;
}
$493 = (($$0192) + 48)|0;
$494 = (($$0192) + 47)|0;
$495 = (($496) + ($494))|0;
$497 = (0 - ($496))|0;
$498 = $495 & $497;
$499 = ($498>>>0)>($$0192>>>0);
if (!($499)) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$500 = HEAP32[(73152)>>2]|0;
$501 = ($500|0)==(0);
if (!($501)) {
$502 = HEAP32[(73144)>>2]|0;
$503 = (($502) + ($498))|0;
$504 = ($503>>>0)<=($502>>>0);
$505 = ($503>>>0)>($500>>>0);
$or$cond1$i = $504 | $505;
if ($or$cond1$i) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
$506 = HEAP32[(73156)>>2]|0;
$507 = $506 & 4;
$508 = ($507|0)==(0);
L178: do {
if ($508) {
$509 = HEAP32[(72736)>>2]|0;
$510 = ($509|0)==(0|0);
L180: do {
if ($510) {
label = 128;
} else {
$$0$i20$i = (73160);
while(1) {
$511 = HEAP32[$$0$i20$i>>2]|0;
$512 = ($511>>>0)>($509>>>0);
if (!($512)) {
$513 = ((($$0$i20$i)) + 4|0);
$514 = HEAP32[$513>>2]|0;
$515 = (($511) + ($514)|0);
$516 = ($515>>>0)>($509>>>0);
if ($516) {
break;
}
}
$517 = ((($$0$i20$i)) + 8|0);
$518 = HEAP32[$517>>2]|0;
$519 = ($518|0)==(0|0);
if ($519) {
label = 128;
break L180;
} else {
$$0$i20$i = $518;
}
}
$542 = (($495) - ($478))|0;
$543 = $542 & $497;
$544 = ($543>>>0)<(2147483647);
if ($544) {
$545 = ((($$0$i20$i)) + 4|0);
$546 = (_sbrk(($543|0))|0);
$547 = HEAP32[$$0$i20$i>>2]|0;
$548 = HEAP32[$545>>2]|0;
$549 = (($547) + ($548)|0);
$550 = ($546|0)==($549|0);
if ($550) {
$551 = ($546|0)==((-1)|0);
if ($551) {
$$2234243136$i = $543;
} else {
$$723947$i = $543;$$748$i = $546;
label = 145;
break L178;
}
} else {
$$2247$ph$i = $546;$$2253$ph$i = $543;
label = 136;
}
} else {
$$2234243136$i = 0;
}
}
} while(0);
do {
if ((label|0) == 128) {
$520 = (_sbrk(0)|0);
$521 = ($520|0)==((-1)|0);
if ($521) {
$$2234243136$i = 0;
} else {
$522 = $520;
$523 = HEAP32[(73188)>>2]|0;
$524 = (($523) + -1)|0;
$525 = $524 & $522;
$526 = ($525|0)==(0);
$527 = (($524) + ($522))|0;
$528 = (0 - ($523))|0;
$529 = $527 & $528;
$530 = (($529) - ($522))|0;
$531 = $526 ? 0 : $530;
$spec$select49$i = (($531) + ($498))|0;
$532 = HEAP32[(73144)>>2]|0;
$533 = (($spec$select49$i) + ($532))|0;
$534 = ($spec$select49$i>>>0)>($$0192>>>0);
$535 = ($spec$select49$i>>>0)<(2147483647);
$or$cond$i = $534 & $535;
if ($or$cond$i) {
$536 = HEAP32[(73152)>>2]|0;
$537 = ($536|0)==(0);
if (!($537)) {
$538 = ($533>>>0)<=($532>>>0);
$539 = ($533>>>0)>($536>>>0);
$or$cond2$i = $538 | $539;
if ($or$cond2$i) {
$$2234243136$i = 0;
break;
}
}
$540 = (_sbrk(($spec$select49$i|0))|0);
$541 = ($540|0)==($520|0);
if ($541) {
$$723947$i = $spec$select49$i;$$748$i = $520;
label = 145;
break L178;
} else {
$$2247$ph$i = $540;$$2253$ph$i = $spec$select49$i;
label = 136;
}
} else {
$$2234243136$i = 0;
}
}
}
} while(0);
do {
if ((label|0) == 136) {
$552 = (0 - ($$2253$ph$i))|0;
$553 = ($$2247$ph$i|0)!=((-1)|0);
$554 = ($$2253$ph$i>>>0)<(2147483647);
$or$cond7$i = $554 & $553;
$555 = ($493>>>0)>($$2253$ph$i>>>0);
$or$cond6$i = $555 & $or$cond7$i;
if (!($or$cond6$i)) {
$565 = ($$2247$ph$i|0)==((-1)|0);
if ($565) {
$$2234243136$i = 0;
break;
} else {
$$723947$i = $$2253$ph$i;$$748$i = $$2247$ph$i;
label = 145;
break L178;
}
}
$556 = HEAP32[(73192)>>2]|0;
$557 = (($494) - ($$2253$ph$i))|0;
$558 = (($557) + ($556))|0;
$559 = (0 - ($556))|0;
$560 = $558 & $559;
$561 = ($560>>>0)<(2147483647);
if (!($561)) {
$$723947$i = $$2253$ph$i;$$748$i = $$2247$ph$i;
label = 145;
break L178;
}
$562 = (_sbrk(($560|0))|0);
$563 = ($562|0)==((-1)|0);
if ($563) {
(_sbrk(($552|0))|0);
$$2234243136$i = 0;
break;
} else {
$564 = (($560) + ($$2253$ph$i))|0;
$$723947$i = $564;$$748$i = $$2247$ph$i;
label = 145;
break L178;
}
}
} while(0);
$566 = HEAP32[(73156)>>2]|0;
$567 = $566 | 4;
HEAP32[(73156)>>2] = $567;
$$4236$i = $$2234243136$i;
label = 143;
} else {
$$4236$i = 0;
label = 143;
}
} while(0);
if ((label|0) == 143) {
$568 = ($498>>>0)<(2147483647);
if ($568) {
$569 = (_sbrk(($498|0))|0);
$570 = (_sbrk(0)|0);
$571 = ($569|0)!=((-1)|0);
$572 = ($570|0)!=((-1)|0);
$or$cond5$i = $571 & $572;
$573 = ($569>>>0)<($570>>>0);
$or$cond8$i = $573 & $or$cond5$i;
$574 = $570;
$575 = $569;
$576 = (($574) - ($575))|0;
$577 = (($$0192) + 40)|0;
$578 = ($576>>>0)>($577>>>0);
$spec$select9$i = $578 ? $576 : $$4236$i;
$or$cond8$not$i = $or$cond8$i ^ 1;
$579 = ($569|0)==((-1)|0);
$not$$i = $578 ^ 1;
$580 = $579 | $not$$i;
$or$cond50$i = $580 | $or$cond8$not$i;
if (!($or$cond50$i)) {
$$723947$i = $spec$select9$i;$$748$i = $569;
label = 145;
}
}
}
if ((label|0) == 145) {
$581 = HEAP32[(73144)>>2]|0;
$582 = (($581) + ($$723947$i))|0;
HEAP32[(73144)>>2] = $582;
$583 = HEAP32[(73148)>>2]|0;
$584 = ($582>>>0)>($583>>>0);
if ($584) {
HEAP32[(73148)>>2] = $582;
}
$585 = HEAP32[(72736)>>2]|0;
$586 = ($585|0)==(0|0);
L215: do {
if ($586) {
$587 = HEAP32[(72728)>>2]|0;
$588 = ($587|0)==(0|0);
$589 = ($$748$i>>>0)<($587>>>0);
$or$cond11$i = $588 | $589;
if ($or$cond11$i) {
HEAP32[(72728)>>2] = $$748$i;
}
HEAP32[(73160)>>2] = $$748$i;
HEAP32[(73164)>>2] = $$723947$i;
HEAP32[(73172)>>2] = 0;
$590 = HEAP32[18296]|0;
HEAP32[(72748)>>2] = $590;
HEAP32[(72744)>>2] = -1;
HEAP32[(72764)>>2] = (72752);
HEAP32[(72760)>>2] = (72752);
HEAP32[(72772)>>2] = (72760);
HEAP32[(72768)>>2] = (72760);
HEAP32[(72780)>>2] = (72768);
HEAP32[(72776)>>2] = (72768);
HEAP32[(72788)>>2] = (72776);
HEAP32[(72784)>>2] = (72776);
HEAP32[(72796)>>2] = (72784);
HEAP32[(72792)>>2] = (72784);
HEAP32[(72804)>>2] = (72792);
HEAP32[(72800)>>2] = (72792);
HEAP32[(72812)>>2] = (72800);
HEAP32[(72808)>>2] = (72800);
HEAP32[(72820)>>2] = (72808);
HEAP32[(72816)>>2] = (72808);
HEAP32[(72828)>>2] = (72816);
HEAP32[(72824)>>2] = (72816);
HEAP32[(72836)>>2] = (72824);
HEAP32[(72832)>>2] = (72824);
HEAP32[(72844)>>2] = (72832);
HEAP32[(72840)>>2] = (72832);
HEAP32[(72852)>>2] = (72840);
HEAP32[(72848)>>2] = (72840);
HEAP32[(72860)>>2] = (72848);
HEAP32[(72856)>>2] = (72848);
HEAP32[(72868)>>2] = (72856);
HEAP32[(72864)>>2] = (72856);
HEAP32[(72876)>>2] = (72864);
HEAP32[(72872)>>2] = (72864);
HEAP32[(72884)>>2] = (72872);
HEAP32[(72880)>>2] = (72872);
HEAP32[(72892)>>2] = (72880);
HEAP32[(72888)>>2] = (72880);
HEAP32[(72900)>>2] = (72888);
HEAP32[(72896)>>2] = (72888);
HEAP32[(72908)>>2] = (72896);
HEAP32[(72904)>>2] = (72896);
HEAP32[(72916)>>2] = (72904);
HEAP32[(72912)>>2] = (72904);
HEAP32[(72924)>>2] = (72912);
HEAP32[(72920)>>2] = (72912);
HEAP32[(72932)>>2] = (72920);
HEAP32[(72928)>>2] = (72920);
HEAP32[(72940)>>2] = (72928);
HEAP32[(72936)>>2] = (72928);
HEAP32[(72948)>>2] = (72936);
HEAP32[(72944)>>2] = (72936);
HEAP32[(72956)>>2] = (72944);
HEAP32[(72952)>>2] = (72944);
HEAP32[(72964)>>2] = (72952);
HEAP32[(72960)>>2] = (72952);
HEAP32[(72972)>>2] = (72960);
HEAP32[(72968)>>2] = (72960);
HEAP32[(72980)>>2] = (72968);
HEAP32[(72976)>>2] = (72968);
HEAP32[(72988)>>2] = (72976);
HEAP32[(72984)>>2] = (72976);
HEAP32[(72996)>>2] = (72984);
HEAP32[(72992)>>2] = (72984);
HEAP32[(73004)>>2] = (72992);
HEAP32[(73000)>>2] = (72992);
HEAP32[(73012)>>2] = (73000);
HEAP32[(73008)>>2] = (73000);
$591 = (($$723947$i) + -40)|0;
$592 = ((($$748$i)) + 8|0);
$593 = $592;
$594 = $593 & 7;
$595 = ($594|0)==(0);
$596 = (0 - ($593))|0;
$597 = $596 & 7;
$598 = $595 ? 0 : $597;
$599 = (($$748$i) + ($598)|0);
$600 = (($591) - ($598))|0;
HEAP32[(72736)>>2] = $599;
HEAP32[(72724)>>2] = $600;
$601 = $600 | 1;
$602 = ((($599)) + 4|0);
HEAP32[$602>>2] = $601;
$603 = (($$748$i) + ($591)|0);
$604 = ((($603)) + 4|0);
HEAP32[$604>>2] = 40;
$605 = HEAP32[(73200)>>2]|0;
HEAP32[(72740)>>2] = $605;
} else {
$$024372$i = (73160);
while(1) {
$606 = HEAP32[$$024372$i>>2]|0;
$607 = ((($$024372$i)) + 4|0);
$608 = HEAP32[$607>>2]|0;
$609 = (($606) + ($608)|0);
$610 = ($$748$i|0)==($609|0);
if ($610) {
label = 154;
break;
}
$611 = ((($$024372$i)) + 8|0);
$612 = HEAP32[$611>>2]|0;
$613 = ($612|0)==(0|0);
if ($613) {
break;
} else {
$$024372$i = $612;
}
}
if ((label|0) == 154) {
$614 = ((($$024372$i)) + 4|0);
$615 = ((($$024372$i)) + 12|0);
$616 = HEAP32[$615>>2]|0;
$617 = $616 & 8;
$618 = ($617|0)==(0);
if ($618) {
$619 = ($606>>>0)<=($585>>>0);
$620 = ($$748$i>>>0)>($585>>>0);
$or$cond51$i = $620 & $619;
if ($or$cond51$i) {
$621 = (($608) + ($$723947$i))|0;
HEAP32[$614>>2] = $621;
$622 = HEAP32[(72724)>>2]|0;
$623 = (($622) + ($$723947$i))|0;
$624 = ((($585)) + 8|0);
$625 = $624;
$626 = $625 & 7;
$627 = ($626|0)==(0);
$628 = (0 - ($625))|0;
$629 = $628 & 7;
$630 = $627 ? 0 : $629;
$631 = (($585) + ($630)|0);
$632 = (($623) - ($630))|0;
HEAP32[(72736)>>2] = $631;
HEAP32[(72724)>>2] = $632;
$633 = $632 | 1;
$634 = ((($631)) + 4|0);
HEAP32[$634>>2] = $633;
$635 = (($585) + ($623)|0);
$636 = ((($635)) + 4|0);
HEAP32[$636>>2] = 40;
$637 = HEAP32[(73200)>>2]|0;
HEAP32[(72740)>>2] = $637;
break;
}
}
}
$638 = HEAP32[(72728)>>2]|0;
$639 = ($$748$i>>>0)<($638>>>0);
if ($639) {
HEAP32[(72728)>>2] = $$748$i;
}
$640 = (($$748$i) + ($$723947$i)|0);
$$124471$i = (73160);
while(1) {
$641 = HEAP32[$$124471$i>>2]|0;
$642 = ($641|0)==($640|0);
if ($642) {
label = 162;
break;
}
$643 = ((($$124471$i)) + 8|0);
$644 = HEAP32[$643>>2]|0;
$645 = ($644|0)==(0|0);
if ($645) {
break;
} else {
$$124471$i = $644;
}
}
if ((label|0) == 162) {
$646 = ((($$124471$i)) + 12|0);
$647 = HEAP32[$646>>2]|0;
$648 = $647 & 8;
$649 = ($648|0)==(0);
if ($649) {
HEAP32[$$124471$i>>2] = $$748$i;
$650 = ((($$124471$i)) + 4|0);
$651 = HEAP32[$650>>2]|0;
$652 = (($651) + ($$723947$i))|0;
HEAP32[$650>>2] = $652;
$653 = ((($$748$i)) + 8|0);
$654 = $653;
$655 = $654 & 7;
$656 = ($655|0)==(0);
$657 = (0 - ($654))|0;
$658 = $657 & 7;
$659 = $656 ? 0 : $658;
$660 = (($$748$i) + ($659)|0);
$661 = ((($640)) + 8|0);
$662 = $661;
$663 = $662 & 7;
$664 = ($663|0)==(0);
$665 = (0 - ($662))|0;
$666 = $665 & 7;
$667 = $664 ? 0 : $666;
$668 = (($640) + ($667)|0);
$669 = $668;
$670 = $660;
$671 = (($669) - ($670))|0;
$672 = (($660) + ($$0192)|0);
$673 = (($671) - ($$0192))|0;
$674 = $$0192 | 3;
$675 = ((($660)) + 4|0);
HEAP32[$675>>2] = $674;
$676 = ($585|0)==($668|0);
L238: do {
if ($676) {
$677 = HEAP32[(72724)>>2]|0;
$678 = (($677) + ($673))|0;
HEAP32[(72724)>>2] = $678;
HEAP32[(72736)>>2] = $672;
$679 = $678 | 1;
$680 = ((($672)) + 4|0);
HEAP32[$680>>2] = $679;
} else {
$681 = HEAP32[(72732)>>2]|0;
$682 = ($681|0)==($668|0);
if ($682) {
$683 = HEAP32[(72720)>>2]|0;
$684 = (($683) + ($673))|0;
HEAP32[(72720)>>2] = $684;
HEAP32[(72732)>>2] = $672;
$685 = $684 | 1;
$686 = ((($672)) + 4|0);
HEAP32[$686>>2] = $685;
$687 = (($672) + ($684)|0);
HEAP32[$687>>2] = $684;
break;
}
$688 = ((($668)) + 4|0);
$689 = HEAP32[$688>>2]|0;
$690 = $689 & 3;
$691 = ($690|0)==(1);
if ($691) {
$692 = $689 & -8;
$693 = $689 >>> 3;
$694 = ($689>>>0)<(256);
L246: do {
if ($694) {
$695 = ((($668)) + 8|0);
$696 = HEAP32[$695>>2]|0;
$697 = ((($668)) + 12|0);
$698 = HEAP32[$697>>2]|0;
$699 = ($698|0)==($696|0);
if ($699) {
$700 = 1 << $693;
$701 = $700 ^ -1;
$702 = HEAP32[18178]|0;
$703 = $702 & $701;
HEAP32[18178] = $703;
break;
} else {
$704 = ((($696)) + 12|0);
HEAP32[$704>>2] = $698;
$705 = ((($698)) + 8|0);
HEAP32[$705>>2] = $696;
break;
}
} else {
$706 = ((($668)) + 24|0);
$707 = HEAP32[$706>>2]|0;
$708 = ((($668)) + 12|0);
$709 = HEAP32[$708>>2]|0;
$710 = ($709|0)==($668|0);
do {
if ($710) {
$715 = ((($668)) + 16|0);
$716 = ((($715)) + 4|0);
$717 = HEAP32[$716>>2]|0;
$718 = ($717|0)==(0|0);
if ($718) {
$719 = HEAP32[$715>>2]|0;
$720 = ($719|0)==(0|0);
if ($720) {
$$3$i$i = 0;
break;
} else {
$$1263$i$i$ph = $719;$$1265$i$i$ph = $715;
}
} else {
$$1263$i$i$ph = $717;$$1265$i$i$ph = $716;
}
$$1263$i$i = $$1263$i$i$ph;$$1265$i$i = $$1265$i$i$ph;
while(1) {
$721 = ((($$1263$i$i)) + 20|0);
$722 = HEAP32[$721>>2]|0;
$723 = ($722|0)==(0|0);
if ($723) {
$724 = ((($$1263$i$i)) + 16|0);
$725 = HEAP32[$724>>2]|0;
$726 = ($725|0)==(0|0);
if ($726) {
break;
} else {
$$1263$i$i$be = $725;$$1265$i$i$be = $724;
}
} else {
$$1263$i$i$be = $722;$$1265$i$i$be = $721;
}
$$1263$i$i = $$1263$i$i$be;$$1265$i$i = $$1265$i$i$be;
}
HEAP32[$$1265$i$i>>2] = 0;
$$3$i$i = $$1263$i$i;
} else {
$711 = ((($668)) + 8|0);
$712 = HEAP32[$711>>2]|0;
$713 = ((($712)) + 12|0);
HEAP32[$713>>2] = $709;
$714 = ((($709)) + 8|0);
HEAP32[$714>>2] = $712;
$$3$i$i = $709;
}
} while(0);
$727 = ($707|0)==(0|0);
if ($727) {
break;
}
$728 = ((($668)) + 28|0);
$729 = HEAP32[$728>>2]|0;
$730 = (73016 + ($729<<2)|0);
$731 = HEAP32[$730>>2]|0;
$732 = ($731|0)==($668|0);
do {
if ($732) {
HEAP32[$730>>2] = $$3$i$i;
$cond$i$i = ($$3$i$i|0)==(0|0);
if (!($cond$i$i)) {
break;
}
$733 = 1 << $729;
$734 = $733 ^ -1;
$735 = HEAP32[(72716)>>2]|0;
$736 = $735 & $734;
HEAP32[(72716)>>2] = $736;
break L246;
} else {
$737 = ((($707)) + 16|0);
$738 = HEAP32[$737>>2]|0;
$739 = ($738|0)==($668|0);
$740 = ((($707)) + 20|0);
$$sink321 = $739 ? $737 : $740;
HEAP32[$$sink321>>2] = $$3$i$i;
$741 = ($$3$i$i|0)==(0|0);
if ($741) {
break L246;
}
}
} while(0);
$742 = ((($$3$i$i)) + 24|0);
HEAP32[$742>>2] = $707;
$743 = ((($668)) + 16|0);
$744 = HEAP32[$743>>2]|0;
$745 = ($744|0)==(0|0);
if (!($745)) {
$746 = ((($$3$i$i)) + 16|0);
HEAP32[$746>>2] = $744;
$747 = ((($744)) + 24|0);
HEAP32[$747>>2] = $$3$i$i;
}
$748 = ((($743)) + 4|0);
$749 = HEAP32[$748>>2]|0;
$750 = ($749|0)==(0|0);
if ($750) {
break;
}
$751 = ((($$3$i$i)) + 20|0);
HEAP32[$751>>2] = $749;
$752 = ((($749)) + 24|0);
HEAP32[$752>>2] = $$3$i$i;
}
} while(0);
$753 = (($668) + ($692)|0);
$754 = (($692) + ($673))|0;
$$0$i$i = $753;$$0259$i$i = $754;
} else {
$$0$i$i = $668;$$0259$i$i = $673;
}
$755 = ((($$0$i$i)) + 4|0);
$756 = HEAP32[$755>>2]|0;
$757 = $756 & -2;
HEAP32[$755>>2] = $757;
$758 = $$0259$i$i | 1;
$759 = ((($672)) + 4|0);
HEAP32[$759>>2] = $758;
$760 = (($672) + ($$0259$i$i)|0);
HEAP32[$760>>2] = $$0259$i$i;
$761 = $$0259$i$i >>> 3;
$762 = ($$0259$i$i>>>0)<(256);
if ($762) {
$763 = $761 << 1;
$764 = (72752 + ($763<<2)|0);
$765 = HEAP32[18178]|0;
$766 = 1 << $761;
$767 = $765 & $766;
$768 = ($767|0)==(0);
if ($768) {
$769 = $765 | $766;
HEAP32[18178] = $769;
$$pre$i16$i = ((($764)) + 8|0);
$$0267$i$i = $764;$$pre$phi$i17$iZ2D = $$pre$i16$i;
} else {
$770 = ((($764)) + 8|0);
$771 = HEAP32[$770>>2]|0;
$$0267$i$i = $771;$$pre$phi$i17$iZ2D = $770;
}
HEAP32[$$pre$phi$i17$iZ2D>>2] = $672;
$772 = ((($$0267$i$i)) + 12|0);
HEAP32[$772>>2] = $672;
$773 = ((($672)) + 8|0);
HEAP32[$773>>2] = $$0267$i$i;
$774 = ((($672)) + 12|0);
HEAP32[$774>>2] = $764;
break;
}
$775 = $$0259$i$i >>> 8;
$776 = ($775|0)==(0);
do {
if ($776) {
$$0268$i$i = 0;
} else {
$777 = ($$0259$i$i>>>0)>(16777215);
if ($777) {
$$0268$i$i = 31;
break;
}
$778 = (($775) + 1048320)|0;
$779 = $778 >>> 16;
$780 = $779 & 8;
$781 = $775 << $780;
$782 = (($781) + 520192)|0;
$783 = $782 >>> 16;
$784 = $783 & 4;
$785 = $784 | $780;
$786 = $781 << $784;
$787 = (($786) + 245760)|0;
$788 = $787 >>> 16;
$789 = $788 & 2;
$790 = $785 | $789;
$791 = (14 - ($790))|0;
$792 = $786 << $789;
$793 = $792 >>> 15;
$794 = (($791) + ($793))|0;
$795 = $794 << 1;
$796 = (($794) + 7)|0;
$797 = $$0259$i$i >>> $796;
$798 = $797 & 1;
$799 = $798 | $795;
$$0268$i$i = $799;
}
} while(0);
$800 = (73016 + ($$0268$i$i<<2)|0);
$801 = ((($672)) + 28|0);
HEAP32[$801>>2] = $$0268$i$i;
$802 = ((($672)) + 16|0);
$803 = ((($802)) + 4|0);
HEAP32[$803>>2] = 0;
HEAP32[$802>>2] = 0;
$804 = HEAP32[(72716)>>2]|0;
$805 = 1 << $$0268$i$i;
$806 = $804 & $805;
$807 = ($806|0)==(0);
if ($807) {
$808 = $804 | $805;
HEAP32[(72716)>>2] = $808;
HEAP32[$800>>2] = $672;
$809 = ((($672)) + 24|0);
HEAP32[$809>>2] = $800;
$810 = ((($672)) + 12|0);
HEAP32[$810>>2] = $672;
$811 = ((($672)) + 8|0);
HEAP32[$811>>2] = $672;
break;
}
$812 = HEAP32[$800>>2]|0;
$813 = ((($812)) + 4|0);
$814 = HEAP32[$813>>2]|0;
$815 = $814 & -8;
$816 = ($815|0)==($$0259$i$i|0);
L291: do {
if ($816) {
$$0261$lcssa$i$i = $812;
} else {
$817 = ($$0268$i$i|0)==(31);
$818 = $$0268$i$i >>> 1;
$819 = (25 - ($818))|0;
$820 = $817 ? 0 : $819;
$821 = $$0259$i$i << $820;
$$02604$i$i = $821;$$02613$i$i = $812;
while(1) {
$828 = $$02604$i$i >>> 31;
$829 = (((($$02613$i$i)) + 16|0) + ($828<<2)|0);
$824 = HEAP32[$829>>2]|0;
$830 = ($824|0)==(0|0);
if ($830) {
break;
}
$822 = $$02604$i$i << 1;
$823 = ((($824)) + 4|0);
$825 = HEAP32[$823>>2]|0;
$826 = $825 & -8;
$827 = ($826|0)==($$0259$i$i|0);
if ($827) {
$$0261$lcssa$i$i = $824;
break L291;
} else {
$$02604$i$i = $822;$$02613$i$i = $824;
}
}
HEAP32[$829>>2] = $672;
$831 = ((($672)) + 24|0);
HEAP32[$831>>2] = $$02613$i$i;
$832 = ((($672)) + 12|0);
HEAP32[$832>>2] = $672;
$833 = ((($672)) + 8|0);
HEAP32[$833>>2] = $672;
break L238;
}
} while(0);
$834 = ((($$0261$lcssa$i$i)) + 8|0);
$835 = HEAP32[$834>>2]|0;
$836 = ((($835)) + 12|0);
HEAP32[$836>>2] = $672;
HEAP32[$834>>2] = $672;
$837 = ((($672)) + 8|0);
HEAP32[$837>>2] = $835;
$838 = ((($672)) + 12|0);
HEAP32[$838>>2] = $$0261$lcssa$i$i;
$839 = ((($672)) + 24|0);
HEAP32[$839>>2] = 0;
}
} while(0);
$968 = ((($660)) + 8|0);
$$0 = $968;
STACKTOP = sp;return ($$0|0);
}
}
$$0$i$i$i = (73160);
while(1) {
$840 = HEAP32[$$0$i$i$i>>2]|0;
$841 = ($840>>>0)>($585>>>0);
if (!($841)) {
$842 = ((($$0$i$i$i)) + 4|0);
$843 = HEAP32[$842>>2]|0;
$844 = (($840) + ($843)|0);
$845 = ($844>>>0)>($585>>>0);
if ($845) {
break;
}
}
$846 = ((($$0$i$i$i)) + 8|0);
$847 = HEAP32[$846>>2]|0;
$$0$i$i$i = $847;
}
$848 = ((($844)) + -47|0);
$849 = ((($848)) + 8|0);
$850 = $849;
$851 = $850 & 7;
$852 = ($851|0)==(0);
$853 = (0 - ($850))|0;
$854 = $853 & 7;
$855 = $852 ? 0 : $854;
$856 = (($848) + ($855)|0);
$857 = ((($585)) + 16|0);
$858 = ($856>>>0)<($857>>>0);
$859 = $858 ? $585 : $856;
$860 = ((($859)) + 8|0);
$861 = ((($859)) + 24|0);
$862 = (($$723947$i) + -40)|0;
$863 = ((($$748$i)) + 8|0);
$864 = $863;
$865 = $864 & 7;
$866 = ($865|0)==(0);
$867 = (0 - ($864))|0;
$868 = $867 & 7;
$869 = $866 ? 0 : $868;
$870 = (($$748$i) + ($869)|0);
$871 = (($862) - ($869))|0;
HEAP32[(72736)>>2] = $870;
HEAP32[(72724)>>2] = $871;
$872 = $871 | 1;
$873 = ((($870)) + 4|0);
HEAP32[$873>>2] = $872;
$874 = (($$748$i) + ($862)|0);
$875 = ((($874)) + 4|0);
HEAP32[$875>>2] = 40;
$876 = HEAP32[(73200)>>2]|0;
HEAP32[(72740)>>2] = $876;
$877 = ((($859)) + 4|0);
HEAP32[$877>>2] = 27;
;HEAP32[$860>>2]=HEAP32[(73160)>>2]|0;HEAP32[$860+4>>2]=HEAP32[(73160)+4>>2]|0;HEAP32[$860+8>>2]=HEAP32[(73160)+8>>2]|0;HEAP32[$860+12>>2]=HEAP32[(73160)+12>>2]|0;
HEAP32[(73160)>>2] = $$748$i;
HEAP32[(73164)>>2] = $$723947$i;
HEAP32[(73172)>>2] = 0;
HEAP32[(73168)>>2] = $860;
$879 = $861;
while(1) {
$878 = ((($879)) + 4|0);
HEAP32[$878>>2] = 7;
$880 = ((($879)) + 8|0);
$881 = ($880>>>0)<($844>>>0);
if ($881) {
$879 = $878;
} else {
break;
}
}
$882 = ($859|0)==($585|0);
if (!($882)) {
$883 = $859;
$884 = $585;
$885 = (($883) - ($884))|0;
$886 = HEAP32[$877>>2]|0;
$887 = $886 & -2;
HEAP32[$877>>2] = $887;
$888 = $885 | 1;
$889 = ((($585)) + 4|0);
HEAP32[$889>>2] = $888;
HEAP32[$859>>2] = $885;
$890 = $885 >>> 3;
$891 = ($885>>>0)<(256);
if ($891) {
$892 = $890 << 1;
$893 = (72752 + ($892<<2)|0);
$894 = HEAP32[18178]|0;
$895 = 1 << $890;
$896 = $894 & $895;
$897 = ($896|0)==(0);
if ($897) {
$898 = $894 | $895;
HEAP32[18178] = $898;
$$pre$i$i = ((($893)) + 8|0);
$$0206$i$i = $893;$$pre$phi$i$iZ2D = $$pre$i$i;
} else {
$899 = ((($893)) + 8|0);
$900 = HEAP32[$899>>2]|0;
$$0206$i$i = $900;$$pre$phi$i$iZ2D = $899;
}
HEAP32[$$pre$phi$i$iZ2D>>2] = $585;
$901 = ((($$0206$i$i)) + 12|0);
HEAP32[$901>>2] = $585;
$902 = ((($585)) + 8|0);
HEAP32[$902>>2] = $$0206$i$i;
$903 = ((($585)) + 12|0);
HEAP32[$903>>2] = $893;
break;
}
$904 = $885 >>> 8;
$905 = ($904|0)==(0);
if ($905) {
$$0207$i$i = 0;
} else {
$906 = ($885>>>0)>(16777215);
if ($906) {
$$0207$i$i = 31;
} else {
$907 = (($904) + 1048320)|0;
$908 = $907 >>> 16;
$909 = $908 & 8;
$910 = $904 << $909;
$911 = (($910) + 520192)|0;
$912 = $911 >>> 16;
$913 = $912 & 4;
$914 = $913 | $909;
$915 = $910 << $913;
$916 = (($915) + 245760)|0;
$917 = $916 >>> 16;
$918 = $917 & 2;
$919 = $914 | $918;
$920 = (14 - ($919))|0;
$921 = $915 << $918;
$922 = $921 >>> 15;
$923 = (($920) + ($922))|0;
$924 = $923 << 1;
$925 = (($923) + 7)|0;
$926 = $885 >>> $925;
$927 = $926 & 1;
$928 = $927 | $924;
$$0207$i$i = $928;
}
}
$929 = (73016 + ($$0207$i$i<<2)|0);
$930 = ((($585)) + 28|0);
HEAP32[$930>>2] = $$0207$i$i;
$931 = ((($585)) + 20|0);
HEAP32[$931>>2] = 0;
HEAP32[$857>>2] = 0;
$932 = HEAP32[(72716)>>2]|0;
$933 = 1 << $$0207$i$i;
$934 = $932 & $933;
$935 = ($934|0)==(0);
if ($935) {
$936 = $932 | $933;
HEAP32[(72716)>>2] = $936;
HEAP32[$929>>2] = $585;
$937 = ((($585)) + 24|0);
HEAP32[$937>>2] = $929;
$938 = ((($585)) + 12|0);
HEAP32[$938>>2] = $585;
$939 = ((($585)) + 8|0);
HEAP32[$939>>2] = $585;
break;
}
$940 = HEAP32[$929>>2]|0;
$941 = ((($940)) + 4|0);
$942 = HEAP32[$941>>2]|0;
$943 = $942 & -8;
$944 = ($943|0)==($885|0);
L325: do {
if ($944) {
$$0202$lcssa$i$i = $940;
} else {
$945 = ($$0207$i$i|0)==(31);
$946 = $$0207$i$i >>> 1;
$947 = (25 - ($946))|0;
$948 = $945 ? 0 : $947;
$949 = $885 << $948;
$$02014$i$i = $949;$$02023$i$i = $940;
while(1) {
$956 = $$02014$i$i >>> 31;
$957 = (((($$02023$i$i)) + 16|0) + ($956<<2)|0);
$952 = HEAP32[$957>>2]|0;
$958 = ($952|0)==(0|0);
if ($958) {
break;
}
$950 = $$02014$i$i << 1;
$951 = ((($952)) + 4|0);
$953 = HEAP32[$951>>2]|0;
$954 = $953 & -8;
$955 = ($954|0)==($885|0);
if ($955) {
$$0202$lcssa$i$i = $952;
break L325;
} else {
$$02014$i$i = $950;$$02023$i$i = $952;
}
}
HEAP32[$957>>2] = $585;
$959 = ((($585)) + 24|0);
HEAP32[$959>>2] = $$02023$i$i;
$960 = ((($585)) + 12|0);
HEAP32[$960>>2] = $585;
$961 = ((($585)) + 8|0);
HEAP32[$961>>2] = $585;
break L215;
}
} while(0);
$962 = ((($$0202$lcssa$i$i)) + 8|0);
$963 = HEAP32[$962>>2]|0;
$964 = ((($963)) + 12|0);
HEAP32[$964>>2] = $585;
HEAP32[$962>>2] = $585;
$965 = ((($585)) + 8|0);
HEAP32[$965>>2] = $963;
$966 = ((($585)) + 12|0);
HEAP32[$966>>2] = $$0202$lcssa$i$i;
$967 = ((($585)) + 24|0);
HEAP32[$967>>2] = 0;
}
}
} while(0);
$969 = HEAP32[(72724)>>2]|0;
$970 = ($969>>>0)>($$0192>>>0);
if ($970) {
$971 = (($969) - ($$0192))|0;
HEAP32[(72724)>>2] = $971;
$972 = HEAP32[(72736)>>2]|0;
$973 = (($972) + ($$0192)|0);
HEAP32[(72736)>>2] = $973;
$974 = $971 | 1;
$975 = ((($973)) + 4|0);
HEAP32[$975>>2] = $974;
$976 = $$0192 | 3;
$977 = ((($972)) + 4|0);
HEAP32[$977>>2] = $976;
$978 = ((($972)) + 8|0);
$$0 = $978;
STACKTOP = sp;return ($$0|0);
}
}
$979 = (___errno_location()|0);
HEAP32[$979>>2] = 12;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _free($0) {
$0 = $0|0;
var $$0194$i = 0, $$0194$in$i = 0, $$0346381 = 0, $$0347$lcssa = 0, $$0347380 = 0, $$0359 = 0, $$0366 = 0, $$1 = 0, $$1345 = 0, $$1350 = 0, $$1350$be = 0, $$1350$ph = 0, $$1353 = 0, $$1353$be = 0, $$1353$ph = 0, $$1361 = 0, $$1361$be = 0, $$1361$ph = 0, $$1365 = 0, $$1365$be = 0;
var $$1365$ph = 0, $$2 = 0, $$3 = 0, $$3363 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink = 0, $$sink395 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0;
var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0;
var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0;
var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0;
var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0;
var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond371 = 0, $cond372 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + -8|0);
$3 = HEAP32[(72728)>>2]|0;
$4 = ((($0)) + -4|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & -8;
$7 = (($2) + ($6)|0);
$8 = $5 & 1;
$9 = ($8|0)==(0);
do {
if ($9) {
$10 = HEAP32[$2>>2]|0;
$11 = $5 & 3;
$12 = ($11|0)==(0);
if ($12) {
return;
}
$13 = (0 - ($10))|0;
$14 = (($2) + ($13)|0);
$15 = (($10) + ($6))|0;
$16 = ($14>>>0)<($3>>>0);
if ($16) {
return;
}
$17 = HEAP32[(72732)>>2]|0;
$18 = ($17|0)==($14|0);
if ($18) {
$79 = ((($7)) + 4|0);
$80 = HEAP32[$79>>2]|0;
$81 = $80 & 3;
$82 = ($81|0)==(3);
if (!($82)) {
$$1 = $14;$$1345 = $15;$88 = $14;
break;
}
$83 = (($14) + ($15)|0);
$84 = ((($14)) + 4|0);
$85 = $15 | 1;
$86 = $80 & -2;
HEAP32[(72720)>>2] = $15;
HEAP32[$79>>2] = $86;
HEAP32[$84>>2] = $85;
HEAP32[$83>>2] = $15;
return;
}
$19 = $10 >>> 3;
$20 = ($10>>>0)<(256);
if ($20) {
$21 = ((($14)) + 8|0);
$22 = HEAP32[$21>>2]|0;
$23 = ((($14)) + 12|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($24|0)==($22|0);
if ($25) {
$26 = 1 << $19;
$27 = $26 ^ -1;
$28 = HEAP32[18178]|0;
$29 = $28 & $27;
HEAP32[18178] = $29;
$$1 = $14;$$1345 = $15;$88 = $14;
break;
} else {
$30 = ((($22)) + 12|0);
HEAP32[$30>>2] = $24;
$31 = ((($24)) + 8|0);
HEAP32[$31>>2] = $22;
$$1 = $14;$$1345 = $15;$88 = $14;
break;
}
}
$32 = ((($14)) + 24|0);
$33 = HEAP32[$32>>2]|0;
$34 = ((($14)) + 12|0);
$35 = HEAP32[$34>>2]|0;
$36 = ($35|0)==($14|0);
do {
if ($36) {
$41 = ((($14)) + 16|0);
$42 = ((($41)) + 4|0);
$43 = HEAP32[$42>>2]|0;
$44 = ($43|0)==(0|0);
if ($44) {
$45 = HEAP32[$41>>2]|0;
$46 = ($45|0)==(0|0);
if ($46) {
$$3 = 0;
break;
} else {
$$1350$ph = $45;$$1353$ph = $41;
}
} else {
$$1350$ph = $43;$$1353$ph = $42;
}
$$1350 = $$1350$ph;$$1353 = $$1353$ph;
while(1) {
$47 = ((($$1350)) + 20|0);
$48 = HEAP32[$47>>2]|0;
$49 = ($48|0)==(0|0);
if ($49) {
$50 = ((($$1350)) + 16|0);
$51 = HEAP32[$50>>2]|0;
$52 = ($51|0)==(0|0);
if ($52) {
break;
} else {
$$1350$be = $51;$$1353$be = $50;
}
} else {
$$1350$be = $48;$$1353$be = $47;
}
$$1350 = $$1350$be;$$1353 = $$1353$be;
}
HEAP32[$$1353>>2] = 0;
$$3 = $$1350;
} else {
$37 = ((($14)) + 8|0);
$38 = HEAP32[$37>>2]|0;
$39 = ((($38)) + 12|0);
HEAP32[$39>>2] = $35;
$40 = ((($35)) + 8|0);
HEAP32[$40>>2] = $38;
$$3 = $35;
}
} while(0);
$53 = ($33|0)==(0|0);
if ($53) {
$$1 = $14;$$1345 = $15;$88 = $14;
} else {
$54 = ((($14)) + 28|0);
$55 = HEAP32[$54>>2]|0;
$56 = (73016 + ($55<<2)|0);
$57 = HEAP32[$56>>2]|0;
$58 = ($57|0)==($14|0);
if ($58) {
HEAP32[$56>>2] = $$3;
$cond371 = ($$3|0)==(0|0);
if ($cond371) {
$59 = 1 << $55;
$60 = $59 ^ -1;
$61 = HEAP32[(72716)>>2]|0;
$62 = $61 & $60;
HEAP32[(72716)>>2] = $62;
$$1 = $14;$$1345 = $15;$88 = $14;
break;
}
} else {
$63 = ((($33)) + 16|0);
$64 = HEAP32[$63>>2]|0;
$65 = ($64|0)==($14|0);
$66 = ((($33)) + 20|0);
$$sink = $65 ? $63 : $66;
HEAP32[$$sink>>2] = $$3;
$67 = ($$3|0)==(0|0);
if ($67) {
$$1 = $14;$$1345 = $15;$88 = $14;
break;
}
}
$68 = ((($$3)) + 24|0);
HEAP32[$68>>2] = $33;
$69 = ((($14)) + 16|0);
$70 = HEAP32[$69>>2]|0;
$71 = ($70|0)==(0|0);
if (!($71)) {
$72 = ((($$3)) + 16|0);
HEAP32[$72>>2] = $70;
$73 = ((($70)) + 24|0);
HEAP32[$73>>2] = $$3;
}
$74 = ((($69)) + 4|0);
$75 = HEAP32[$74>>2]|0;
$76 = ($75|0)==(0|0);
if ($76) {
$$1 = $14;$$1345 = $15;$88 = $14;
} else {
$77 = ((($$3)) + 20|0);
HEAP32[$77>>2] = $75;
$78 = ((($75)) + 24|0);
HEAP32[$78>>2] = $$3;
$$1 = $14;$$1345 = $15;$88 = $14;
}
}
} else {
$$1 = $2;$$1345 = $6;$88 = $2;
}
} while(0);
$87 = ($88>>>0)<($7>>>0);
if (!($87)) {
return;
}
$89 = ((($7)) + 4|0);
$90 = HEAP32[$89>>2]|0;
$91 = $90 & 1;
$92 = ($91|0)==(0);
if ($92) {
return;
}
$93 = $90 & 2;
$94 = ($93|0)==(0);
if ($94) {
$95 = HEAP32[(72736)>>2]|0;
$96 = ($95|0)==($7|0);
if ($96) {
$97 = HEAP32[(72724)>>2]|0;
$98 = (($97) + ($$1345))|0;
HEAP32[(72724)>>2] = $98;
HEAP32[(72736)>>2] = $$1;
$99 = $98 | 1;
$100 = ((($$1)) + 4|0);
HEAP32[$100>>2] = $99;
$101 = HEAP32[(72732)>>2]|0;
$102 = ($$1|0)==($101|0);
if (!($102)) {
return;
}
HEAP32[(72732)>>2] = 0;
HEAP32[(72720)>>2] = 0;
return;
}
$103 = HEAP32[(72732)>>2]|0;
$104 = ($103|0)==($7|0);
if ($104) {
$105 = HEAP32[(72720)>>2]|0;
$106 = (($105) + ($$1345))|0;
HEAP32[(72720)>>2] = $106;
HEAP32[(72732)>>2] = $88;
$107 = $106 | 1;
$108 = ((($$1)) + 4|0);
HEAP32[$108>>2] = $107;
$109 = (($88) + ($106)|0);
HEAP32[$109>>2] = $106;
return;
}
$110 = $90 & -8;
$111 = (($110) + ($$1345))|0;
$112 = $90 >>> 3;
$113 = ($90>>>0)<(256);
do {
if ($113) {
$114 = ((($7)) + 8|0);
$115 = HEAP32[$114>>2]|0;
$116 = ((($7)) + 12|0);
$117 = HEAP32[$116>>2]|0;
$118 = ($117|0)==($115|0);
if ($118) {
$119 = 1 << $112;
$120 = $119 ^ -1;
$121 = HEAP32[18178]|0;
$122 = $121 & $120;
HEAP32[18178] = $122;
break;
} else {
$123 = ((($115)) + 12|0);
HEAP32[$123>>2] = $117;
$124 = ((($117)) + 8|0);
HEAP32[$124>>2] = $115;
break;
}
} else {
$125 = ((($7)) + 24|0);
$126 = HEAP32[$125>>2]|0;
$127 = ((($7)) + 12|0);
$128 = HEAP32[$127>>2]|0;
$129 = ($128|0)==($7|0);
do {
if ($129) {
$134 = ((($7)) + 16|0);
$135 = ((($134)) + 4|0);
$136 = HEAP32[$135>>2]|0;
$137 = ($136|0)==(0|0);
if ($137) {
$138 = HEAP32[$134>>2]|0;
$139 = ($138|0)==(0|0);
if ($139) {
$$3363 = 0;
break;
} else {
$$1361$ph = $138;$$1365$ph = $134;
}
} else {
$$1361$ph = $136;$$1365$ph = $135;
}
$$1361 = $$1361$ph;$$1365 = $$1365$ph;
while(1) {
$140 = ((($$1361)) + 20|0);
$141 = HEAP32[$140>>2]|0;
$142 = ($141|0)==(0|0);
if ($142) {
$143 = ((($$1361)) + 16|0);
$144 = HEAP32[$143>>2]|0;
$145 = ($144|0)==(0|0);
if ($145) {
break;
} else {
$$1361$be = $144;$$1365$be = $143;
}
} else {
$$1361$be = $141;$$1365$be = $140;
}
$$1361 = $$1361$be;$$1365 = $$1365$be;
}
HEAP32[$$1365>>2] = 0;
$$3363 = $$1361;
} else {
$130 = ((($7)) + 8|0);
$131 = HEAP32[$130>>2]|0;
$132 = ((($131)) + 12|0);
HEAP32[$132>>2] = $128;
$133 = ((($128)) + 8|0);
HEAP32[$133>>2] = $131;
$$3363 = $128;
}
} while(0);
$146 = ($126|0)==(0|0);
if (!($146)) {
$147 = ((($7)) + 28|0);
$148 = HEAP32[$147>>2]|0;
$149 = (73016 + ($148<<2)|0);
$150 = HEAP32[$149>>2]|0;
$151 = ($150|0)==($7|0);
if ($151) {
HEAP32[$149>>2] = $$3363;
$cond372 = ($$3363|0)==(0|0);
if ($cond372) {
$152 = 1 << $148;
$153 = $152 ^ -1;
$154 = HEAP32[(72716)>>2]|0;
$155 = $154 & $153;
HEAP32[(72716)>>2] = $155;
break;
}
} else {
$156 = ((($126)) + 16|0);
$157 = HEAP32[$156>>2]|0;
$158 = ($157|0)==($7|0);
$159 = ((($126)) + 20|0);
$$sink395 = $158 ? $156 : $159;
HEAP32[$$sink395>>2] = $$3363;
$160 = ($$3363|0)==(0|0);
if ($160) {
break;
}
}
$161 = ((($$3363)) + 24|0);
HEAP32[$161>>2] = $126;
$162 = ((($7)) + 16|0);
$163 = HEAP32[$162>>2]|0;
$164 = ($163|0)==(0|0);
if (!($164)) {
$165 = ((($$3363)) + 16|0);
HEAP32[$165>>2] = $163;
$166 = ((($163)) + 24|0);
HEAP32[$166>>2] = $$3363;
}
$167 = ((($162)) + 4|0);
$168 = HEAP32[$167>>2]|0;
$169 = ($168|0)==(0|0);
if (!($169)) {
$170 = ((($$3363)) + 20|0);
HEAP32[$170>>2] = $168;
$171 = ((($168)) + 24|0);
HEAP32[$171>>2] = $$3363;
}
}
}
} while(0);
$172 = $111 | 1;
$173 = ((($$1)) + 4|0);
HEAP32[$173>>2] = $172;
$174 = (($88) + ($111)|0);
HEAP32[$174>>2] = $111;
$175 = HEAP32[(72732)>>2]|0;
$176 = ($$1|0)==($175|0);
if ($176) {
HEAP32[(72720)>>2] = $111;
return;
} else {
$$2 = $111;
}
} else {
$177 = $90 & -2;
HEAP32[$89>>2] = $177;
$178 = $$1345 | 1;
$179 = ((($$1)) + 4|0);
HEAP32[$179>>2] = $178;
$180 = (($88) + ($$1345)|0);
HEAP32[$180>>2] = $$1345;
$$2 = $$1345;
}
$181 = $$2 >>> 3;
$182 = ($$2>>>0)<(256);
if ($182) {
$183 = $181 << 1;
$184 = (72752 + ($183<<2)|0);
$185 = HEAP32[18178]|0;
$186 = 1 << $181;
$187 = $185 & $186;
$188 = ($187|0)==(0);
if ($188) {
$189 = $185 | $186;
HEAP32[18178] = $189;
$$pre = ((($184)) + 8|0);
$$0366 = $184;$$pre$phiZ2D = $$pre;
} else {
$190 = ((($184)) + 8|0);
$191 = HEAP32[$190>>2]|0;
$$0366 = $191;$$pre$phiZ2D = $190;
}
HEAP32[$$pre$phiZ2D>>2] = $$1;
$192 = ((($$0366)) + 12|0);
HEAP32[$192>>2] = $$1;
$193 = ((($$1)) + 8|0);
HEAP32[$193>>2] = $$0366;
$194 = ((($$1)) + 12|0);
HEAP32[$194>>2] = $184;
return;
}
$195 = $$2 >>> 8;
$196 = ($195|0)==(0);
if ($196) {
$$0359 = 0;
} else {
$197 = ($$2>>>0)>(16777215);
if ($197) {
$$0359 = 31;
} else {
$198 = (($195) + 1048320)|0;
$199 = $198 >>> 16;
$200 = $199 & 8;
$201 = $195 << $200;
$202 = (($201) + 520192)|0;
$203 = $202 >>> 16;
$204 = $203 & 4;
$205 = $204 | $200;
$206 = $201 << $204;
$207 = (($206) + 245760)|0;
$208 = $207 >>> 16;
$209 = $208 & 2;
$210 = $205 | $209;
$211 = (14 - ($210))|0;
$212 = $206 << $209;
$213 = $212 >>> 15;
$214 = (($211) + ($213))|0;
$215 = $214 << 1;
$216 = (($214) + 7)|0;
$217 = $$2 >>> $216;
$218 = $217 & 1;
$219 = $218 | $215;
$$0359 = $219;
}
}
$220 = (73016 + ($$0359<<2)|0);
$221 = ((($$1)) + 28|0);
HEAP32[$221>>2] = $$0359;
$222 = ((($$1)) + 16|0);
$223 = ((($$1)) + 20|0);
HEAP32[$223>>2] = 0;
HEAP32[$222>>2] = 0;
$224 = HEAP32[(72716)>>2]|0;
$225 = 1 << $$0359;
$226 = $224 & $225;
$227 = ($226|0)==(0);
L112: do {
if ($227) {
$228 = $224 | $225;
HEAP32[(72716)>>2] = $228;
HEAP32[$220>>2] = $$1;
$229 = ((($$1)) + 24|0);
HEAP32[$229>>2] = $220;
$230 = ((($$1)) + 12|0);
HEAP32[$230>>2] = $$1;
$231 = ((($$1)) + 8|0);
HEAP32[$231>>2] = $$1;
} else {
$232 = HEAP32[$220>>2]|0;
$233 = ((($232)) + 4|0);
$234 = HEAP32[$233>>2]|0;
$235 = $234 & -8;
$236 = ($235|0)==($$2|0);
L115: do {
if ($236) {
$$0347$lcssa = $232;
} else {
$237 = ($$0359|0)==(31);
$238 = $$0359 >>> 1;
$239 = (25 - ($238))|0;
$240 = $237 ? 0 : $239;
$241 = $$2 << $240;
$$0346381 = $241;$$0347380 = $232;
while(1) {
$248 = $$0346381 >>> 31;
$249 = (((($$0347380)) + 16|0) + ($248<<2)|0);
$244 = HEAP32[$249>>2]|0;
$250 = ($244|0)==(0|0);
if ($250) {
break;
}
$242 = $$0346381 << 1;
$243 = ((($244)) + 4|0);
$245 = HEAP32[$243>>2]|0;
$246 = $245 & -8;
$247 = ($246|0)==($$2|0);
if ($247) {
$$0347$lcssa = $244;
break L115;
} else {
$$0346381 = $242;$$0347380 = $244;
}
}
HEAP32[$249>>2] = $$1;
$251 = ((($$1)) + 24|0);
HEAP32[$251>>2] = $$0347380;
$252 = ((($$1)) + 12|0);
HEAP32[$252>>2] = $$1;
$253 = ((($$1)) + 8|0);
HEAP32[$253>>2] = $$1;
break L112;
}
} while(0);
$254 = ((($$0347$lcssa)) + 8|0);
$255 = HEAP32[$254>>2]|0;
$256 = ((($255)) + 12|0);
HEAP32[$256>>2] = $$1;
HEAP32[$254>>2] = $$1;
$257 = ((($$1)) + 8|0);
HEAP32[$257>>2] = $255;
$258 = ((($$1)) + 12|0);
HEAP32[$258>>2] = $$0347$lcssa;
$259 = ((($$1)) + 24|0);
HEAP32[$259>>2] = 0;
}
} while(0);
$260 = HEAP32[(72744)>>2]|0;
$261 = (($260) + -1)|0;
HEAP32[(72744)>>2] = $261;
$262 = ($261|0)==(0);
if (!($262)) {
return;
}
$$0194$in$i = (73168);
while(1) {
$$0194$i = HEAP32[$$0194$in$i>>2]|0;
$263 = ($$0194$i|0)==(0|0);
$264 = ((($$0194$i)) + 8|0);
if ($263) {
break;
} else {
$$0194$in$i = $264;
}
}
HEAP32[(72744)>>2] = -1;
return;
}
function _calloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0);
if ($2) {
$$0 = 0;
} else {
$3 = Math_imul($1, $0)|0;
$4 = $1 | $0;
$5 = ($4>>>0)>(65535);
if ($5) {
$6 = (($3>>>0) / ($0>>>0))&-1;
$7 = ($6|0)==($1|0);
$spec$select = $7 ? $3 : -1;
$$0 = $spec$select;
} else {
$$0 = $3;
}
}
$8 = (_malloc($$0)|0);
$9 = ($8|0)==(0|0);
if ($9) {
return ($8|0);
}
$10 = ((($8)) + -4|0);
$11 = HEAP32[$10>>2]|0;
$12 = $11 & 3;
$13 = ($12|0)==(0);
if ($13) {
return ($8|0);
}
(_memset(($8|0),0,($$0|0))|0);
return ($8|0);
}
function _realloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
$3 = (_malloc($1)|0);
$$1 = $3;
return ($$1|0);
}
$4 = ($1>>>0)>(4294967231);
if ($4) {
$5 = (___errno_location()|0);
HEAP32[$5>>2] = 12;
$$1 = 0;
return ($$1|0);
}
$6 = ($1>>>0)<(11);
$7 = (($1) + 11)|0;
$8 = $7 & -8;
$9 = $6 ? 16 : $8;
$10 = ((($0)) + -8|0);
$11 = (_try_realloc_chunk($10,$9)|0);
$12 = ($11|0)==(0|0);
if (!($12)) {
$13 = ((($11)) + 8|0);
$$1 = $13;
return ($$1|0);
}
$14 = (_malloc($1)|0);
$15 = ($14|0)==(0|0);
if ($15) {
$$1 = 0;
return ($$1|0);
}
$16 = ((($0)) + -4|0);
$17 = HEAP32[$16>>2]|0;
$18 = $17 & -8;
$19 = $17 & 3;
$20 = ($19|0)==(0);
$21 = $20 ? 8 : 4;
$22 = (($18) - ($21))|0;
$23 = ($22>>>0)<($1>>>0);
$24 = $23 ? $22 : $1;
(_memcpy(($14|0),($0|0),($24|0))|0);
_free($0);
$$1 = $14;
return ($$1|0);
}
function _try_realloc_chunk($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$1245 = 0, $$1245$be = 0, $$1245$ph = 0, $$1248 = 0, $$1248$be = 0, $$1248$ph = 0, $$2 = 0, $$3 = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
var $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $storemerge = 0, $storemerge1 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & -8;
$5 = (($0) + ($4)|0);
$6 = $3 & 3;
$7 = ($6|0)==(0);
if ($7) {
$8 = ($1>>>0)<(256);
if ($8) {
$$2 = 0;
return ($$2|0);
}
$9 = (($1) + 4)|0;
$10 = ($4>>>0)<($9>>>0);
if (!($10)) {
$11 = (($4) - ($1))|0;
$12 = HEAP32[(73192)>>2]|0;
$13 = $12 << 1;
$14 = ($11>>>0)>($13>>>0);
if (!($14)) {
$$2 = $0;
return ($$2|0);
}
}
$$2 = 0;
return ($$2|0);
}
$15 = ($4>>>0)<($1>>>0);
if (!($15)) {
$16 = (($4) - ($1))|0;
$17 = ($16>>>0)>(15);
if (!($17)) {
$$2 = $0;
return ($$2|0);
}
$18 = (($0) + ($1)|0);
$19 = $3 & 1;
$20 = $19 | $1;
$21 = $20 | 2;
HEAP32[$2>>2] = $21;
$22 = ((($18)) + 4|0);
$23 = $16 | 3;
HEAP32[$22>>2] = $23;
$24 = ((($5)) + 4|0);
$25 = HEAP32[$24>>2]|0;
$26 = $25 | 1;
HEAP32[$24>>2] = $26;
_dispose_chunk($18,$16);
$$2 = $0;
return ($$2|0);
}
$27 = HEAP32[(72736)>>2]|0;
$28 = ($27|0)==($5|0);
if ($28) {
$29 = HEAP32[(72724)>>2]|0;
$30 = (($29) + ($4))|0;
$31 = ($30>>>0)>($1>>>0);
$32 = (($30) - ($1))|0;
$33 = (($0) + ($1)|0);
if (!($31)) {
$$2 = 0;
return ($$2|0);
}
$34 = $32 | 1;
$35 = ((($33)) + 4|0);
$36 = $3 & 1;
$37 = $36 | $1;
$38 = $37 | 2;
HEAP32[$2>>2] = $38;
HEAP32[$35>>2] = $34;
HEAP32[(72736)>>2] = $33;
HEAP32[(72724)>>2] = $32;
$$2 = $0;
return ($$2|0);
}
$39 = HEAP32[(72732)>>2]|0;
$40 = ($39|0)==($5|0);
if ($40) {
$41 = HEAP32[(72720)>>2]|0;
$42 = (($41) + ($4))|0;
$43 = ($42>>>0)<($1>>>0);
if ($43) {
$$2 = 0;
return ($$2|0);
}
$44 = (($42) - ($1))|0;
$45 = ($44>>>0)>(15);
if ($45) {
$46 = (($0) + ($1)|0);
$47 = (($0) + ($42)|0);
$48 = $3 & 1;
$49 = $48 | $1;
$50 = $49 | 2;
HEAP32[$2>>2] = $50;
$51 = ((($46)) + 4|0);
$52 = $44 | 1;
HEAP32[$51>>2] = $52;
HEAP32[$47>>2] = $44;
$53 = ((($47)) + 4|0);
$54 = HEAP32[$53>>2]|0;
$55 = $54 & -2;
HEAP32[$53>>2] = $55;
$storemerge = $46;$storemerge1 = $44;
} else {
$56 = $3 & 1;
$57 = $56 | $42;
$58 = $57 | 2;
HEAP32[$2>>2] = $58;
$59 = (($0) + ($42)|0);
$60 = ((($59)) + 4|0);
$61 = HEAP32[$60>>2]|0;
$62 = $61 | 1;
HEAP32[$60>>2] = $62;
$storemerge = 0;$storemerge1 = 0;
}
HEAP32[(72720)>>2] = $storemerge1;
HEAP32[(72732)>>2] = $storemerge;
$$2 = $0;
return ($$2|0);
}
$63 = ((($5)) + 4|0);
$64 = HEAP32[$63>>2]|0;
$65 = $64 & 2;
$66 = ($65|0)==(0);
if (!($66)) {
$$2 = 0;
return ($$2|0);
}
$67 = $64 & -8;
$68 = (($67) + ($4))|0;
$69 = ($68>>>0)<($1>>>0);
if ($69) {
$$2 = 0;
return ($$2|0);
}
$70 = (($68) - ($1))|0;
$71 = $64 >>> 3;
$72 = ($64>>>0)<(256);
do {
if ($72) {
$73 = ((($5)) + 8|0);
$74 = HEAP32[$73>>2]|0;
$75 = ((($5)) + 12|0);
$76 = HEAP32[$75>>2]|0;
$77 = ($76|0)==($74|0);
if ($77) {
$78 = 1 << $71;
$79 = $78 ^ -1;
$80 = HEAP32[18178]|0;
$81 = $80 & $79;
HEAP32[18178] = $81;
break;
} else {
$82 = ((($74)) + 12|0);
HEAP32[$82>>2] = $76;
$83 = ((($76)) + 8|0);
HEAP32[$83>>2] = $74;
break;
}
} else {
$84 = ((($5)) + 24|0);
$85 = HEAP32[$84>>2]|0;
$86 = ((($5)) + 12|0);
$87 = HEAP32[$86>>2]|0;
$88 = ($87|0)==($5|0);
do {
if ($88) {
$93 = ((($5)) + 16|0);
$94 = ((($93)) + 4|0);
$95 = HEAP32[$94>>2]|0;
$96 = ($95|0)==(0|0);
if ($96) {
$97 = HEAP32[$93>>2]|0;
$98 = ($97|0)==(0|0);
if ($98) {
$$3 = 0;
break;
} else {
$$1245$ph = $97;$$1248$ph = $93;
}
} else {
$$1245$ph = $95;$$1248$ph = $94;
}
$$1245 = $$1245$ph;$$1248 = $$1248$ph;
while(1) {
$99 = ((($$1245)) + 20|0);
$100 = HEAP32[$99>>2]|0;
$101 = ($100|0)==(0|0);
if ($101) {
$102 = ((($$1245)) + 16|0);
$103 = HEAP32[$102>>2]|0;
$104 = ($103|0)==(0|0);
if ($104) {
break;
} else {
$$1245$be = $103;$$1248$be = $102;
}
} else {
$$1245$be = $100;$$1248$be = $99;
}
$$1245 = $$1245$be;$$1248 = $$1248$be;
}
HEAP32[$$1248>>2] = 0;
$$3 = $$1245;
} else {
$89 = ((($5)) + 8|0);
$90 = HEAP32[$89>>2]|0;
$91 = ((($90)) + 12|0);
HEAP32[$91>>2] = $87;
$92 = ((($87)) + 8|0);
HEAP32[$92>>2] = $90;
$$3 = $87;
}
} while(0);
$105 = ($85|0)==(0|0);
if (!($105)) {
$106 = ((($5)) + 28|0);
$107 = HEAP32[$106>>2]|0;
$108 = (73016 + ($107<<2)|0);
$109 = HEAP32[$108>>2]|0;
$110 = ($109|0)==($5|0);
if ($110) {
HEAP32[$108>>2] = $$3;
$cond = ($$3|0)==(0|0);
if ($cond) {
$111 = 1 << $107;
$112 = $111 ^ -1;
$113 = HEAP32[(72716)>>2]|0;
$114 = $113 & $112;
HEAP32[(72716)>>2] = $114;
break;
}
} else {
$115 = ((($85)) + 16|0);
$116 = HEAP32[$115>>2]|0;
$117 = ($116|0)==($5|0);
$118 = ((($85)) + 20|0);
$$sink = $117 ? $115 : $118;
HEAP32[$$sink>>2] = $$3;
$119 = ($$3|0)==(0|0);
if ($119) {
break;
}
}
$120 = ((($$3)) + 24|0);
HEAP32[$120>>2] = $85;
$121 = ((($5)) + 16|0);
$122 = HEAP32[$121>>2]|0;
$123 = ($122|0)==(0|0);
if (!($123)) {
$124 = ((($$3)) + 16|0);
HEAP32[$124>>2] = $122;
$125 = ((($122)) + 24|0);
HEAP32[$125>>2] = $$3;
}
$126 = ((($121)) + 4|0);
$127 = HEAP32[$126>>2]|0;
$128 = ($127|0)==(0|0);
if (!($128)) {
$129 = ((($$3)) + 20|0);
HEAP32[$129>>2] = $127;
$130 = ((($127)) + 24|0);
HEAP32[$130>>2] = $$3;
}
}
}
} while(0);
$131 = ($70>>>0)<(16);
if ($131) {
$132 = $3 & 1;
$133 = $132 | $68;
$134 = $133 | 2;
HEAP32[$2>>2] = $134;
$135 = (($0) + ($68)|0);
$136 = ((($135)) + 4|0);
$137 = HEAP32[$136>>2]|0;
$138 = $137 | 1;
HEAP32[$136>>2] = $138;
$$2 = $0;
return ($$2|0);
} else {
$139 = (($0) + ($1)|0);
$140 = $3 & 1;
$141 = $140 | $1;
$142 = $141 | 2;
HEAP32[$2>>2] = $142;
$143 = ((($139)) + 4|0);
$144 = $70 | 3;
HEAP32[$143>>2] = $144;
$145 = (($0) + ($68)|0);
$146 = ((($145)) + 4|0);
$147 = HEAP32[$146>>2]|0;
$148 = $147 | 1;
HEAP32[$146>>2] = $148;
_dispose_chunk($139,$70);
$$2 = $0;
return ($$2|0);
}
return (0)|0;
}
function _dispose_chunk($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$03649 = 0, $$0365$lcssa = 0, $$03658 = 0, $$0376 = 0, $$0383 = 0, $$1 = 0, $$1363 = 0, $$1371 = 0, $$1371$be = 0, $$1371$ph = 0, $$1374 = 0, $$1374$be = 0, $$1374$ph = 0, $$1378 = 0, $$1378$be = 0, $$1378$ph = 0, $$1382 = 0, $$1382$be = 0, $$1382$ph = 0, $$2 = 0;
var $$3 = 0, $$3380 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink = 0, $$sink24 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0;
var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0;
var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (($0) + ($1)|0);
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 1;
$6 = ($5|0)==(0);
do {
if ($6) {
$7 = HEAP32[$0>>2]|0;
$8 = $4 & 3;
$9 = ($8|0)==(0);
if ($9) {
return;
}
$10 = (0 - ($7))|0;
$11 = (($0) + ($10)|0);
$12 = (($7) + ($1))|0;
$13 = HEAP32[(72732)>>2]|0;
$14 = ($13|0)==($11|0);
if ($14) {
$75 = ((($2)) + 4|0);
$76 = HEAP32[$75>>2]|0;
$77 = $76 & 3;
$78 = ($77|0)==(3);
if (!($78)) {
$$1 = $11;$$1363 = $12;
break;
}
$79 = ((($11)) + 4|0);
$80 = $12 | 1;
$81 = $76 & -2;
HEAP32[(72720)>>2] = $12;
HEAP32[$75>>2] = $81;
HEAP32[$79>>2] = $80;
HEAP32[$2>>2] = $12;
return;
}
$15 = $7 >>> 3;
$16 = ($7>>>0)<(256);
if ($16) {
$17 = ((($11)) + 8|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($11)) + 12|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20|0)==($18|0);
if ($21) {
$22 = 1 << $15;
$23 = $22 ^ -1;
$24 = HEAP32[18178]|0;
$25 = $24 & $23;
HEAP32[18178] = $25;
$$1 = $11;$$1363 = $12;
break;
} else {
$26 = ((($18)) + 12|0);
HEAP32[$26>>2] = $20;
$27 = ((($20)) + 8|0);
HEAP32[$27>>2] = $18;
$$1 = $11;$$1363 = $12;
break;
}
}
$28 = ((($11)) + 24|0);
$29 = HEAP32[$28>>2]|0;
$30 = ((($11)) + 12|0);
$31 = HEAP32[$30>>2]|0;
$32 = ($31|0)==($11|0);
do {
if ($32) {
$37 = ((($11)) + 16|0);
$38 = ((($37)) + 4|0);
$39 = HEAP32[$38>>2]|0;
$40 = ($39|0)==(0|0);
if ($40) {
$41 = HEAP32[$37>>2]|0;
$42 = ($41|0)==(0|0);
if ($42) {
$$3 = 0;
break;
} else {
$$1371$ph = $41;$$1374$ph = $37;
}
} else {
$$1371$ph = $39;$$1374$ph = $38;
}
$$1371 = $$1371$ph;$$1374 = $$1374$ph;
while(1) {
$43 = ((($$1371)) + 20|0);
$44 = HEAP32[$43>>2]|0;
$45 = ($44|0)==(0|0);
if ($45) {
$46 = ((($$1371)) + 16|0);
$47 = HEAP32[$46>>2]|0;
$48 = ($47|0)==(0|0);
if ($48) {
break;
} else {
$$1371$be = $47;$$1374$be = $46;
}
} else {
$$1371$be = $44;$$1374$be = $43;
}
$$1371 = $$1371$be;$$1374 = $$1374$be;
}
HEAP32[$$1374>>2] = 0;
$$3 = $$1371;
} else {
$33 = ((($11)) + 8|0);
$34 = HEAP32[$33>>2]|0;
$35 = ((($34)) + 12|0);
HEAP32[$35>>2] = $31;
$36 = ((($31)) + 8|0);
HEAP32[$36>>2] = $34;
$$3 = $31;
}
} while(0);
$49 = ($29|0)==(0|0);
if ($49) {
$$1 = $11;$$1363 = $12;
} else {
$50 = ((($11)) + 28|0);
$51 = HEAP32[$50>>2]|0;
$52 = (73016 + ($51<<2)|0);
$53 = HEAP32[$52>>2]|0;
$54 = ($53|0)==($11|0);
if ($54) {
HEAP32[$52>>2] = $$3;
$cond = ($$3|0)==(0|0);
if ($cond) {
$55 = 1 << $51;
$56 = $55 ^ -1;
$57 = HEAP32[(72716)>>2]|0;
$58 = $57 & $56;
HEAP32[(72716)>>2] = $58;
$$1 = $11;$$1363 = $12;
break;
}
} else {
$59 = ((($29)) + 16|0);
$60 = HEAP32[$59>>2]|0;
$61 = ($60|0)==($11|0);
$62 = ((($29)) + 20|0);
$$sink = $61 ? $59 : $62;
HEAP32[$$sink>>2] = $$3;
$63 = ($$3|0)==(0|0);
if ($63) {
$$1 = $11;$$1363 = $12;
break;
}
}
$64 = ((($$3)) + 24|0);
HEAP32[$64>>2] = $29;
$65 = ((($11)) + 16|0);
$66 = HEAP32[$65>>2]|0;
$67 = ($66|0)==(0|0);
if (!($67)) {
$68 = ((($$3)) + 16|0);
HEAP32[$68>>2] = $66;
$69 = ((($66)) + 24|0);
HEAP32[$69>>2] = $$3;
}
$70 = ((($65)) + 4|0);
$71 = HEAP32[$70>>2]|0;
$72 = ($71|0)==(0|0);
if ($72) {
$$1 = $11;$$1363 = $12;
} else {
$73 = ((($$3)) + 20|0);
HEAP32[$73>>2] = $71;
$74 = ((($71)) + 24|0);
HEAP32[$74>>2] = $$3;
$$1 = $11;$$1363 = $12;
}
}
} else {
$$1 = $0;$$1363 = $1;
}
} while(0);
$82 = ((($2)) + 4|0);
$83 = HEAP32[$82>>2]|0;
$84 = $83 & 2;
$85 = ($84|0)==(0);
if ($85) {
$86 = HEAP32[(72736)>>2]|0;
$87 = ($86|0)==($2|0);
if ($87) {
$88 = HEAP32[(72724)>>2]|0;
$89 = (($88) + ($$1363))|0;
HEAP32[(72724)>>2] = $89;
HEAP32[(72736)>>2] = $$1;
$90 = $89 | 1;
$91 = ((($$1)) + 4|0);
HEAP32[$91>>2] = $90;
$92 = HEAP32[(72732)>>2]|0;
$93 = ($$1|0)==($92|0);
if (!($93)) {
return;
}
HEAP32[(72732)>>2] = 0;
HEAP32[(72720)>>2] = 0;
return;
}
$94 = HEAP32[(72732)>>2]|0;
$95 = ($94|0)==($2|0);
if ($95) {
$96 = HEAP32[(72720)>>2]|0;
$97 = (($96) + ($$1363))|0;
HEAP32[(72720)>>2] = $97;
HEAP32[(72732)>>2] = $$1;
$98 = $97 | 1;
$99 = ((($$1)) + 4|0);
HEAP32[$99>>2] = $98;
$100 = (($$1) + ($97)|0);
HEAP32[$100>>2] = $97;
return;
}
$101 = $83 & -8;
$102 = (($101) + ($$1363))|0;
$103 = $83 >>> 3;
$104 = ($83>>>0)<(256);
do {
if ($104) {
$105 = ((($2)) + 8|0);
$106 = HEAP32[$105>>2]|0;
$107 = ((($2)) + 12|0);
$108 = HEAP32[$107>>2]|0;
$109 = ($108|0)==($106|0);
if ($109) {
$110 = 1 << $103;
$111 = $110 ^ -1;
$112 = HEAP32[18178]|0;
$113 = $112 & $111;
HEAP32[18178] = $113;
break;
} else {
$114 = ((($106)) + 12|0);
HEAP32[$114>>2] = $108;
$115 = ((($108)) + 8|0);
HEAP32[$115>>2] = $106;
break;
}
} else {
$116 = ((($2)) + 24|0);
$117 = HEAP32[$116>>2]|0;
$118 = ((($2)) + 12|0);
$119 = HEAP32[$118>>2]|0;
$120 = ($119|0)==($2|0);
do {
if ($120) {
$125 = ((($2)) + 16|0);
$126 = ((($125)) + 4|0);
$127 = HEAP32[$126>>2]|0;
$128 = ($127|0)==(0|0);
if ($128) {
$129 = HEAP32[$125>>2]|0;
$130 = ($129|0)==(0|0);
if ($130) {
$$3380 = 0;
break;
} else {
$$1378$ph = $129;$$1382$ph = $125;
}
} else {
$$1378$ph = $127;$$1382$ph = $126;
}
$$1378 = $$1378$ph;$$1382 = $$1382$ph;
while(1) {
$131 = ((($$1378)) + 20|0);
$132 = HEAP32[$131>>2]|0;
$133 = ($132|0)==(0|0);
if ($133) {
$134 = ((($$1378)) + 16|0);
$135 = HEAP32[$134>>2]|0;
$136 = ($135|0)==(0|0);
if ($136) {
break;
} else {
$$1378$be = $135;$$1382$be = $134;
}
} else {
$$1378$be = $132;$$1382$be = $131;
}
$$1378 = $$1378$be;$$1382 = $$1382$be;
}
HEAP32[$$1382>>2] = 0;
$$3380 = $$1378;
} else {
$121 = ((($2)) + 8|0);
$122 = HEAP32[$121>>2]|0;
$123 = ((($122)) + 12|0);
HEAP32[$123>>2] = $119;
$124 = ((($119)) + 8|0);
HEAP32[$124>>2] = $122;
$$3380 = $119;
}
} while(0);
$137 = ($117|0)==(0|0);
if (!($137)) {
$138 = ((($2)) + 28|0);
$139 = HEAP32[$138>>2]|0;
$140 = (73016 + ($139<<2)|0);
$141 = HEAP32[$140>>2]|0;
$142 = ($141|0)==($2|0);
if ($142) {
HEAP32[$140>>2] = $$3380;
$cond4 = ($$3380|0)==(0|0);
if ($cond4) {
$143 = 1 << $139;
$144 = $143 ^ -1;
$145 = HEAP32[(72716)>>2]|0;
$146 = $145 & $144;
HEAP32[(72716)>>2] = $146;
break;
}
} else {
$147 = ((($117)) + 16|0);
$148 = HEAP32[$147>>2]|0;
$149 = ($148|0)==($2|0);
$150 = ((($117)) + 20|0);
$$sink24 = $149 ? $147 : $150;
HEAP32[$$sink24>>2] = $$3380;
$151 = ($$3380|0)==(0|0);
if ($151) {
break;
}
}
$152 = ((($$3380)) + 24|0);
HEAP32[$152>>2] = $117;
$153 = ((($2)) + 16|0);
$154 = HEAP32[$153>>2]|0;
$155 = ($154|0)==(0|0);
if (!($155)) {
$156 = ((($$3380)) + 16|0);
HEAP32[$156>>2] = $154;
$157 = ((($154)) + 24|0);
HEAP32[$157>>2] = $$3380;
}
$158 = ((($153)) + 4|0);
$159 = HEAP32[$158>>2]|0;
$160 = ($159|0)==(0|0);
if (!($160)) {
$161 = ((($$3380)) + 20|0);
HEAP32[$161>>2] = $159;
$162 = ((($159)) + 24|0);
HEAP32[$162>>2] = $$3380;
}
}
}
} while(0);
$163 = $102 | 1;
$164 = ((($$1)) + 4|0);
HEAP32[$164>>2] = $163;
$165 = (($$1) + ($102)|0);
HEAP32[$165>>2] = $102;
$166 = HEAP32[(72732)>>2]|0;
$167 = ($$1|0)==($166|0);
if ($167) {
HEAP32[(72720)>>2] = $102;
return;
} else {
$$2 = $102;
}
} else {
$168 = $83 & -2;
HEAP32[$82>>2] = $168;
$169 = $$1363 | 1;
$170 = ((($$1)) + 4|0);
HEAP32[$170>>2] = $169;
$171 = (($$1) + ($$1363)|0);
HEAP32[$171>>2] = $$1363;
$$2 = $$1363;
}
$172 = $$2 >>> 3;
$173 = ($$2>>>0)<(256);
if ($173) {
$174 = $172 << 1;
$175 = (72752 + ($174<<2)|0);
$176 = HEAP32[18178]|0;
$177 = 1 << $172;
$178 = $176 & $177;
$179 = ($178|0)==(0);
if ($179) {
$180 = $176 | $177;
HEAP32[18178] = $180;
$$pre = ((($175)) + 8|0);
$$0383 = $175;$$pre$phiZ2D = $$pre;
} else {
$181 = ((($175)) + 8|0);
$182 = HEAP32[$181>>2]|0;
$$0383 = $182;$$pre$phiZ2D = $181;
}
HEAP32[$$pre$phiZ2D>>2] = $$1;
$183 = ((($$0383)) + 12|0);
HEAP32[$183>>2] = $$1;
$184 = ((($$1)) + 8|0);
HEAP32[$184>>2] = $$0383;
$185 = ((($$1)) + 12|0);
HEAP32[$185>>2] = $175;
return;
}
$186 = $$2 >>> 8;
$187 = ($186|0)==(0);
if ($187) {
$$0376 = 0;
} else {
$188 = ($$2>>>0)>(16777215);
if ($188) {
$$0376 = 31;
} else {
$189 = (($186) + 1048320)|0;
$190 = $189 >>> 16;
$191 = $190 & 8;
$192 = $186 << $191;
$193 = (($192) + 520192)|0;
$194 = $193 >>> 16;
$195 = $194 & 4;
$196 = $195 | $191;
$197 = $192 << $195;
$198 = (($197) + 245760)|0;
$199 = $198 >>> 16;
$200 = $199 & 2;
$201 = $196 | $200;
$202 = (14 - ($201))|0;
$203 = $197 << $200;
$204 = $203 >>> 15;
$205 = (($202) + ($204))|0;
$206 = $205 << 1;
$207 = (($205) + 7)|0;
$208 = $$2 >>> $207;
$209 = $208 & 1;
$210 = $209 | $206;
$$0376 = $210;
}
}
$211 = (73016 + ($$0376<<2)|0);
$212 = ((($$1)) + 28|0);
HEAP32[$212>>2] = $$0376;
$213 = ((($$1)) + 16|0);
$214 = ((($$1)) + 20|0);
HEAP32[$214>>2] = 0;
HEAP32[$213>>2] = 0;
$215 = HEAP32[(72716)>>2]|0;
$216 = 1 << $$0376;
$217 = $215 & $216;
$218 = ($217|0)==(0);
if ($218) {
$219 = $215 | $216;
HEAP32[(72716)>>2] = $219;
HEAP32[$211>>2] = $$1;
$220 = ((($$1)) + 24|0);
HEAP32[$220>>2] = $211;
$221 = ((($$1)) + 12|0);
HEAP32[$221>>2] = $$1;
$222 = ((($$1)) + 8|0);
HEAP32[$222>>2] = $$1;
return;
}
$223 = HEAP32[$211>>2]|0;
$224 = ((($223)) + 4|0);
$225 = HEAP32[$224>>2]|0;
$226 = $225 & -8;
$227 = ($226|0)==($$2|0);
L104: do {
if ($227) {
$$0365$lcssa = $223;
} else {
$228 = ($$0376|0)==(31);
$229 = $$0376 >>> 1;
$230 = (25 - ($229))|0;
$231 = $228 ? 0 : $230;
$232 = $$2 << $231;
$$03649 = $232;$$03658 = $223;
while(1) {
$239 = $$03649 >>> 31;
$240 = (((($$03658)) + 16|0) + ($239<<2)|0);
$235 = HEAP32[$240>>2]|0;
$241 = ($235|0)==(0|0);
if ($241) {
break;
}
$233 = $$03649 << 1;
$234 = ((($235)) + 4|0);
$236 = HEAP32[$234>>2]|0;
$237 = $236 & -8;
$238 = ($237|0)==($$2|0);
if ($238) {
$$0365$lcssa = $235;
break L104;
} else {
$$03649 = $233;$$03658 = $235;
}
}
HEAP32[$240>>2] = $$1;
$242 = ((($$1)) + 24|0);
HEAP32[$242>>2] = $$03658;
$243 = ((($$1)) + 12|0);
HEAP32[$243>>2] = $$1;
$244 = ((($$1)) + 8|0);
HEAP32[$244>>2] = $$1;
return;
}
} while(0);
$245 = ((($$0365$lcssa)) + 8|0);
$246 = HEAP32[$245>>2]|0;
$247 = ((($246)) + 12|0);
HEAP32[$247>>2] = $$1;
HEAP32[$245>>2] = $$1;
$248 = ((($$1)) + 8|0);
HEAP32[$248>>2] = $246;
$249 = ((($$1)) + 12|0);
HEAP32[$249>>2] = $$0365$lcssa;
$250 = ((($$1)) + 24|0);
HEAP32[$250>>2] = 0;
return;
}
function _memalign($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0>>>0)<(9);
if ($2) {
$3 = (_malloc($1)|0);
$$0 = $3;
return ($$0|0);
} else {
$4 = (_internal_memalign($0,$1)|0);
$$0 = $4;
return ($$0|0);
}
return (0)|0;
}
function _internal_memalign($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0100 = 0, $$099 = 0, $$1 = 0, $$198 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0>>>0)>(16);
$spec$select = $2 ? $0 : 16;
$3 = (($spec$select) + -1)|0;
$4 = $3 & $spec$select;
$5 = ($4|0)==(0);
if ($5) {
$$1 = $spec$select;
} else {
$$099 = 16;
while(1) {
$6 = ($$099>>>0)<($spec$select>>>0);
$7 = $$099 << 1;
if ($6) {
$$099 = $7;
} else {
$$1 = $$099;
break;
}
}
}
$8 = (-64 - ($$1))|0;
$9 = ($8>>>0)>($1>>>0);
if (!($9)) {
$10 = (___errno_location()|0);
HEAP32[$10>>2] = 12;
$$198 = 0;
return ($$198|0);
}
$11 = ($1>>>0)<(11);
$12 = (($1) + 11)|0;
$13 = $12 & -8;
$14 = $11 ? 16 : $13;
$15 = (($14) + 12)|0;
$16 = (($15) + ($$1))|0;
$17 = (_malloc($16)|0);
$18 = ($17|0)==(0|0);
if ($18) {
$$198 = 0;
return ($$198|0);
}
$19 = ((($17)) + -8|0);
$20 = $17;
$21 = (($$1) + -1)|0;
$22 = $21 & $20;
$23 = ($22|0)==(0);
do {
if ($23) {
$$0100 = $19;$72 = $19;
} else {
$24 = (($17) + ($$1)|0);
$25 = ((($24)) + -1|0);
$26 = $25;
$27 = (0 - ($$1))|0;
$28 = $26 & $27;
$29 = $28;
$30 = ((($29)) + -8|0);
$31 = $30;
$32 = $19;
$33 = (($31) - ($32))|0;
$34 = ($33>>>0)>(15);
$35 = (($30) + ($$1)|0);
$36 = $34 ? $30 : $35;
$37 = $36;
$38 = (($37) - ($32))|0;
$39 = ((($17)) + -4|0);
$40 = HEAP32[$39>>2]|0;
$41 = $40 & -8;
$42 = (($41) - ($38))|0;
$43 = $40 & 3;
$44 = ($43|0)==(0);
if ($44) {
$45 = HEAP32[$19>>2]|0;
$46 = (($45) + ($38))|0;
HEAP32[$36>>2] = $46;
$47 = ((($36)) + 4|0);
HEAP32[$47>>2] = $42;
$$0100 = $36;$72 = $36;
break;
} else {
$48 = ((($36)) + 4|0);
$49 = HEAP32[$48>>2]|0;
$50 = $49 & 1;
$51 = $42 | $50;
$52 = $51 | 2;
HEAP32[$48>>2] = $52;
$53 = (($36) + ($42)|0);
$54 = ((($53)) + 4|0);
$55 = HEAP32[$54>>2]|0;
$56 = $55 | 1;
HEAP32[$54>>2] = $56;
$57 = HEAP32[$39>>2]|0;
$58 = $57 & 1;
$59 = $38 | $58;
$60 = $59 | 2;
HEAP32[$39>>2] = $60;
$61 = HEAP32[$48>>2]|0;
$62 = $61 | 1;
HEAP32[$48>>2] = $62;
_dispose_chunk($19,$38);
$$0100 = $36;$72 = $36;
break;
}
}
} while(0);
$63 = ((($$0100)) + 4|0);
$64 = HEAP32[$63>>2]|0;
$65 = $64 & 3;
$66 = ($65|0)==(0);
if (!($66)) {
$67 = $64 & -8;
$68 = (($14) + 16)|0;
$69 = ($67>>>0)>($68>>>0);
if ($69) {
$70 = (($67) - ($14))|0;
$71 = (($72) + ($14)|0);
$73 = $64 & 1;
$74 = $14 | $73;
$75 = $74 | 2;
HEAP32[$63>>2] = $75;
$76 = ((($71)) + 4|0);
$77 = $70 | 3;
HEAP32[$76>>2] = $77;
$78 = (($72) + ($67)|0);
$79 = ((($78)) + 4|0);
$80 = HEAP32[$79>>2]|0;
$81 = $80 | 1;
HEAP32[$79>>2] = $81;
_dispose_chunk($71,$70);
}
}
$82 = ((($72)) + 8|0);
$$198 = $82;
return ($$198|0);
}
function ___stdio_close($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$1 = ((($0)) + 60|0);
$2 = HEAP32[$1>>2]|0;
$3 = (_dummy_33($2)|0);
HEAP32[$vararg_buffer>>2] = $3;
$4 = (___syscall6(6,($vararg_buffer|0))|0);
$5 = (___syscall_ret($4)|0);
STACKTOP = sp;return ($5|0);
}
function ___stdio_read($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$cast = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp + 16|0;
$3 = sp;
HEAP32[$3>>2] = $1;
$4 = ((($3)) + 4|0);
$5 = ((($0)) + 48|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)!=(0);
$8 = $7&1;
$9 = (($2) - ($8))|0;
HEAP32[$4>>2] = $9;
$10 = ((($3)) + 8|0);
$11 = ((($0)) + 44|0);
$12 = HEAP32[$11>>2]|0;
HEAP32[$10>>2] = $12;
$13 = ((($3)) + 12|0);
HEAP32[$13>>2] = $6;
$14 = ((($0)) + 60|0);
$15 = HEAP32[$14>>2]|0;
$16 = $3;
HEAP32[$vararg_buffer>>2] = $15;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $16;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 2;
$17 = (___syscall145(145,($vararg_buffer|0))|0);
$18 = (___syscall_ret($17)|0);
$19 = ($18|0)<(1);
if ($19) {
$20 = $18 & 48;
$21 = $20 ^ 16;
$22 = HEAP32[$0>>2]|0;
$23 = $22 | $21;
HEAP32[$0>>2] = $23;
$$0 = $18;
} else {
$24 = HEAP32[$4>>2]|0;
$25 = ($18>>>0)>($24>>>0);
if ($25) {
$26 = (($18) - ($24))|0;
$27 = HEAP32[$11>>2]|0;
$28 = ((($0)) + 4|0);
HEAP32[$28>>2] = $27;
$$cast = $27;
$29 = (($$cast) + ($26)|0);
$30 = ((($0)) + 8|0);
HEAP32[$30>>2] = $29;
$31 = HEAP32[$5>>2]|0;
$32 = ($31|0)==(0);
if ($32) {
$$0 = $2;
} else {
$33 = ((($$cast)) + 1|0);
HEAP32[$28>>2] = $33;
$34 = HEAP8[$$cast>>0]|0;
$35 = (($2) + -1)|0;
$36 = (($1) + ($35)|0);
HEAP8[$36>>0] = $34;
$$0 = $2;
}
} else {
$$0 = $18;
}
}
STACKTOP = sp;return ($$0|0);
}
function ___stdio_seek($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp;
$3 = sp + 20|0;
$4 = ((($0)) + 60|0);
$5 = HEAP32[$4>>2]|0;
$6 = $3;
HEAP32[$vararg_buffer>>2] = $5;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 0;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $1;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $6;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $2;
$7 = (___syscall140(140,($vararg_buffer|0))|0);
$8 = (___syscall_ret($7)|0);
$9 = ($8|0)<(0);
if ($9) {
HEAP32[$3>>2] = -1;
$10 = -1;
} else {
$$pre = HEAP32[$3>>2]|0;
$10 = $$pre;
}
STACKTOP = sp;return ($10|0);
}
function ___syscall_ret($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0>>>0)>(4294963200);
if ($1) {
$2 = (0 - ($0))|0;
$3 = (___errno_location()|0);
HEAP32[$3>>2] = $2;
$$0 = -1;
} else {
$$0 = $0;
}
return ($$0|0);
}
function ___errno_location() {
var label = 0, sp = 0;
sp = STACKTOP;
return (73208|0);
}
function _dummy_33($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return ($0|0);
}
function ___stdout_write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp;
$3 = sp + 16|0;
$4 = ((($0)) + 36|0);
HEAP32[$4>>2] = 52;
$5 = HEAP32[$0>>2]|0;
$6 = $5 & 64;
$7 = ($6|0)==(0);
if ($7) {
$8 = ((($0)) + 60|0);
$9 = HEAP32[$8>>2]|0;
$10 = $3;
HEAP32[$vararg_buffer>>2] = $9;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 21523;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $10;
$11 = (___syscall54(54,($vararg_buffer|0))|0);
$12 = ($11|0)==(0);
if (!($12)) {
$13 = ((($0)) + 75|0);
HEAP8[$13>>0] = -1;
}
}
$14 = (___stdio_write($0,$1,$2)|0);
STACKTOP = sp;return ($14|0);
}
function ___stdio_write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0;
var $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer3 = sp + 32|0;
$vararg_buffer = sp + 16|0;
$3 = sp;
$4 = ((($0)) + 28|0);
$5 = HEAP32[$4>>2]|0;
HEAP32[$3>>2] = $5;
$6 = ((($3)) + 4|0);
$7 = ((($0)) + 20|0);
$8 = HEAP32[$7>>2]|0;
$9 = (($8) - ($5))|0;
HEAP32[$6>>2] = $9;
$10 = ((($3)) + 8|0);
HEAP32[$10>>2] = $1;
$11 = ((($3)) + 12|0);
HEAP32[$11>>2] = $2;
$12 = (($9) + ($2))|0;
$13 = ((($0)) + 60|0);
$14 = HEAP32[$13>>2]|0;
$15 = $3;
HEAP32[$vararg_buffer>>2] = $14;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $15;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 2;
$16 = (___syscall146(146,($vararg_buffer|0))|0);
$17 = (___syscall_ret($16)|0);
$18 = ($12|0)==($17|0);
L1: do {
if ($18) {
label = 3;
} else {
$$04756 = 2;$$04855 = $12;$$04954 = $3;$27 = $17;
while(1) {
$26 = ($27|0)<(0);
if ($26) {
break;
}
$35 = (($$04855) - ($27))|0;
$36 = ((($$04954)) + 4|0);
$37 = HEAP32[$36>>2]|0;
$38 = ($27>>>0)>($37>>>0);
$39 = ((($$04954)) + 8|0);
$$150 = $38 ? $39 : $$04954;
$40 = $38 << 31 >> 31;
$$1 = (($$04756) + ($40))|0;
$41 = $38 ? $37 : 0;
$$0 = (($27) - ($41))|0;
$42 = HEAP32[$$150>>2]|0;
$43 = (($42) + ($$0)|0);
HEAP32[$$150>>2] = $43;
$44 = ((($$150)) + 4|0);
$45 = HEAP32[$44>>2]|0;
$46 = (($45) - ($$0))|0;
HEAP32[$44>>2] = $46;
$47 = HEAP32[$13>>2]|0;
$48 = $$150;
HEAP32[$vararg_buffer3>>2] = $47;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = $48;
$vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
HEAP32[$vararg_ptr7>>2] = $$1;
$49 = (___syscall146(146,($vararg_buffer3|0))|0);
$50 = (___syscall_ret($49)|0);
$51 = ($35|0)==($50|0);
if ($51) {
label = 3;
break L1;
} else {
$$04756 = $$1;$$04855 = $35;$$04954 = $$150;$27 = $50;
}
}
$28 = ((($0)) + 16|0);
HEAP32[$28>>2] = 0;
HEAP32[$4>>2] = 0;
HEAP32[$7>>2] = 0;
$29 = HEAP32[$0>>2]|0;
$30 = $29 | 32;
HEAP32[$0>>2] = $30;
$31 = ($$04756|0)==(2);
if ($31) {
$$051 = 0;
} else {
$32 = ((($$04954)) + 4|0);
$33 = HEAP32[$32>>2]|0;
$34 = (($2) - ($33))|0;
$$051 = $34;
}
}
} while(0);
if ((label|0) == 3) {
$19 = ((($0)) + 44|0);
$20 = HEAP32[$19>>2]|0;
$21 = ((($0)) + 48|0);
$22 = HEAP32[$21>>2]|0;
$23 = (($20) + ($22)|0);
$24 = ((($0)) + 16|0);
HEAP32[$24>>2] = $23;
$25 = $20;
HEAP32[$4>>2] = $25;
HEAP32[$7>>2] = $25;
$$051 = $2;
}
STACKTOP = sp;return ($$051|0);
}
function _select($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp;
$5 = $1;
$6 = $2;
$7 = $3;
$8 = $4;
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $5;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $6;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $7;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $8;
$9 = (___syscall142(142,($vararg_buffer|0))|0);
$10 = (___syscall_ret($9)|0);
STACKTOP = sp;return ($10|0);
}
function ___fwritex($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$03846 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre48 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($2)) + 16|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if ($5) {
$7 = (___towrite($2)|0);
$8 = ($7|0)==(0);
if ($8) {
$$pre = HEAP32[$3>>2]|0;
$12 = $$pre;
label = 5;
} else {
$$1 = 0;
}
} else {
$6 = $4;
$12 = $6;
label = 5;
}
L5: do {
if ((label|0) == 5) {
$9 = ((($2)) + 20|0);
$10 = HEAP32[$9>>2]|0;
$11 = (($12) - ($10))|0;
$13 = ($11>>>0)<($1>>>0);
$14 = $10;
if ($13) {
$15 = ((($2)) + 36|0);
$16 = HEAP32[$15>>2]|0;
$17 = (FUNCTION_TABLE_iiii[$16 & 127]($2,$0,$1)|0);
$$1 = $17;
break;
}
$18 = ((($2)) + 75|0);
$19 = HEAP8[$18>>0]|0;
$20 = ($19<<24>>24)<(0);
$21 = ($1|0)==(0);
$or$cond = $20 | $21;
L10: do {
if ($or$cond) {
$$139 = 0;$$141 = $0;$$143 = $1;$32 = $14;
} else {
$$03846 = $1;
while(1) {
$23 = (($$03846) + -1)|0;
$24 = (($0) + ($23)|0);
$25 = HEAP8[$24>>0]|0;
$26 = ($25<<24>>24)==(10);
if ($26) {
break;
}
$22 = ($23|0)==(0);
if ($22) {
$$139 = 0;$$141 = $0;$$143 = $1;$32 = $14;
break L10;
} else {
$$03846 = $23;
}
}
$27 = ((($2)) + 36|0);
$28 = HEAP32[$27>>2]|0;
$29 = (FUNCTION_TABLE_iiii[$28 & 127]($2,$0,$$03846)|0);
$30 = ($29>>>0)<($$03846>>>0);
if ($30) {
$$1 = $29;
break L5;
}
$31 = (($0) + ($$03846)|0);
$$042 = (($1) - ($$03846))|0;
$$pre48 = HEAP32[$9>>2]|0;
$$139 = $$03846;$$141 = $31;$$143 = $$042;$32 = $$pre48;
}
} while(0);
(_memcpy(($32|0),($$141|0),($$143|0))|0);
$33 = HEAP32[$9>>2]|0;
$34 = (($33) + ($$143)|0);
HEAP32[$9>>2] = $34;
$35 = (($$139) + ($$143))|0;
$$1 = $35;
}
} while(0);
return ($$1|0);
}
function ___towrite($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 74|0);
$2 = HEAP8[$1>>0]|0;
$3 = $2 << 24 >> 24;
$4 = (($3) + 255)|0;
$5 = $4 | $3;
$6 = $5&255;
HEAP8[$1>>0] = $6;
$7 = HEAP32[$0>>2]|0;
$8 = $7 & 8;
$9 = ($8|0)==(0);
if ($9) {
$11 = ((($0)) + 8|0);
HEAP32[$11>>2] = 0;
$12 = ((($0)) + 4|0);
HEAP32[$12>>2] = 0;
$13 = ((($0)) + 44|0);
$14 = HEAP32[$13>>2]|0;
$15 = ((($0)) + 28|0);
HEAP32[$15>>2] = $14;
$16 = ((($0)) + 20|0);
HEAP32[$16>>2] = $14;
$17 = $14;
$18 = ((($0)) + 48|0);
$19 = HEAP32[$18>>2]|0;
$20 = (($17) + ($19)|0);
$21 = ((($0)) + 16|0);
HEAP32[$21>>2] = $20;
$$0 = 0;
} else {
$10 = $7 | 32;
HEAP32[$0>>2] = $10;
$$0 = -1;
}
return ($$0|0);
}
function _fwrite($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = Math_imul($2, $1)|0;
$5 = ($1|0)==(0);
$spec$select = $5 ? 0 : $2;
$6 = ((($3)) + 76|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)>(-1);
if ($8) {
$10 = (___lockfile($3)|0);
$phitmp = ($10|0)==(0);
$11 = (___fwritex($0,$4,$3)|0);
if ($phitmp) {
$13 = $11;
} else {
___unlockfile($3);
$13 = $11;
}
} else {
$9 = (___fwritex($0,$4,$3)|0);
$13 = $9;
}
$12 = ($13|0)==($4|0);
if ($12) {
$15 = $spec$select;
} else {
$14 = (($13>>>0) / ($1>>>0))&-1;
$15 = $14;
}
return ($15|0);
}
function ___lockfile($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function ___unlockfile($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function ___toread($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 74|0);
$2 = HEAP8[$1>>0]|0;
$3 = $2 << 24 >> 24;
$4 = (($3) + 255)|0;
$5 = $4 | $3;
$6 = $5&255;
HEAP8[$1>>0] = $6;
$7 = ((($0)) + 20|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($0)) + 28|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($8>>>0)>($10>>>0);
if ($11) {
$12 = ((($0)) + 36|0);
$13 = HEAP32[$12>>2]|0;
(FUNCTION_TABLE_iiii[$13 & 127]($0,0,0)|0);
}
$14 = ((($0)) + 16|0);
HEAP32[$14>>2] = 0;
HEAP32[$9>>2] = 0;
HEAP32[$7>>2] = 0;
$15 = HEAP32[$0>>2]|0;
$16 = $15 & 4;
$17 = ($16|0)==(0);
if ($17) {
$19 = ((($0)) + 44|0);
$20 = HEAP32[$19>>2]|0;
$21 = ((($0)) + 48|0);
$22 = HEAP32[$21>>2]|0;
$23 = (($20) + ($22)|0);
$24 = ((($0)) + 8|0);
HEAP32[$24>>2] = $23;
$25 = ((($0)) + 4|0);
HEAP32[$25>>2] = $23;
$26 = $15 << 27;
$sext = $26 >> 31;
$$0 = $sext;
} else {
$18 = $15 | 32;
HEAP32[$0>>2] = $18;
$$0 = -1;
}
return ($$0|0);
}
function _isspace($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $narrow = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(32);
$2 = (($0) + -9)|0;
$3 = ($2>>>0)<(5);
$narrow = $1 | $3;
$4 = $narrow&1;
return ($4|0);
}
function ___shlim($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 104|0);
HEAP32[$2>>2] = $1;
$3 = ((($0)) + 8|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($0)) + 4|0);
$6 = HEAP32[$5>>2]|0;
$7 = (($4) - ($6))|0;
$8 = ((($0)) + 108|0);
HEAP32[$8>>2] = $7;
$9 = ($1|0)!=(0);
$10 = ($7|0)>($1|0);
$or$cond = $9 & $10;
if ($or$cond) {
$11 = $6;
$12 = (($11) + ($1)|0);
$13 = ((($0)) + 100|0);
HEAP32[$13>>2] = $12;
} else {
$14 = ((($0)) + 100|0);
HEAP32[$14>>2] = $4;
}
return;
}
function ___shgetc($0) {
$0 = $0|0;
var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28 = 0, $$pre = 0, $$pre29 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 104|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0);
if ($3) {
label = 3;
} else {
$4 = ((($0)) + 108|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)<($2|0);
if ($6) {
label = 3;
} else {
label = 4;
}
}
if ((label|0) == 3) {
$7 = (___uflow($0)|0);
$8 = ($7|0)<(0);
if ($8) {
label = 4;
} else {
$10 = HEAP32[$1>>2]|0;
$11 = ($10|0)==(0);
$$phi$trans$insert = ((($0)) + 8|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
if ($11) {
$12 = $$pre;
$42 = $12;
label = 9;
} else {
$13 = ((($0)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14;
$16 = (($$pre) - ($15))|0;
$17 = ((($0)) + 108|0);
$18 = HEAP32[$17>>2]|0;
$19 = (($10) - ($18))|0;
$20 = ($16|0)<($19|0);
$21 = $$pre;
if ($20) {
$42 = $21;
label = 9;
} else {
$22 = (($19) + -1)|0;
$23 = (($14) + ($22)|0);
$24 = ((($0)) + 100|0);
HEAP32[$24>>2] = $23;
$27 = $21;
}
}
if ((label|0) == 9) {
$25 = ((($0)) + 100|0);
HEAP32[$25>>2] = $$pre;
$27 = $42;
}
$26 = ($27|0)==(0|0);
$$phi$trans$insert28 = ((($0)) + 4|0);
if ($26) {
$$pre29 = HEAP32[$$phi$trans$insert28>>2]|0;
$37 = $$pre29;
} else {
$28 = HEAP32[$$phi$trans$insert28>>2]|0;
$29 = $27;
$30 = ((($0)) + 108|0);
$31 = HEAP32[$30>>2]|0;
$32 = (($29) + 1)|0;
$33 = (($32) - ($28))|0;
$34 = (($33) + ($31))|0;
HEAP32[$30>>2] = $34;
$35 = $28;
$37 = $35;
}
$36 = ((($37)) + -1|0);
$38 = HEAP8[$36>>0]|0;
$39 = $38&255;
$40 = ($7|0)==($39|0);
if ($40) {
$$0 = $7;
} else {
$41 = $7&255;
HEAP8[$36>>0] = $41;
$$0 = $7;
}
}
}
if ((label|0) == 4) {
$9 = ((($0)) + 100|0);
HEAP32[$9>>2] = 0;
$$0 = -1;
}
return ($$0|0);
}
function _isdigit($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (($0) + -48)|0;
$2 = ($1>>>0)<(10);
$3 = $2&1;
return ($3|0);
}
function ___intscan($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0154215 = 0, $$0157 = 0, $$0159 = 0, $$1155184 = 0, $$1158 = 0, $$1160 = 0, $$1160170 = 0, $$1165 = 0, $$1165168 = 0, $$1165169 = 0, $$2156202 = 0, $$3162208 = 0, $$4163$lcssa = 0, $$6$lcssa = 0, $$7190 = 0, $$8 = 0, $$pre$phi237Z2D = 0, $$pre$phi239Z2D = 0, $10 = 0, $100 = 0;
var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0;
var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0;
var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0;
var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0;
var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0;
var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0;
var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0;
var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0;
var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0;
var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0;
var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $30 = 0, $31 = 0, $32 = 0;
var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond179 = 0, $or$cond5 = 0, $or$cond7 = 0, $spec$select166 = 0, $spec$select167 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$5 = ($1>>>0)>(36);
L1: do {
if ($5) {
$6 = (___errno_location()|0);
HEAP32[$6>>2] = 22;
$291 = 0;$292 = 0;
} else {
$7 = ((($0)) + 4|0);
$8 = ((($0)) + 100|0);
while(1) {
$9 = HEAP32[$7>>2]|0;
$10 = HEAP32[$8>>2]|0;
$11 = ($9>>>0)<($10>>>0);
if ($11) {
$12 = ((($9)) + 1|0);
HEAP32[$7>>2] = $12;
$13 = HEAP8[$9>>0]|0;
$14 = $13&255;
$16 = $14;
} else {
$15 = (___shgetc($0)|0);
$16 = $15;
}
$17 = (_isspace($16)|0);
$18 = ($17|0)==(0);
if ($18) {
break;
}
}
L11: do {
switch ($16|0) {
case 43: case 45: {
$19 = ($16|0)==(45);
$20 = $19 << 31 >> 31;
$21 = HEAP32[$7>>2]|0;
$22 = HEAP32[$8>>2]|0;
$23 = ($21>>>0)<($22>>>0);
if ($23) {
$24 = ((($21)) + 1|0);
HEAP32[$7>>2] = $24;
$25 = HEAP8[$21>>0]|0;
$26 = $25&255;
$$0157 = $20;$$0159 = $26;
break L11;
} else {
$27 = (___shgetc($0)|0);
$$0157 = $20;$$0159 = $27;
break L11;
}
break;
}
default: {
$$0157 = 0;$$0159 = $16;
}
}
} while(0);
$28 = ($1|0)==(0);
$29 = $1 | 16;
$30 = ($29|0)==(16);
$31 = ($$0159|0)==(48);
$or$cond5 = $30 & $31;
do {
if ($or$cond5) {
$32 = HEAP32[$7>>2]|0;
$33 = HEAP32[$8>>2]|0;
$34 = ($32>>>0)<($33>>>0);
if ($34) {
$35 = ((($32)) + 1|0);
HEAP32[$7>>2] = $35;
$36 = HEAP8[$32>>0]|0;
$37 = $36&255;
$40 = $37;
} else {
$38 = (___shgetc($0)|0);
$40 = $38;
}
$39 = $40 | 32;
$41 = ($39|0)==(120);
if (!($41)) {
if ($28) {
$$1160170 = $40;$$1165168 = 8;
label = 47;
break;
} else {
$$1160 = $40;$$1165 = $1;
label = 32;
break;
}
}
$42 = HEAP32[$7>>2]|0;
$43 = HEAP32[$8>>2]|0;
$44 = ($42>>>0)<($43>>>0);
if ($44) {
$45 = ((($42)) + 1|0);
HEAP32[$7>>2] = $45;
$46 = HEAP8[$42>>0]|0;
$47 = $46&255;
$50 = $47;
} else {
$48 = (___shgetc($0)|0);
$50 = $48;
}
$49 = ((27681) + ($50)|0);
$51 = HEAP8[$49>>0]|0;
$52 = ($51&255)>(15);
if ($52) {
$53 = HEAP32[$8>>2]|0;
$54 = ($53|0)==(0|0);
if (!($54)) {
$55 = HEAP32[$7>>2]|0;
$56 = ((($55)) + -1|0);
HEAP32[$7>>2] = $56;
}
$57 = ($2|0)==(0);
if ($57) {
___shlim($0,0);
$291 = 0;$292 = 0;
break L1;
}
if ($54) {
$291 = 0;$292 = 0;
break L1;
}
$58 = HEAP32[$7>>2]|0;
$59 = ((($58)) + -1|0);
HEAP32[$7>>2] = $59;
$291 = 0;$292 = 0;
break L1;
} else {
$$1160170 = $50;$$1165168 = 16;
label = 47;
}
} else {
$spec$select166 = $28 ? 10 : $1;
$60 = ((27681) + ($$0159)|0);
$61 = HEAP8[$60>>0]|0;
$62 = $61&255;
$63 = ($spec$select166>>>0)>($62>>>0);
if ($63) {
$$1160 = $$0159;$$1165 = $spec$select166;
label = 32;
} else {
$64 = HEAP32[$8>>2]|0;
$65 = ($64|0)==(0|0);
if (!($65)) {
$66 = HEAP32[$7>>2]|0;
$67 = ((($66)) + -1|0);
HEAP32[$7>>2] = $67;
}
___shlim($0,0);
$68 = (___errno_location()|0);
HEAP32[$68>>2] = 22;
$291 = 0;$292 = 0;
break L1;
}
}
} while(0);
L43: do {
if ((label|0) == 32) {
$69 = ($$1165|0)==(10);
if ($69) {
$70 = (($$1160) + -48)|0;
$71 = ($70>>>0)<(10);
if ($71) {
$$0154215 = 0;$74 = $70;
while(1) {
$72 = ($$0154215*10)|0;
$73 = (($72) + ($74))|0;
$75 = HEAP32[$7>>2]|0;
$76 = HEAP32[$8>>2]|0;
$77 = ($75>>>0)<($76>>>0);
if ($77) {
$78 = ((($75)) + 1|0);
HEAP32[$7>>2] = $78;
$79 = HEAP8[$75>>0]|0;
$80 = $79&255;
$83 = $80;
} else {
$81 = (___shgetc($0)|0);
$83 = $81;
}
$82 = (($83) + -48)|0;
$84 = ($82>>>0)<(10);
$85 = ($73>>>0)<(429496729);
$86 = $84 & $85;
if ($86) {
$$0154215 = $73;$74 = $82;
} else {
break;
}
}
$87 = ($82>>>0)<(10);
if ($87) {
$$3162208 = $83;$88 = $73;$89 = 0;$93 = $82;
while(1) {
$90 = (___muldi3(($88|0),($89|0),10,0)|0);
$91 = tempRet0;
$92 = ($93|0)<(0);
$94 = $92 << 31 >> 31;
$95 = $93 ^ -1;
$96 = $94 ^ -1;
$97 = ($91>>>0)>($96>>>0);
$98 = ($90>>>0)>($95>>>0);
$99 = ($91|0)==($96|0);
$100 = $99 & $98;
$101 = $97 | $100;
if ($101) {
$$1165169 = 10;$$8 = $$3162208;$293 = $88;$294 = $89;
label = 76;
break L43;
}
$102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0);
$103 = tempRet0;
$104 = HEAP32[$7>>2]|0;
$105 = HEAP32[$8>>2]|0;
$106 = ($104>>>0)<($105>>>0);
if ($106) {
$107 = ((($104)) + 1|0);
HEAP32[$7>>2] = $107;
$108 = HEAP8[$104>>0]|0;
$109 = $108&255;
$112 = $109;
} else {
$110 = (___shgetc($0)|0);
$112 = $110;
}
$111 = (($112) + -48)|0;
$113 = ($111>>>0)<(10);
$114 = ($103>>>0)<(429496729);
$115 = ($102>>>0)<(2576980378);
$116 = ($103|0)==(429496729);
$117 = $116 & $115;
$118 = $114 | $117;
$or$cond7 = $113 & $118;
if ($or$cond7) {
$$3162208 = $112;$88 = $102;$89 = $103;$93 = $111;
} else {
break;
}
}
$119 = ($111>>>0)>(9);
if ($119) {
$$1158 = $$0157;$265 = $103;$267 = $102;
} else {
$$1165169 = 10;$$8 = $112;$293 = $102;$294 = $103;
label = 76;
}
} else {
$$1158 = $$0157;$265 = 0;$267 = $73;
}
} else {
$$1158 = $$0157;$265 = 0;$267 = 0;
}
} else {
$$1160170 = $$1160;$$1165168 = $$1165;
label = 47;
}
}
} while(0);
L63: do {
if ((label|0) == 47) {
$120 = (($$1165168) + -1)|0;
$121 = $120 & $$1165168;
$122 = ($121|0)==(0);
if ($122) {
$123 = ($$1165168*23)|0;
$124 = $123 >>> 5;
$125 = $124 & 7;
$126 = (70604 + ($125)|0);
$127 = HEAP8[$126>>0]|0;
$128 = $127 << 24 >> 24;
$129 = ((27681) + ($$1160170)|0);
$130 = HEAP8[$129>>0]|0;
$131 = $130&255;
$132 = ($$1165168>>>0)>($131>>>0);
if ($132) {
$$1155184 = 0;$135 = $131;
while(1) {
$133 = $$1155184 << $128;
$134 = $135 | $133;
$136 = HEAP32[$7>>2]|0;
$137 = HEAP32[$8>>2]|0;
$138 = ($136>>>0)<($137>>>0);
if ($138) {
$139 = ((($136)) + 1|0);
HEAP32[$7>>2] = $139;
$140 = HEAP8[$136>>0]|0;
$141 = $140&255;
$144 = $141;
} else {
$142 = (___shgetc($0)|0);
$144 = $142;
}
$143 = ((27681) + ($144)|0);
$145 = HEAP8[$143>>0]|0;
$146 = $145&255;
$147 = ($$1165168>>>0)>($146>>>0);
$148 = ($134>>>0)<(134217728);
$149 = $148 & $147;
if ($149) {
$$1155184 = $134;$135 = $146;
} else {
break;
}
}
$$4163$lcssa = $144;$$pre$phi237Z2D = $146;$154 = 0;$156 = $134;$295 = $145;
} else {
$$4163$lcssa = $$1160170;$$pre$phi237Z2D = $131;$154 = 0;$156 = 0;$295 = $130;
}
$150 = (_bitshift64Lshr(-1,-1,($128|0))|0);
$151 = tempRet0;
$152 = ($$1165168>>>0)<=($$pre$phi237Z2D>>>0);
$153 = ($151>>>0)<($154>>>0);
$155 = ($150>>>0)<($156>>>0);
$157 = ($151|0)==($154|0);
$158 = $157 & $155;
$159 = $153 | $158;
$or$cond179 = $152 | $159;
if ($or$cond179) {
$$1165169 = $$1165168;$$8 = $$4163$lcssa;$293 = $156;$294 = $154;
label = 76;
break;
}
$160 = $156;$161 = $154;$165 = $295;
while(1) {
$162 = (_bitshift64Shl(($160|0),($161|0),($128|0))|0);
$163 = tempRet0;
$164 = $165&255;
$166 = $162 | $164;
$167 = HEAP32[$7>>2]|0;
$168 = HEAP32[$8>>2]|0;
$169 = ($167>>>0)<($168>>>0);
if ($169) {
$170 = ((($167)) + 1|0);
HEAP32[$7>>2] = $170;
$171 = HEAP8[$167>>0]|0;
$172 = $171&255;
$175 = $172;
} else {
$173 = (___shgetc($0)|0);
$175 = $173;
}
$174 = ((27681) + ($175)|0);
$176 = HEAP8[$174>>0]|0;
$177 = $176&255;
$178 = ($$1165168>>>0)<=($177>>>0);
$179 = ($163>>>0)>($151>>>0);
$180 = ($166>>>0)>($150>>>0);
$181 = ($163|0)==($151|0);
$182 = $181 & $180;
$183 = $179 | $182;
$or$cond = $178 | $183;
if ($or$cond) {
$$1165169 = $$1165168;$$8 = $175;$293 = $166;$294 = $163;
label = 76;
break L63;
} else {
$160 = $166;$161 = $163;$165 = $176;
}
}
}
$184 = ((27681) + ($$1160170)|0);
$185 = HEAP8[$184>>0]|0;
$186 = $185&255;
$187 = ($$1165168>>>0)>($186>>>0);
if ($187) {
$$2156202 = 0;$190 = $186;
while(1) {
$188 = Math_imul($$2156202, $$1165168)|0;
$189 = (($190) + ($188))|0;
$191 = HEAP32[$7>>2]|0;
$192 = HEAP32[$8>>2]|0;
$193 = ($191>>>0)<($192>>>0);
if ($193) {
$194 = ((($191)) + 1|0);
HEAP32[$7>>2] = $194;
$195 = HEAP8[$191>>0]|0;
$196 = $195&255;
$199 = $196;
} else {
$197 = (___shgetc($0)|0);
$199 = $197;
}
$198 = ((27681) + ($199)|0);
$200 = HEAP8[$198>>0]|0;
$201 = $200&255;
$202 = ($$1165168>>>0)>($201>>>0);
$203 = ($189>>>0)<(119304647);
$204 = $203 & $202;
if ($204) {
$$2156202 = $189;$190 = $201;
} else {
break;
}
}
$$6$lcssa = $199;$$pre$phi239Z2D = $201;$296 = $200;$297 = $189;$298 = 0;
} else {
$$6$lcssa = $$1160170;$$pre$phi239Z2D = $186;$296 = $185;$297 = 0;$298 = 0;
}
$205 = ($$1165168>>>0)>($$pre$phi239Z2D>>>0);
if ($205) {
$206 = (___udivdi3(-1,-1,($$1165168|0),0)|0);
$207 = tempRet0;
$$7190 = $$6$lcssa;$209 = $298;$211 = $297;$218 = $296;
while(1) {
$208 = ($209>>>0)>($207>>>0);
$210 = ($211>>>0)>($206>>>0);
$212 = ($209|0)==($207|0);
$213 = $212 & $210;
$214 = $208 | $213;
if ($214) {
$$1165169 = $$1165168;$$8 = $$7190;$293 = $211;$294 = $209;
label = 76;
break L63;
}
$215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0);
$216 = tempRet0;
$217 = $218&255;
$219 = $217 ^ -1;
$220 = ($216>>>0)>(4294967295);
$221 = ($215>>>0)>($219>>>0);
$222 = ($216|0)==(-1);
$223 = $222 & $221;
$224 = $220 | $223;
if ($224) {
$$1165169 = $$1165168;$$8 = $$7190;$293 = $211;$294 = $209;
label = 76;
break L63;
}
$225 = (_i64Add(($215|0),($216|0),($217|0),0)|0);
$226 = tempRet0;
$227 = HEAP32[$7>>2]|0;
$228 = HEAP32[$8>>2]|0;
$229 = ($227>>>0)<($228>>>0);
if ($229) {
$230 = ((($227)) + 1|0);
HEAP32[$7>>2] = $230;
$231 = HEAP8[$227>>0]|0;
$232 = $231&255;
$235 = $232;
} else {
$233 = (___shgetc($0)|0);
$235 = $233;
}
$234 = ((27681) + ($235)|0);
$236 = HEAP8[$234>>0]|0;
$237 = $236&255;
$238 = ($$1165168>>>0)>($237>>>0);
if ($238) {
$$7190 = $235;$209 = $226;$211 = $225;$218 = $236;
} else {
$$1165169 = $$1165168;$$8 = $235;$293 = $225;$294 = $226;
label = 76;
break;
}
}
} else {
$$1165169 = $$1165168;$$8 = $$6$lcssa;$293 = $297;$294 = $298;
label = 76;
}
}
} while(0);
if ((label|0) == 76) {
$239 = ((27681) + ($$8)|0);
$240 = HEAP8[$239>>0]|0;
$241 = $240&255;
$242 = ($$1165169>>>0)>($241>>>0);
if ($242) {
while(1) {
$243 = HEAP32[$7>>2]|0;
$244 = HEAP32[$8>>2]|0;
$245 = ($243>>>0)<($244>>>0);
if ($245) {
$246 = ((($243)) + 1|0);
HEAP32[$7>>2] = $246;
$247 = HEAP8[$243>>0]|0;
$248 = $247&255;
$251 = $248;
} else {
$249 = (___shgetc($0)|0);
$251 = $249;
}
$250 = ((27681) + ($251)|0);
$252 = HEAP8[$250>>0]|0;
$253 = $252&255;
$254 = ($$1165169>>>0)>($253>>>0);
if (!($254)) {
break;
}
}
$255 = (___errno_location()|0);
HEAP32[$255>>2] = 34;
$256 = $3 & 1;
$257 = ($256|0)==(0);
$258 = (0)==(0);
$259 = $257 & $258;
$spec$select167 = $259 ? $$0157 : 0;
$$1158 = $spec$select167;$265 = $4;$267 = $3;
} else {
$$1158 = $$0157;$265 = $294;$267 = $293;
}
}
$260 = HEAP32[$8>>2]|0;
$261 = ($260|0)==(0|0);
if (!($261)) {
$262 = HEAP32[$7>>2]|0;
$263 = ((($262)) + -1|0);
HEAP32[$7>>2] = $263;
}
$264 = ($265>>>0)<($4>>>0);
$266 = ($267>>>0)<($3>>>0);
$268 = ($265|0)==($4|0);
$269 = $268 & $266;
$270 = $264 | $269;
if (!($270)) {
$271 = $3 & 1;
$272 = ($271|0)!=(0);
$273 = (0)!=(0);
$274 = $272 | $273;
$275 = ($$1158|0)!=(0);
$or$cond12 = $274 | $275;
if (!($or$cond12)) {
$276 = (___errno_location()|0);
HEAP32[$276>>2] = 34;
$277 = (_i64Add(($3|0),($4|0),-1,-1)|0);
$278 = tempRet0;
$291 = $278;$292 = $277;
break;
}
$279 = ($265>>>0)>($4>>>0);
$280 = ($267>>>0)>($3>>>0);
$281 = ($265|0)==($4|0);
$282 = $281 & $280;
$283 = $279 | $282;
if ($283) {
$284 = (___errno_location()|0);
HEAP32[$284>>2] = 34;
$291 = $4;$292 = $3;
break;
}
}
$285 = ($$1158|0)<(0);
$286 = $285 << 31 >> 31;
$287 = $267 ^ $$1158;
$288 = $265 ^ $286;
$289 = (_i64Subtract(($287|0),($288|0),($$1158|0),($286|0))|0);
$290 = tempRet0;
$291 = $290;$292 = $289;
}
} while(0);
tempRet0 = ($291);
return ($292|0);
}
function _pthread_self() {
var label = 0, sp = 0;
sp = STACKTOP;
return (40680|0);
}
function ___uflow($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
$2 = (___toread($0)|0);
$3 = ($2|0)==(0);
if ($3) {
$4 = ((($0)) + 32|0);
$5 = HEAP32[$4>>2]|0;
$6 = (FUNCTION_TABLE_iiii[$5 & 127]($0,$1,1)|0);
$7 = ($6|0)==(1);
if ($7) {
$8 = HEAP8[$1>>0]|0;
$9 = $8&255;
$$0 = $9;
} else {
$$0 = -1;
}
} else {
$$0 = -1;
}
STACKTOP = sp;return ($$0|0);
}
function _fclose($0) {
$0 = $0|0;
var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 76|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)>(-1);
if ($3) {
$4 = (___lockfile($0)|0);
$30 = $4;
} else {
$30 = 0;
}
___unlist_locked_file($0);
$5 = HEAP32[$0>>2]|0;
$6 = $5 & 1;
$7 = ($6|0)!=(0);
if (!($7)) {
$8 = (___ofl_lock()|0);
$9 = ((($0)) + 52|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0|0);
$12 = $10;
$$pre = ((($0)) + 56|0);
if (!($11)) {
$13 = HEAP32[$$pre>>2]|0;
$14 = ((($10)) + 56|0);
HEAP32[$14>>2] = $13;
}
$15 = HEAP32[$$pre>>2]|0;
$16 = ($15|0)==(0|0);
$17 = $15;
if (!($16)) {
$18 = ((($15)) + 52|0);
HEAP32[$18>>2] = $12;
}
$19 = HEAP32[$8>>2]|0;
$20 = ($19|0)==($0|0);
if ($20) {
HEAP32[$8>>2] = $17;
}
___ofl_unlock();
}
$21 = (_fflush($0)|0);
$22 = ((($0)) + 12|0);
$23 = HEAP32[$22>>2]|0;
$24 = (FUNCTION_TABLE_ii[$23 & 63]($0)|0);
$25 = $24 | $21;
$26 = ((($0)) + 92|0);
$27 = HEAP32[$26>>2]|0;
$28 = ($27|0)==(0|0);
if (!($28)) {
_free($27);
}
if ($7) {
$29 = ($30|0)==(0);
if (!($29)) {
___unlockfile($0);
}
} else {
_free($0);
}
return ($25|0);
}
function ___unlist_locked_file($0) {
$0 = $0|0;
var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 68|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0);
if (!($3)) {
$4 = ((($0)) + 116|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
$7 = $5;
$$pre = ((($0)) + 112|0);
if (!($6)) {
$8 = HEAP32[$$pre>>2]|0;
$9 = ((($5)) + 112|0);
HEAP32[$9>>2] = $8;
}
$10 = HEAP32[$$pre>>2]|0;
$11 = ($10|0)==(0|0);
if ($11) {
$13 = (___pthread_self_41()|0);
$14 = ((($13)) + 232|0);
$$sink = $14;
} else {
$12 = ((($10)) + 116|0);
$$sink = $12;
}
HEAP32[$$sink>>2] = $7;
}
return;
}
function ___ofl_lock() {
var label = 0, sp = 0;
sp = STACKTOP;
___lock((73276|0));
return (73284|0);
}
function ___ofl_unlock() {
var label = 0, sp = 0;
sp = STACKTOP;
___unlock((73276|0));
return;
}
function _fflush($0) {
$0 = $0|0;
var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
do {
if ($1) {
$8 = HEAP32[10137]|0;
$9 = ($8|0)==(0|0);
if ($9) {
$29 = 0;
} else {
$10 = HEAP32[10137]|0;
$11 = (_fflush($10)|0);
$29 = $11;
}
$12 = (___ofl_lock()|0);
$$02325 = HEAP32[$12>>2]|0;
$13 = ($$02325|0)==(0|0);
if ($13) {
$$024$lcssa = $29;
} else {
$$02327 = $$02325;$$02426 = $29;
while(1) {
$14 = ((($$02327)) + 76|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)>(-1);
if ($16) {
$17 = (___lockfile($$02327)|0);
$26 = $17;
} else {
$26 = 0;
}
$18 = ((($$02327)) + 20|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($$02327)) + 28|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($19>>>0)>($21>>>0);
if ($22) {
$23 = (___fflush_unlocked($$02327)|0);
$24 = $23 | $$02426;
$$1 = $24;
} else {
$$1 = $$02426;
}
$25 = ($26|0)==(0);
if (!($25)) {
___unlockfile($$02327);
}
$27 = ((($$02327)) + 56|0);
$$023 = HEAP32[$27>>2]|0;
$28 = ($$023|0)==(0|0);
if ($28) {
$$024$lcssa = $$1;
break;
} else {
$$02327 = $$023;$$02426 = $$1;
}
}
}
___ofl_unlock();
$$0 = $$024$lcssa;
} else {
$2 = ((($0)) + 76|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)>(-1);
if (!($4)) {
$5 = (___fflush_unlocked($0)|0);
$$0 = $5;
break;
}
$6 = (___lockfile($0)|0);
$phitmp = ($6|0)==(0);
$7 = (___fflush_unlocked($0)|0);
if ($phitmp) {
$$0 = $7;
} else {
___unlockfile($0);
$$0 = $7;
}
}
} while(0);
return ($$0|0);
}
function ___fflush_unlocked($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 20|0);
$2 = HEAP32[$1>>2]|0;
$3 = ((($0)) + 28|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($2>>>0)>($4>>>0);
if ($5) {
$6 = ((($0)) + 36|0);
$7 = HEAP32[$6>>2]|0;
(FUNCTION_TABLE_iiii[$7 & 127]($0,0,0)|0);
$8 = HEAP32[$1>>2]|0;
$9 = ($8|0)==(0|0);
if ($9) {
$$0 = -1;
} else {
label = 3;
}
} else {
label = 3;
}
if ((label|0) == 3) {
$10 = ((($0)) + 4|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 8|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($11>>>0)<($13>>>0);
if ($14) {
$15 = $11;
$16 = $13;
$17 = (($15) - ($16))|0;
$18 = ((($0)) + 40|0);
$19 = HEAP32[$18>>2]|0;
(FUNCTION_TABLE_iiii[$19 & 127]($0,$17,1)|0);
}
$20 = ((($0)) + 16|0);
HEAP32[$20>>2] = 0;
HEAP32[$3>>2] = 0;
HEAP32[$1>>2] = 0;
HEAP32[$12>>2] = 0;
HEAP32[$10>>2] = 0;
$$0 = 0;
}
return ($$0|0);
}
function ___pthread_self_41() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (_pthread_self()|0);
return ($0|0);
}
function _wctomb($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
$$0 = 0;
} else {
$3 = (_wcrtomb($0,$1,0)|0);
$$0 = $3;
}
return ($$0|0);
}
function _wcrtomb($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
do {
if ($3) {
$$0 = 1;
} else {
$4 = ($1>>>0)<(128);
if ($4) {
$5 = $1&255;
HEAP8[$0>>0] = $5;
$$0 = 1;
break;
}
$6 = (___pthread_self_436()|0);
$7 = ((($6)) + 188|0);
$8 = HEAP32[$7>>2]|0;
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0|0);
if ($10) {
$11 = $1 & -128;
$12 = ($11|0)==(57216);
if ($12) {
$14 = $1&255;
HEAP8[$0>>0] = $14;
$$0 = 1;
break;
} else {
$13 = (___errno_location()|0);
HEAP32[$13>>2] = 84;
$$0 = -1;
break;
}
}
$15 = ($1>>>0)<(2048);
if ($15) {
$16 = $1 >>> 6;
$17 = $16 | 192;
$18 = $17&255;
$19 = ((($0)) + 1|0);
HEAP8[$0>>0] = $18;
$20 = $1 & 63;
$21 = $20 | 128;
$22 = $21&255;
HEAP8[$19>>0] = $22;
$$0 = 2;
break;
}
$23 = ($1>>>0)<(55296);
$24 = $1 & -8192;
$25 = ($24|0)==(57344);
$or$cond = $23 | $25;
if ($or$cond) {
$26 = $1 >>> 12;
$27 = $26 | 224;
$28 = $27&255;
$29 = ((($0)) + 1|0);
HEAP8[$0>>0] = $28;
$30 = $1 >>> 6;
$31 = $30 & 63;
$32 = $31 | 128;
$33 = $32&255;
$34 = ((($0)) + 2|0);
HEAP8[$29>>0] = $33;
$35 = $1 & 63;
$36 = $35 | 128;
$37 = $36&255;
HEAP8[$34>>0] = $37;
$$0 = 3;
break;
}
$38 = (($1) + -65536)|0;
$39 = ($38>>>0)<(1048576);
if ($39) {
$40 = $1 >>> 18;
$41 = $40 | 240;
$42 = $41&255;
$43 = ((($0)) + 1|0);
HEAP8[$0>>0] = $42;
$44 = $1 >>> 12;
$45 = $44 & 63;
$46 = $45 | 128;
$47 = $46&255;
$48 = ((($0)) + 2|0);
HEAP8[$43>>0] = $47;
$49 = $1 >>> 6;
$50 = $49 & 63;
$51 = $50 | 128;
$52 = $51&255;
$53 = ((($0)) + 3|0);
HEAP8[$48>>0] = $52;
$54 = $1 & 63;
$55 = $54 | 128;
$56 = $55&255;
HEAP8[$53>>0] = $56;
$$0 = 4;
break;
} else {
$57 = (___errno_location()|0);
HEAP32[$57>>2] = 84;
$$0 = -1;
break;
}
}
} while(0);
return ($$0|0);
}
function ___pthread_self_436() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (_pthread_self()|0);
return ($0|0);
}
function _memchr($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$137$lcssa66 = 0, $$13745 = 0, $$140 = 0, $$23839 = 0, $$in = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = $1 & 255;
$4 = $0;
$5 = $4 & 3;
$6 = ($5|0)!=(0);
$7 = ($2|0)!=(0);
$or$cond53 = $7 & $6;
L1: do {
if ($or$cond53) {
$8 = $1&255;
$$03555 = $0;$$03654 = $2;
while(1) {
$9 = HEAP8[$$03555>>0]|0;
$10 = ($9<<24>>24)==($8<<24>>24);
if ($10) {
$$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654;
label = 6;
break L1;
}
$11 = ((($$03555)) + 1|0);
$12 = (($$03654) + -1)|0;
$13 = $11;
$14 = $13 & 3;
$15 = ($14|0)!=(0);
$16 = ($12|0)!=(0);
$or$cond = $16 & $15;
if ($or$cond) {
$$03555 = $11;$$03654 = $12;
} else {
$$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16;
label = 5;
break;
}
}
} else {
$$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7;
label = 5;
}
} while(0);
if ((label|0) == 5) {
if ($$lcssa) {
$$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa;
label = 6;
} else {
label = 16;
}
}
L8: do {
if ((label|0) == 6) {
$17 = HEAP8[$$035$lcssa65>>0]|0;
$18 = $1&255;
$19 = ($17<<24>>24)==($18<<24>>24);
if ($19) {
$38 = ($$036$lcssa64|0)==(0);
if ($38) {
label = 16;
break;
} else {
$39 = $$035$lcssa65;
break;
}
}
$20 = Math_imul($3, 16843009)|0;
$21 = ($$036$lcssa64>>>0)>(3);
L13: do {
if ($21) {
$$046 = $$035$lcssa65;$$13745 = $$036$lcssa64;
while(1) {
$22 = HEAP32[$$046>>2]|0;
$23 = $22 ^ $20;
$24 = (($23) + -16843009)|0;
$25 = $23 & -2139062144;
$26 = $25 ^ -2139062144;
$27 = $26 & $24;
$28 = ($27|0)==(0);
if (!($28)) {
$$137$lcssa66 = $$13745;$$in = $$046;
break L13;
}
$29 = ((($$046)) + 4|0);
$30 = (($$13745) + -4)|0;
$31 = ($30>>>0)>(3);
if ($31) {
$$046 = $29;$$13745 = $30;
} else {
$$0$lcssa = $29;$$137$lcssa = $30;
label = 11;
break;
}
}
} else {
$$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64;
label = 11;
}
} while(0);
if ((label|0) == 11) {
$32 = ($$137$lcssa|0)==(0);
if ($32) {
label = 16;
break;
} else {
$$137$lcssa66 = $$137$lcssa;$$in = $$0$lcssa;
}
}
$$140 = $$in;$$23839 = $$137$lcssa66;
while(1) {
$33 = HEAP8[$$140>>0]|0;
$34 = ($33<<24>>24)==($18<<24>>24);
if ($34) {
$39 = $$140;
break L8;
}
$35 = ((($$140)) + 1|0);
$36 = (($$23839) + -1)|0;
$37 = ($36|0)==(0);
if ($37) {
label = 16;
break;
} else {
$$140 = $35;$$23839 = $36;
}
}
}
} while(0);
if ((label|0) == 16) {
$39 = 0;
}
return ($39|0);
}
function _iswspace($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0);
if ($1) {
$4 = 0;
} else {
$2 = (_wcschr(30336,$0)|0);
$3 = ($2|0)!=(0|0);
$phitmp = $3&1;
$4 = $phitmp;
}
return ($4|0);
}
function _iswdigit($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (($0) + -48)|0;
$2 = ($1>>>0)<(10);
$3 = $2&1;
return ($3|0);
}
function _snprintf($0,$1,$2,$varargs) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$varargs = $varargs|0;
var $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
HEAP32[$3>>2] = $varargs;
$4 = (_vsnprintf($0,$1,$2,$3)|0);
STACKTOP = sp;return ($4|0);
}
function _vsnprintf($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$4 = sp + 124|0;
$5 = sp;
dest=$5; src=40924; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
$6 = (($1) + -1)|0;
$7 = ($6>>>0)>(2147483646);
if ($7) {
$8 = ($1|0)==(0);
if ($8) {
$$014 = $4;$$015 = 1;
label = 4;
} else {
$9 = (___errno_location()|0);
HEAP32[$9>>2] = 75;
$$0 = -1;
}
} else {
$$014 = $0;$$015 = $1;
label = 4;
}
if ((label|0) == 4) {
$10 = $$014;
$11 = (-2 - ($10))|0;
$12 = ($$015>>>0)>($11>>>0);
$spec$select = $12 ? $11 : $$015;
$13 = ((($5)) + 48|0);
HEAP32[$13>>2] = $spec$select;
$14 = ((($5)) + 20|0);
HEAP32[$14>>2] = $$014;
$15 = ((($5)) + 44|0);
HEAP32[$15>>2] = $$014;
$16 = (($$014) + ($spec$select)|0);
$17 = ((($5)) + 16|0);
HEAP32[$17>>2] = $16;
$18 = ((($5)) + 28|0);
HEAP32[$18>>2] = $16;
$19 = (_vfprintf($5,$2,$3)|0);
$20 = ($spec$select|0)==(0);
if ($20) {
$$0 = $19;
} else {
$21 = HEAP32[$14>>2]|0;
$22 = HEAP32[$17>>2]|0;
$23 = ($21|0)==($22|0);
$24 = $23 << 31 >> 31;
$25 = (($21) + ($24)|0);
HEAP8[$25>>0] = 0;
$$0 = $19;
}
}
STACKTOP = sp;return ($$0|0);
}
function _vfprintf($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $spec$select = 0, $spec$select41 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$3 = sp + 208|0;
$4 = sp + 160|0;
$5 = sp + 80|0;
$6 = sp;
dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$vacopy_currentptr = HEAP32[$2>>2]|0;
HEAP32[$3>>2] = $vacopy_currentptr;
$7 = (_printf_core(0,$1,$3,$5,$4)|0);
$8 = ($7|0)<(0);
if ($8) {
$$0 = -1;
} else {
$9 = ((($0)) + 76|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)>(-1);
if ($11) {
$12 = (___lockfile($0)|0);
$40 = $12;
} else {
$40 = 0;
}
$13 = HEAP32[$0>>2]|0;
$14 = $13 & 32;
$15 = ((($0)) + 74|0);
$16 = HEAP8[$15>>0]|0;
$17 = ($16<<24>>24)<(1);
if ($17) {
$18 = $13 & -33;
HEAP32[$0>>2] = $18;
}
$19 = ((($0)) + 48|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20|0)==(0);
if ($21) {
$23 = ((($0)) + 44|0);
$24 = HEAP32[$23>>2]|0;
HEAP32[$23>>2] = $6;
$25 = ((($0)) + 28|0);
HEAP32[$25>>2] = $6;
$26 = ((($0)) + 20|0);
HEAP32[$26>>2] = $6;
HEAP32[$19>>2] = 80;
$27 = ((($6)) + 80|0);
$28 = ((($0)) + 16|0);
HEAP32[$28>>2] = $27;
$29 = (_printf_core($0,$1,$3,$5,$4)|0);
$30 = ($24|0)==(0|0);
if ($30) {
$$1 = $29;
} else {
$31 = ((($0)) + 36|0);
$32 = HEAP32[$31>>2]|0;
(FUNCTION_TABLE_iiii[$32 & 127]($0,0,0)|0);
$33 = HEAP32[$26>>2]|0;
$34 = ($33|0)==(0|0);
$spec$select = $34 ? -1 : $29;
HEAP32[$23>>2] = $24;
HEAP32[$19>>2] = 0;
HEAP32[$28>>2] = 0;
HEAP32[$25>>2] = 0;
HEAP32[$26>>2] = 0;
$$1 = $spec$select;
}
} else {
$22 = (_printf_core($0,$1,$3,$5,$4)|0);
$$1 = $22;
}
$35 = HEAP32[$0>>2]|0;
$36 = $35 & 32;
$37 = ($36|0)==(0);
$spec$select41 = $37 ? $$1 : -1;
$38 = $35 | $14;
HEAP32[$0>>2] = $38;
$39 = ($40|0)==(0);
if (!($39)) {
___unlockfile($0);
}
$$0 = $spec$select41;
}
STACKTOP = sp;return ($$0|0);
}
function _printf_core($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$ = 0, $$0 = 0, $$0228 = 0, $$0229334 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240313 = 0, $$0240313371 = 0, $$0240333 = 0, $$0243 = 0, $$0243$ph = 0, $$0243$ph$be = 0, $$0247 = 0, $$0247$ph = 0, $$0249$lcssa = 0, $$0249321 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0;
var $$0259 = 0, $$0262$lcssa = 0, $$0262328 = 0, $$0269$ph = 0, $$1 = 0, $$1230340 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241339 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0, $$1260 = 0, $$1263 = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242320 = 0;
var $$2256 = 0, $$2256$ = 0, $$2261 = 0, $$2271 = 0, $$3257 = 0, $$3265 = 0, $$3272 = 0, $$3317 = 0, $$4258370 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa308 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre360 = 0, $$pre362 = 0, $$pre363 = 0, $$pre363$pre = 0, $$pre364 = 0;
var $$pre368 = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0;
var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0;
var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0;
var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0;
var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0;
var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0;
var $334 = 0, $335 = 0, $336 = 0.0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0;
var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0;
var $arglist_next3 = 0, $brmerge = 0, $brmerge326 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $or$cond = 0, $or$cond276 = 0, $or$cond278 = 0, $or$cond283 = 0, $spec$select = 0, $spec$select281 = 0, $spec$select284 = 0;
var $spec$select291 = 0, $spec$select292 = 0, $spec$select293 = 0, $spec$select294 = 0, $spec$select295 = 0, $spec$select296 = 0, $spec$select297 = 0, $spec$select298 = 0, $spec$select299 = 0, $storemerge273$lcssa = 0, $storemerge273327 = 0, $storemerge274 = 0, $trunc = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$5 = sp + 56|0;
$6 = sp + 40|0;
$7 = sp;
$8 = sp + 48|0;
$9 = sp + 60|0;
HEAP32[$5>>2] = $1;
$10 = ($0|0)!=(0|0);
$11 = ((($7)) + 40|0);
$12 = $11;
$13 = ((($7)) + 39|0);
$14 = ((($8)) + 4|0);
$$0243$ph = 0;$$0247$ph = 0;$$0269$ph = 0;
L1: while(1) {
$$0243 = $$0243$ph;$$0247 = $$0247$ph;
while(1) {
$15 = ($$0247|0)>(-1);
do {
if ($15) {
$16 = (2147483647 - ($$0247))|0;
$17 = ($$0243|0)>($16|0);
if ($17) {
$18 = (___errno_location()|0);
HEAP32[$18>>2] = 75;
$$1248 = -1;
break;
} else {
$19 = (($$0243) + ($$0247))|0;
$$1248 = $19;
break;
}
} else {
$$1248 = $$0247;
}
} while(0);
$20 = HEAP32[$5>>2]|0;
$21 = HEAP8[$20>>0]|0;
$22 = ($21<<24>>24)==(0);
if ($22) {
label = 94;
break L1;
}
$23 = $21;$25 = $20;
L12: while(1) {
switch ($23<<24>>24) {
case 37: {
label = 10;
break L12;
break;
}
case 0: {
$$0249$lcssa = $25;
break L12;
break;
}
default: {
}
}
$24 = ((($25)) + 1|0);
HEAP32[$5>>2] = $24;
$$pre = HEAP8[$24>>0]|0;
$23 = $$pre;$25 = $24;
}
L15: do {
if ((label|0) == 10) {
label = 0;
$$0249321 = $25;$27 = $25;
while(1) {
$26 = ((($27)) + 1|0);
$28 = HEAP8[$26>>0]|0;
$29 = ($28<<24>>24)==(37);
if (!($29)) {
$$0249$lcssa = $$0249321;
break L15;
}
$30 = ((($$0249321)) + 1|0);
$31 = ((($27)) + 2|0);
HEAP32[$5>>2] = $31;
$32 = HEAP8[$31>>0]|0;
$33 = ($32<<24>>24)==(37);
if ($33) {
$$0249321 = $30;$27 = $31;
} else {
$$0249$lcssa = $30;
break;
}
}
}
} while(0);
$34 = $$0249$lcssa;
$35 = $20;
$36 = (($34) - ($35))|0;
if ($10) {
_out($0,$20,$36);
}
$37 = ($36|0)==(0);
if ($37) {
break;
} else {
$$0243 = $36;$$0247 = $$1248;
}
}
$38 = HEAP32[$5>>2]|0;
$39 = ((($38)) + 1|0);
$40 = HEAP8[$39>>0]|0;
$41 = $40 << 24 >> 24;
$42 = (_isdigit($41)|0);
$43 = ($42|0)==(0);
$$pre360 = HEAP32[$5>>2]|0;
if ($43) {
$$0253 = -1;$$1270 = $$0269$ph;$$sink = 1;
} else {
$44 = ((($$pre360)) + 2|0);
$45 = HEAP8[$44>>0]|0;
$46 = ($45<<24>>24)==(36);
if ($46) {
$47 = ((($$pre360)) + 1|0);
$48 = HEAP8[$47>>0]|0;
$49 = $48 << 24 >> 24;
$50 = (($49) + -48)|0;
$$0253 = $50;$$1270 = 1;$$sink = 3;
} else {
$$0253 = -1;$$1270 = $$0269$ph;$$sink = 1;
}
}
$51 = (($$pre360) + ($$sink)|0);
HEAP32[$5>>2] = $51;
$52 = HEAP8[$51>>0]|0;
$53 = $52 << 24 >> 24;
$54 = (($53) + -32)|0;
$55 = ($54>>>0)>(31);
$56 = 1 << $54;
$57 = $56 & 75913;
$58 = ($57|0)==(0);
$brmerge326 = $55 | $58;
if ($brmerge326) {
$$0262$lcssa = 0;$$lcssa308 = $52;$storemerge273$lcssa = $51;
} else {
$$0262328 = 0;$60 = $54;$storemerge273327 = $51;
while(1) {
$59 = 1 << $60;
$61 = $59 | $$0262328;
$62 = ((($storemerge273327)) + 1|0);
HEAP32[$5>>2] = $62;
$63 = HEAP8[$62>>0]|0;
$64 = $63 << 24 >> 24;
$65 = (($64) + -32)|0;
$66 = ($65>>>0)>(31);
$67 = 1 << $65;
$68 = $67 & 75913;
$69 = ($68|0)==(0);
$brmerge = $66 | $69;
if ($brmerge) {
$$0262$lcssa = $61;$$lcssa308 = $63;$storemerge273$lcssa = $62;
break;
} else {
$$0262328 = $61;$60 = $65;$storemerge273327 = $62;
}
}
}
$70 = ($$lcssa308<<24>>24)==(42);
if ($70) {
$71 = ((($storemerge273$lcssa)) + 1|0);
$72 = HEAP8[$71>>0]|0;
$73 = $72 << 24 >> 24;
$74 = (_isdigit($73)|0);
$75 = ($74|0)==(0);
if ($75) {
label = 27;
} else {
$76 = HEAP32[$5>>2]|0;
$77 = ((($76)) + 2|0);
$78 = HEAP8[$77>>0]|0;
$79 = ($78<<24>>24)==(36);
if ($79) {
$80 = ((($76)) + 1|0);
$81 = HEAP8[$80>>0]|0;
$82 = $81 << 24 >> 24;
$83 = (($82) + -48)|0;
$84 = (($4) + ($83<<2)|0);
HEAP32[$84>>2] = 10;
$85 = HEAP8[$80>>0]|0;
$86 = $85 << 24 >> 24;
$87 = (($86) + -48)|0;
$88 = (($3) + ($87<<3)|0);
$89 = $88;
$90 = $89;
$91 = HEAP32[$90>>2]|0;
$92 = (($89) + 4)|0;
$93 = $92;
$94 = HEAP32[$93>>2]|0;
$95 = ((($76)) + 3|0);
$$0259 = $91;$$2271 = 1;$storemerge274 = $95;
} else {
label = 27;
}
}
if ((label|0) == 27) {
label = 0;
$96 = ($$1270|0)==(0);
if (!($96)) {
$$0 = -1;
break;
}
if ($10) {
$arglist_current = HEAP32[$2>>2]|0;
$97 = $arglist_current;
$98 = ((0) + 4|0);
$expanded4 = $98;
$expanded = (($expanded4) - 1)|0;
$99 = (($97) + ($expanded))|0;
$100 = ((0) + 4|0);
$expanded8 = $100;
$expanded7 = (($expanded8) - 1)|0;
$expanded6 = $expanded7 ^ -1;
$101 = $99 & $expanded6;
$102 = $101;
$103 = HEAP32[$102>>2]|0;
$arglist_next = ((($102)) + 4|0);
HEAP32[$2>>2] = $arglist_next;
$358 = $103;
} else {
$358 = 0;
}
$104 = HEAP32[$5>>2]|0;
$105 = ((($104)) + 1|0);
$$0259 = $358;$$2271 = 0;$storemerge274 = $105;
}
HEAP32[$5>>2] = $storemerge274;
$106 = ($$0259|0)<(0);
$107 = $$0262$lcssa | 8192;
$108 = (0 - ($$0259))|0;
$spec$select291 = $106 ? $107 : $$0262$lcssa;
$spec$select292 = $106 ? $108 : $$0259;
$$1260 = $spec$select292;$$1263 = $spec$select291;$$3272 = $$2271;$112 = $storemerge274;
} else {
$109 = (_getint($5)|0);
$110 = ($109|0)<(0);
if ($110) {
$$0 = -1;
break;
}
$$pre362 = HEAP32[$5>>2]|0;
$$1260 = $109;$$1263 = $$0262$lcssa;$$3272 = $$1270;$112 = $$pre362;
}
$111 = HEAP8[$112>>0]|0;
$113 = ($111<<24>>24)==(46);
do {
if ($113) {
$114 = ((($112)) + 1|0);
$115 = HEAP8[$114>>0]|0;
$116 = ($115<<24>>24)==(42);
if (!($116)) {
HEAP32[$5>>2] = $114;
$152 = (_getint($5)|0);
$$pre363$pre = HEAP32[$5>>2]|0;
$$0254 = $152;$$pre363 = $$pre363$pre;
break;
}
$117 = ((($112)) + 2|0);
$118 = HEAP8[$117>>0]|0;
$119 = $118 << 24 >> 24;
$120 = (_isdigit($119)|0);
$121 = ($120|0)==(0);
if (!($121)) {
$122 = HEAP32[$5>>2]|0;
$123 = ((($122)) + 3|0);
$124 = HEAP8[$123>>0]|0;
$125 = ($124<<24>>24)==(36);
if ($125) {
$126 = ((($122)) + 2|0);
$127 = HEAP8[$126>>0]|0;
$128 = $127 << 24 >> 24;
$129 = (($128) + -48)|0;
$130 = (($4) + ($129<<2)|0);
HEAP32[$130>>2] = 10;
$131 = HEAP8[$126>>0]|0;
$132 = $131 << 24 >> 24;
$133 = (($132) + -48)|0;
$134 = (($3) + ($133<<3)|0);
$135 = $134;
$136 = $135;
$137 = HEAP32[$136>>2]|0;
$138 = (($135) + 4)|0;
$139 = $138;
$140 = HEAP32[$139>>2]|0;
$141 = ((($122)) + 4|0);
HEAP32[$5>>2] = $141;
$$0254 = $137;$$pre363 = $141;
break;
}
}
$142 = ($$3272|0)==(0);
if (!($142)) {
$$0 = -1;
break L1;
}
if ($10) {
$arglist_current2 = HEAP32[$2>>2]|0;
$143 = $arglist_current2;
$144 = ((0) + 4|0);
$expanded11 = $144;
$expanded10 = (($expanded11) - 1)|0;
$145 = (($143) + ($expanded10))|0;
$146 = ((0) + 4|0);
$expanded15 = $146;
$expanded14 = (($expanded15) - 1)|0;
$expanded13 = $expanded14 ^ -1;
$147 = $145 & $expanded13;
$148 = $147;
$149 = HEAP32[$148>>2]|0;
$arglist_next3 = ((($148)) + 4|0);
HEAP32[$2>>2] = $arglist_next3;
$359 = $149;
} else {
$359 = 0;
}
$150 = HEAP32[$5>>2]|0;
$151 = ((($150)) + 2|0);
HEAP32[$5>>2] = $151;
$$0254 = $359;$$pre363 = $151;
} else {
$$0254 = -1;$$pre363 = $112;
}
} while(0);
$$0252 = 0;$154 = $$pre363;
while(1) {
$153 = HEAP8[$154>>0]|0;
$155 = $153 << 24 >> 24;
$156 = (($155) + -65)|0;
$157 = ($156>>>0)>(57);
if ($157) {
$$0 = -1;
break L1;
}
$158 = ((($154)) + 1|0);
HEAP32[$5>>2] = $158;
$159 = HEAP8[$154>>0]|0;
$160 = $159 << 24 >> 24;
$161 = (($160) + -65)|0;
$162 = ((27952 + (($$0252*58)|0)|0) + ($161)|0);
$163 = HEAP8[$162>>0]|0;
$164 = $163&255;
$165 = (($164) + -1)|0;
$166 = ($165>>>0)<(8);
if ($166) {
$$0252 = $164;$154 = $158;
} else {
break;
}
}
$167 = ($163<<24>>24)==(0);
if ($167) {
$$0 = -1;
break;
}
$168 = ($163<<24>>24)==(19);
$169 = ($$0253|0)>(-1);
do {
if ($168) {
if ($169) {
$$0 = -1;
break L1;
} else {
label = 54;
}
} else {
if ($169) {
$170 = (($4) + ($$0253<<2)|0);
HEAP32[$170>>2] = $164;
$171 = (($3) + ($$0253<<3)|0);
$172 = $171;
$173 = $172;
$174 = HEAP32[$173>>2]|0;
$175 = (($172) + 4)|0;
$176 = $175;
$177 = HEAP32[$176>>2]|0;
$178 = $6;
$179 = $178;
HEAP32[$179>>2] = $174;
$180 = (($178) + 4)|0;
$181 = $180;
HEAP32[$181>>2] = $177;
label = 54;
break;
}
if (!($10)) {
$$0 = 0;
break L1;
}
_pop_arg($6,$164,$2);
$$pre364 = HEAP32[$5>>2]|0;
$183 = $$pre364;
label = 55;
}
} while(0);
if ((label|0) == 54) {
label = 0;
if ($10) {
$183 = $158;
label = 55;
} else {
$$0243$ph$be = 0;
}
}
L77: do {
if ((label|0) == 55) {
label = 0;
$182 = ((($183)) + -1|0);
$184 = HEAP8[$182>>0]|0;
$185 = $184 << 24 >> 24;
$186 = ($$0252|0)!=(0);
$187 = $185 & 15;
$188 = ($187|0)==(3);
$or$cond276 = $186 & $188;
$189 = $185 & -33;
$$0235 = $or$cond276 ? $189 : $185;
$190 = $$1263 & 8192;
$191 = ($190|0)==(0);
$192 = $$1263 & -65537;
$spec$select = $191 ? $$1263 : $192;
L79: do {
switch ($$0235|0) {
case 110: {
$trunc = $$0252&255;
switch ($trunc<<24>>24) {
case 0: {
$199 = HEAP32[$6>>2]|0;
HEAP32[$199>>2] = $$1248;
$$0243$ph$be = 0;
break L77;
break;
}
case 1: {
$200 = HEAP32[$6>>2]|0;
HEAP32[$200>>2] = $$1248;
$$0243$ph$be = 0;
break L77;
break;
}
case 2: {
$201 = ($$1248|0)<(0);
$202 = $201 << 31 >> 31;
$203 = HEAP32[$6>>2]|0;
$204 = $203;
$205 = $204;
HEAP32[$205>>2] = $$1248;
$206 = (($204) + 4)|0;
$207 = $206;
HEAP32[$207>>2] = $202;
$$0243$ph$be = 0;
break L77;
break;
}
case 3: {
$208 = $$1248&65535;
$209 = HEAP32[$6>>2]|0;
HEAP16[$209>>1] = $208;
$$0243$ph$be = 0;
break L77;
break;
}
case 4: {
$210 = $$1248&255;
$211 = HEAP32[$6>>2]|0;
HEAP8[$211>>0] = $210;
$$0243$ph$be = 0;
break L77;
break;
}
case 6: {
$212 = HEAP32[$6>>2]|0;
HEAP32[$212>>2] = $$1248;
$$0243$ph$be = 0;
break L77;
break;
}
case 7: {
$213 = ($$1248|0)<(0);
$214 = $213 << 31 >> 31;
$215 = HEAP32[$6>>2]|0;
$216 = $215;
$217 = $216;
HEAP32[$217>>2] = $$1248;
$218 = (($216) + 4)|0;
$219 = $218;
HEAP32[$219>>2] = $214;
$$0243$ph$be = 0;
break L77;
break;
}
default: {
$$0243$ph$be = 0;
break L77;
}
}
break;
}
case 112: {
$220 = ($$0254>>>0)>(8);
$221 = $220 ? $$0254 : 8;
$222 = $spec$select | 8;
$$1236 = 120;$$1255 = $221;$$3265 = $222;
label = 67;
break;
}
case 88: case 120: {
$$1236 = $$0235;$$1255 = $$0254;$$3265 = $spec$select;
label = 67;
break;
}
case 111: {
$238 = $6;
$239 = $238;
$240 = HEAP32[$239>>2]|0;
$241 = (($238) + 4)|0;
$242 = $241;
$243 = HEAP32[$242>>2]|0;
$244 = (_fmt_o($240,$243,$11)|0);
$245 = $spec$select & 8;
$246 = ($245|0)==(0);
$247 = $244;
$248 = (($12) - ($247))|0;
$249 = ($$0254|0)>($248|0);
$250 = (($248) + 1)|0;
$251 = $246 | $249;
$spec$select295 = $251 ? $$0254 : $250;
$$0228 = $244;$$1233 = 0;$$1238 = 70613;$$2256 = $spec$select295;$$4266 = $spec$select;$277 = $240;$279 = $243;
label = 73;
break;
}
case 105: case 100: {
$252 = $6;
$253 = $252;
$254 = HEAP32[$253>>2]|0;
$255 = (($252) + 4)|0;
$256 = $255;
$257 = HEAP32[$256>>2]|0;
$258 = ($257|0)<(0);
if ($258) {
$259 = (_i64Subtract(0,0,($254|0),($257|0))|0);
$260 = tempRet0;
$261 = $6;
$262 = $261;
HEAP32[$262>>2] = $259;
$263 = (($261) + 4)|0;
$264 = $263;
HEAP32[$264>>2] = $260;
$$0232 = 1;$$0237 = 70613;$271 = $259;$272 = $260;
label = 72;
break L79;
} else {
$265 = $spec$select & 2048;
$266 = ($265|0)==(0);
$267 = $spec$select & 1;
$268 = ($267|0)==(0);
$$ = $268 ? 70613 : (70615);
$spec$select296 = $266 ? $$ : (70614);
$269 = $spec$select & 2049;
$270 = ($269|0)!=(0);
$spec$select297 = $270&1;
$$0232 = $spec$select297;$$0237 = $spec$select296;$271 = $254;$272 = $257;
label = 72;
break L79;
}
break;
}
case 117: {
$193 = $6;
$194 = $193;
$195 = HEAP32[$194>>2]|0;
$196 = (($193) + 4)|0;
$197 = $196;
$198 = HEAP32[$197>>2]|0;
$$0232 = 0;$$0237 = 70613;$271 = $195;$272 = $198;
label = 72;
break;
}
case 99: {
$288 = $6;
$289 = $288;
$290 = HEAP32[$289>>2]|0;
$291 = (($288) + 4)|0;
$292 = $291;
$293 = HEAP32[$292>>2]|0;
$294 = $290&255;
HEAP8[$13>>0] = $294;
$$2 = $13;$$2234 = 0;$$2239 = 70613;$$5 = 1;$$6268 = $192;$$pre$phiZ2D = $12;
break;
}
case 109: {
$295 = (___errno_location()|0);
$296 = HEAP32[$295>>2]|0;
$297 = (_strerror($296)|0);
$$1 = $297;
label = 77;
break;
}
case 115: {
$298 = HEAP32[$6>>2]|0;
$299 = ($298|0)==(0|0);
$300 = $299 ? 70623 : $298;
$$1 = $300;
label = 77;
break;
}
case 67: {
$307 = $6;
$308 = $307;
$309 = HEAP32[$308>>2]|0;
$310 = (($307) + 4)|0;
$311 = $310;
$312 = HEAP32[$311>>2]|0;
HEAP32[$8>>2] = $309;
HEAP32[$14>>2] = 0;
HEAP32[$6>>2] = $8;
$$4258370 = -1;
label = 81;
break;
}
case 83: {
$313 = ($$0254|0)==(0);
if ($313) {
_pad($0,32,$$1260,0,$spec$select);
$$0240313371 = 0;
label = 91;
} else {
$$4258370 = $$0254;
label = 81;
}
break;
}
case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: {
$336 = +HEAPF64[$6>>3];
$337 = (_fmt_fp($0,$336,$$1260,$$0254,$spec$select,$$0235)|0);
$$0243$ph$be = $337;
break L77;
break;
}
default: {
$$2 = $20;$$2234 = 0;$$2239 = 70613;$$5 = $$0254;$$6268 = $spec$select;$$pre$phiZ2D = $12;
}
}
} while(0);
L103: do {
if ((label|0) == 67) {
label = 0;
$223 = $6;
$224 = $223;
$225 = HEAP32[$224>>2]|0;
$226 = (($223) + 4)|0;
$227 = $226;
$228 = HEAP32[$227>>2]|0;
$229 = $$1236 & 32;
$230 = (_fmt_x($225,$228,$11,$229)|0);
$231 = ($225|0)==(0);
$232 = ($228|0)==(0);
$233 = $231 & $232;
$234 = $$3265 & 8;
$235 = ($234|0)==(0);
$or$cond278 = $235 | $233;
$236 = $$1236 >>> 4;
$237 = (70613 + ($236)|0);
$spec$select293 = $or$cond278 ? 70613 : $237;
$spec$select294 = $or$cond278 ? 0 : 2;
$$0228 = $230;$$1233 = $spec$select294;$$1238 = $spec$select293;$$2256 = $$1255;$$4266 = $$3265;$277 = $225;$279 = $228;
label = 73;
}
else if ((label|0) == 72) {
label = 0;
$273 = (_fmt_u($271,$272,$11)|0);
$$0228 = $273;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $spec$select;$277 = $271;$279 = $272;
label = 73;
}
else if ((label|0) == 77) {
label = 0;
$301 = (_memchr($$1,0,$$0254)|0);
$302 = ($301|0)==(0|0);
$303 = $301;
$304 = $$1;
$305 = (($303) - ($304))|0;
$306 = (($$1) + ($$0254)|0);
$$3257 = $302 ? $$0254 : $305;
$$1250 = $302 ? $306 : $301;
$$pre368 = $$1250;
$$2 = $$1;$$2234 = 0;$$2239 = 70613;$$5 = $$3257;$$6268 = $192;$$pre$phiZ2D = $$pre368;
}
else if ((label|0) == 81) {
label = 0;
$314 = HEAP32[$6>>2]|0;
$$0229334 = $314;$$0240333 = 0;
while(1) {
$315 = HEAP32[$$0229334>>2]|0;
$316 = ($315|0)==(0);
if ($316) {
$$0240313 = $$0240333;
break;
}
$317 = (_wctomb($9,$315)|0);
$318 = ($317|0)<(0);
$319 = (($$4258370) - ($$0240333))|0;
$320 = ($317>>>0)>($319>>>0);
$or$cond283 = $318 | $320;
if ($or$cond283) {
label = 85;
break;
}
$321 = ((($$0229334)) + 4|0);
$322 = (($317) + ($$0240333))|0;
$323 = ($$4258370>>>0)>($322>>>0);
if ($323) {
$$0229334 = $321;$$0240333 = $322;
} else {
$$0240313 = $322;
break;
}
}
if ((label|0) == 85) {
label = 0;
if ($318) {
$$0 = -1;
break L1;
} else {
$$0240313 = $$0240333;
}
}
_pad($0,32,$$1260,$$0240313,$spec$select);
$324 = ($$0240313|0)==(0);
if ($324) {
$$0240313371 = 0;
label = 91;
} else {
$325 = HEAP32[$6>>2]|0;
$$1230340 = $325;$$1241339 = 0;
while(1) {
$326 = HEAP32[$$1230340>>2]|0;
$327 = ($326|0)==(0);
if ($327) {
$$0240313371 = $$0240313;
label = 91;
break L103;
}
$328 = (_wctomb($9,$326)|0);
$329 = (($328) + ($$1241339))|0;
$330 = ($329|0)>($$0240313|0);
if ($330) {
$$0240313371 = $$0240313;
label = 91;
break L103;
}
$331 = ((($$1230340)) + 4|0);
_out($0,$9,$328);
$332 = ($329>>>0)<($$0240313>>>0);
if ($332) {
$$1230340 = $331;$$1241339 = $329;
} else {
$$0240313371 = $$0240313;
label = 91;
break;
}
}
}
}
} while(0);
if ((label|0) == 73) {
label = 0;
$274 = ($$2256|0)>(-1);
$275 = $$4266 & -65537;
$spec$select281 = $274 ? $275 : $$4266;
$276 = ($277|0)!=(0);
$278 = ($279|0)!=(0);
$280 = $276 | $278;
$281 = ($$2256|0)!=(0);
$or$cond = $281 | $280;
$282 = $$0228;
$283 = (($12) - ($282))|0;
$284 = $280 ^ 1;
$285 = $284&1;
$286 = (($283) + ($285))|0;
$287 = ($$2256|0)>($286|0);
$$2256$ = $287 ? $$2256 : $286;
$spec$select298 = $or$cond ? $$2256$ : 0;
$spec$select299 = $or$cond ? $$0228 : $11;
$$2 = $spec$select299;$$2234 = $$1233;$$2239 = $$1238;$$5 = $spec$select298;$$6268 = $spec$select281;$$pre$phiZ2D = $12;
}
else if ((label|0) == 91) {
label = 0;
$333 = $spec$select ^ 8192;
_pad($0,32,$$1260,$$0240313371,$333);
$334 = ($$1260|0)>($$0240313371|0);
$335 = $334 ? $$1260 : $$0240313371;
$$0243$ph$be = $335;
break;
}
$338 = $$2;
$339 = (($$pre$phiZ2D) - ($338))|0;
$340 = ($$5|0)<($339|0);
$spec$select284 = $340 ? $339 : $$5;
$341 = (($spec$select284) + ($$2234))|0;
$342 = ($$1260|0)<($341|0);
$$2261 = $342 ? $341 : $$1260;
_pad($0,32,$$2261,$341,$$6268);
_out($0,$$2239,$$2234);
$343 = $$6268 ^ 65536;
_pad($0,48,$$2261,$341,$343);
_pad($0,48,$spec$select284,$339,0);
_out($0,$$2,$339);
$344 = $$6268 ^ 8192;
_pad($0,32,$$2261,$341,$344);
$$0243$ph$be = $$2261;
}
} while(0);
$$0243$ph = $$0243$ph$be;$$0247$ph = $$1248;$$0269$ph = $$3272;
}
L125: do {
if ((label|0) == 94) {
$345 = ($0|0)==(0|0);
if ($345) {
$346 = ($$0269$ph|0)==(0);
if ($346) {
$$0 = 0;
} else {
$$2242320 = 1;
while(1) {
$347 = (($4) + ($$2242320<<2)|0);
$348 = HEAP32[$347>>2]|0;
$349 = ($348|0)==(0);
if ($349) {
break;
}
$350 = (($3) + ($$2242320<<3)|0);
_pop_arg($350,$348,$2);
$351 = (($$2242320) + 1)|0;
$352 = ($351>>>0)<(10);
if ($352) {
$$2242320 = $351;
} else {
$$0 = 1;
break L125;
}
}
$$3317 = $$2242320;
while(1) {
$355 = (($4) + ($$3317<<2)|0);
$356 = HEAP32[$355>>2]|0;
$357 = ($356|0)==(0);
$354 = (($$3317) + 1)|0;
if (!($357)) {
$$0 = -1;
break L125;
}
$353 = ($354>>>0)<(10);
if ($353) {
$$3317 = $354;
} else {
$$0 = 1;
break;
}
}
}
} else {
$$0 = $$1248;
}
}
} while(0);
STACKTOP = sp;return ($$0|0);
}
function _out($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
$4 = $3 & 32;
$5 = ($4|0)==(0);
if ($5) {
(___fwritex($1,$2,$0)|0);
}
return;
}
function _getint($0) {
$0 = $0|0;
var $$0$lcssa = 0, $$04 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = HEAP8[$1>>0]|0;
$3 = $2 << 24 >> 24;
$4 = (_isdigit($3)|0);
$5 = ($4|0)==(0);
if ($5) {
$$0$lcssa = 0;
} else {
$$04 = 0;
while(1) {
$6 = ($$04*10)|0;
$7 = HEAP32[$0>>2]|0;
$8 = HEAP8[$7>>0]|0;
$9 = $8 << 24 >> 24;
$10 = (($6) + -48)|0;
$11 = (($10) + ($9))|0;
$12 = ((($7)) + 1|0);
HEAP32[$0>>2] = $12;
$13 = HEAP8[$12>>0]|0;
$14 = $13 << 24 >> 24;
$15 = (_isdigit($14)|0);
$16 = ($15|0)==(0);
if ($16) {
$$0$lcssa = $11;
break;
} else {
$$04 = $11;
}
}
}
return ($$0$lcssa|0);
}
function _pop_arg($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0;
var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0;
var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0;
var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0;
var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($1>>>0)>(20);
L1: do {
if (!($3)) {
do {
switch ($1|0) {
case 9: {
$arglist_current = HEAP32[$2>>2]|0;
$4 = $arglist_current;
$5 = ((0) + 4|0);
$expanded28 = $5;
$expanded = (($expanded28) - 1)|0;
$6 = (($4) + ($expanded))|0;
$7 = ((0) + 4|0);
$expanded32 = $7;
$expanded31 = (($expanded32) - 1)|0;
$expanded30 = $expanded31 ^ -1;
$8 = $6 & $expanded30;
$9 = $8;
$10 = HEAP32[$9>>2]|0;
$arglist_next = ((($9)) + 4|0);
HEAP32[$2>>2] = $arglist_next;
HEAP32[$0>>2] = $10;
break L1;
break;
}
case 10: {
$arglist_current2 = HEAP32[$2>>2]|0;
$11 = $arglist_current2;
$12 = ((0) + 4|0);
$expanded35 = $12;
$expanded34 = (($expanded35) - 1)|0;
$13 = (($11) + ($expanded34))|0;
$14 = ((0) + 4|0);
$expanded39 = $14;
$expanded38 = (($expanded39) - 1)|0;
$expanded37 = $expanded38 ^ -1;
$15 = $13 & $expanded37;
$16 = $15;
$17 = HEAP32[$16>>2]|0;
$arglist_next3 = ((($16)) + 4|0);
HEAP32[$2>>2] = $arglist_next3;
$18 = ($17|0)<(0);
$19 = $18 << 31 >> 31;
$20 = $0;
$21 = $20;
HEAP32[$21>>2] = $17;
$22 = (($20) + 4)|0;
$23 = $22;
HEAP32[$23>>2] = $19;
break L1;
break;
}
case 11: {
$arglist_current5 = HEAP32[$2>>2]|0;
$24 = $arglist_current5;
$25 = ((0) + 4|0);
$expanded42 = $25;
$expanded41 = (($expanded42) - 1)|0;
$26 = (($24) + ($expanded41))|0;
$27 = ((0) + 4|0);
$expanded46 = $27;
$expanded45 = (($expanded46) - 1)|0;
$expanded44 = $expanded45 ^ -1;
$28 = $26 & $expanded44;
$29 = $28;
$30 = HEAP32[$29>>2]|0;
$arglist_next6 = ((($29)) + 4|0);
HEAP32[$2>>2] = $arglist_next6;
$31 = $0;
$32 = $31;
HEAP32[$32>>2] = $30;
$33 = (($31) + 4)|0;
$34 = $33;
HEAP32[$34>>2] = 0;
break L1;
break;
}
case 12: {
$arglist_current8 = HEAP32[$2>>2]|0;
$35 = $arglist_current8;
$36 = ((0) + 8|0);
$expanded49 = $36;
$expanded48 = (($expanded49) - 1)|0;
$37 = (($35) + ($expanded48))|0;
$38 = ((0) + 8|0);
$expanded53 = $38;
$expanded52 = (($expanded53) - 1)|0;
$expanded51 = $expanded52 ^ -1;
$39 = $37 & $expanded51;
$40 = $39;
$41 = $40;
$42 = $41;
$43 = HEAP32[$42>>2]|0;
$44 = (($41) + 4)|0;
$45 = $44;
$46 = HEAP32[$45>>2]|0;
$arglist_next9 = ((($40)) + 8|0);
HEAP32[$2>>2] = $arglist_next9;
$47 = $0;
$48 = $47;
HEAP32[$48>>2] = $43;
$49 = (($47) + 4)|0;
$50 = $49;
HEAP32[$50>>2] = $46;
break L1;
break;
}
case 13: {
$arglist_current11 = HEAP32[$2>>2]|0;
$51 = $arglist_current11;
$52 = ((0) + 4|0);
$expanded56 = $52;
$expanded55 = (($expanded56) - 1)|0;
$53 = (($51) + ($expanded55))|0;
$54 = ((0) + 4|0);
$expanded60 = $54;
$expanded59 = (($expanded60) - 1)|0;
$expanded58 = $expanded59 ^ -1;
$55 = $53 & $expanded58;
$56 = $55;
$57 = HEAP32[$56>>2]|0;
$arglist_next12 = ((($56)) + 4|0);
HEAP32[$2>>2] = $arglist_next12;
$58 = $57&65535;
$59 = $58 << 16 >> 16;
$60 = ($59|0)<(0);
$61 = $60 << 31 >> 31;
$62 = $0;
$63 = $62;
HEAP32[$63>>2] = $59;
$64 = (($62) + 4)|0;
$65 = $64;
HEAP32[$65>>2] = $61;
break L1;
break;
}
case 14: {
$arglist_current14 = HEAP32[$2>>2]|0;
$66 = $arglist_current14;
$67 = ((0) + 4|0);
$expanded63 = $67;
$expanded62 = (($expanded63) - 1)|0;
$68 = (($66) + ($expanded62))|0;
$69 = ((0) + 4|0);
$expanded67 = $69;
$expanded66 = (($expanded67) - 1)|0;
$expanded65 = $expanded66 ^ -1;
$70 = $68 & $expanded65;
$71 = $70;
$72 = HEAP32[$71>>2]|0;
$arglist_next15 = ((($71)) + 4|0);
HEAP32[$2>>2] = $arglist_next15;
$$mask31 = $72 & 65535;
$73 = $0;
$74 = $73;
HEAP32[$74>>2] = $$mask31;
$75 = (($73) + 4)|0;
$76 = $75;
HEAP32[$76>>2] = 0;
break L1;
break;
}
case 15: {
$arglist_current17 = HEAP32[$2>>2]|0;
$77 = $arglist_current17;
$78 = ((0) + 4|0);
$expanded70 = $78;
$expanded69 = (($expanded70) - 1)|0;
$79 = (($77) + ($expanded69))|0;
$80 = ((0) + 4|0);
$expanded74 = $80;
$expanded73 = (($expanded74) - 1)|0;
$expanded72 = $expanded73 ^ -1;
$81 = $79 & $expanded72;
$82 = $81;
$83 = HEAP32[$82>>2]|0;
$arglist_next18 = ((($82)) + 4|0);
HEAP32[$2>>2] = $arglist_next18;
$84 = $83&255;
$85 = $84 << 24 >> 24;
$86 = ($85|0)<(0);
$87 = $86 << 31 >> 31;
$88 = $0;
$89 = $88;
HEAP32[$89>>2] = $85;
$90 = (($88) + 4)|0;
$91 = $90;
HEAP32[$91>>2] = $87;
break L1;
break;
}
case 16: {
$arglist_current20 = HEAP32[$2>>2]|0;
$92 = $arglist_current20;
$93 = ((0) + 4|0);
$expanded77 = $93;
$expanded76 = (($expanded77) - 1)|0;
$94 = (($92) + ($expanded76))|0;
$95 = ((0) + 4|0);
$expanded81 = $95;
$expanded80 = (($expanded81) - 1)|0;
$expanded79 = $expanded80 ^ -1;
$96 = $94 & $expanded79;
$97 = $96;
$98 = HEAP32[$97>>2]|0;
$arglist_next21 = ((($97)) + 4|0);
HEAP32[$2>>2] = $arglist_next21;
$$mask = $98 & 255;
$99 = $0;
$100 = $99;
HEAP32[$100>>2] = $$mask;
$101 = (($99) + 4)|0;
$102 = $101;
HEAP32[$102>>2] = 0;
break L1;
break;
}
case 17: {
$arglist_current23 = HEAP32[$2>>2]|0;
$103 = $arglist_current23;
$104 = ((0) + 8|0);
$expanded84 = $104;
$expanded83 = (($expanded84) - 1)|0;
$105 = (($103) + ($expanded83))|0;
$106 = ((0) + 8|0);
$expanded88 = $106;
$expanded87 = (($expanded88) - 1)|0;
$expanded86 = $expanded87 ^ -1;
$107 = $105 & $expanded86;
$108 = $107;
$109 = +HEAPF64[$108>>3];
$arglist_next24 = ((($108)) + 8|0);
HEAP32[$2>>2] = $arglist_next24;
HEAPF64[$0>>3] = $109;
break L1;
break;
}
case 18: {
$arglist_current26 = HEAP32[$2>>2]|0;
$110 = $arglist_current26;
$111 = ((0) + 8|0);
$expanded91 = $111;
$expanded90 = (($expanded91) - 1)|0;
$112 = (($110) + ($expanded90))|0;
$113 = ((0) + 8|0);
$expanded95 = $113;
$expanded94 = (($expanded95) - 1)|0;
$expanded93 = $expanded94 ^ -1;
$114 = $112 & $expanded93;
$115 = $114;
$116 = +HEAPF64[$115>>3];
$arglist_next27 = ((($115)) + 8|0);
HEAP32[$2>>2] = $arglist_next27;
HEAPF64[$0>>3] = $116;
break L1;
break;
}
default: {
break L1;
}
}
} while(0);
}
} while(0);
return;
}
function _fmt_x($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0);
$5 = ($1|0)==(0);
$6 = $4 & $5;
if ($6) {
$$05$lcssa = $2;
} else {
$$056 = $2;$15 = $1;$8 = $0;
while(1) {
$7 = $8 & 15;
$9 = (28416 + ($7)|0);
$10 = HEAP8[$9>>0]|0;
$11 = $10&255;
$12 = $11 | $3;
$13 = $12&255;
$14 = ((($$056)) + -1|0);
HEAP8[$14>>0] = $13;
$16 = (_bitshift64Lshr(($8|0),($15|0),4)|0);
$17 = tempRet0;
$18 = ($16|0)==(0);
$19 = ($17|0)==(0);
$20 = $18 & $19;
if ($20) {
$$05$lcssa = $14;
break;
} else {
$$056 = $14;$15 = $17;$8 = $16;
}
}
}
return ($$05$lcssa|0);
}
function _fmt_o($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0);
$4 = ($1|0)==(0);
$5 = $3 & $4;
if ($5) {
$$0$lcssa = $2;
} else {
$$06 = $2;$11 = $1;$7 = $0;
while(1) {
$6 = $7&255;
$8 = $6 & 7;
$9 = $8 | 48;
$10 = ((($$06)) + -1|0);
HEAP8[$10>>0] = $9;
$12 = (_bitshift64Lshr(($7|0),($11|0),3)|0);
$13 = tempRet0;
$14 = ($12|0)==(0);
$15 = ($13|0)==(0);
$16 = $14 & $15;
if ($16) {
$$0$lcssa = $10;
break;
} else {
$$06 = $10;$11 = $13;$7 = $12;
}
}
}
return ($$0$lcssa|0);
}
function _fmt_u($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($1>>>0)>(0);
$4 = ($0>>>0)>(4294967295);
$5 = ($1|0)==(0);
$6 = $5 & $4;
$7 = $3 | $6;
if ($7) {
$$0914 = $2;$8 = $0;$9 = $1;
while(1) {
$10 = (___udivdi3(($8|0),($9|0),10,0)|0);
$11 = tempRet0;
$12 = (___muldi3(($10|0),($11|0),10,0)|0);
$13 = tempRet0;
$14 = (_i64Subtract(($8|0),($9|0),($12|0),($13|0))|0);
$15 = tempRet0;
$16 = $14&255;
$17 = $16 | 48;
$18 = ((($$0914)) + -1|0);
HEAP8[$18>>0] = $17;
$19 = ($9>>>0)>(9);
$20 = ($8>>>0)>(4294967295);
$21 = ($9|0)==(9);
$22 = $21 & $20;
$23 = $19 | $22;
if ($23) {
$$0914 = $18;$8 = $10;$9 = $11;
} else {
break;
}
}
$$010$lcssa$off0 = $10;$$09$lcssa = $18;
} else {
$$010$lcssa$off0 = $0;$$09$lcssa = $2;
}
$24 = ($$010$lcssa$off0|0)==(0);
if ($24) {
$$1$lcssa = $$09$lcssa;
} else {
$$012 = $$010$lcssa$off0;$$111 = $$09$lcssa;
while(1) {
$25 = (($$012>>>0) / 10)&-1;
$26 = ($25*10)|0;
$27 = (($$012) - ($26))|0;
$28 = $27 | 48;
$29 = $28&255;
$30 = ((($$111)) + -1|0);
HEAP8[$30>>0] = $29;
$31 = ($$012>>>0)<(10);
if ($31) {
$$1$lcssa = $30;
break;
} else {
$$012 = $25;$$111 = $30;
}
}
}
return ($$1$lcssa|0);
}
function _strerror($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (___pthread_self_568()|0);
$2 = ((($1)) + 188|0);
$3 = HEAP32[$2>>2]|0;
$4 = (___strerror_l($0,$3)|0);
return ($4|0);
}
function _pad($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0);
$5 = sp;
$6 = $4 & 73728;
$7 = ($6|0)==(0);
$8 = ($2|0)>($3|0);
$or$cond = $8 & $7;
if ($or$cond) {
$9 = (($2) - ($3))|0;
$10 = $1 << 24 >> 24;
$11 = ($9>>>0)<(256);
$12 = $11 ? $9 : 256;
(_memset(($5|0),($10|0),($12|0))|0);
$13 = ($9>>>0)>(255);
if ($13) {
$14 = (($2) - ($3))|0;
$$011 = $9;
while(1) {
_out($0,$5,256);
$15 = (($$011) + -256)|0;
$16 = ($15>>>0)>(255);
if ($16) {
$$011 = $15;
} else {
break;
}
}
$17 = $14 & 255;
$$0$lcssa = $17;
} else {
$$0$lcssa = $9;
}
_out($0,$5,$$0$lcssa);
}
STACKTOP = sp;return;
}
function _fmt_fp($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = +$1;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$ = 0, $$0 = 0, $$0463$lcssa = 0, $$0463588 = 0, $$0464599 = 0, $$0471 = 0.0, $$0479 = 0, $$0487657 = 0, $$0488 = 0, $$0488669 = 0, $$0488671 = 0, $$0497670 = 0, $$0498 = 0, $$0511586 = 0.0, $$0512 = 0, $$0513 = 0, $$0516652 = 0, $$0522 = 0, $$0523 = 0, $$0525 = 0;
var $$0527 = 0, $$0529 = 0, $$0529$in646 = 0, $$0532651 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0, $$1480 = 0, $$1482$lcssa = 0, $$1482683 = 0, $$1489656 = 0, $$1499 = 0, $$1510587 = 0, $$1514$lcssa = 0, $$1514614 = 0, $$1517 = 0, $$1526 = 0, $$1528 = 0, $$1530621 = 0;
var $$1533$lcssa = 0, $$1533645 = 0, $$1604 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2483 = 0, $$2490$lcssa = 0, $$2490638 = 0, $$2500$lcssa = 0, $$2500682 = 0, $$2515 = 0, $$2518634 = 0, $$2531 = 0, $$2534633 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484663 = 0, $$3501$lcssa = 0;
var $$3501676 = 0, $$3535620 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478594 = 0, $$4492 = 0, $$4502$lcssa = 0, $$4502662 = 0, $$4520 = 0, $$5$lcssa = 0, $$5486$lcssa = 0, $$5486639 = 0, $$5493603 = 0, $$5503 = 0, $$5521 = 0, $$560 = 0, $$5609 = 0, $$6 = 0, $$6494593 = 0, $$7495608 = 0;
var $$8 = 0, $$8506 = 0, $$9 = 0, $$9507$lcssa = 0, $$9507625 = 0, $$lcssa583 = 0, $$lobit = 0, $$neg = 0, $$neg571 = 0, $$not = 0, $$pn = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi717Z2D = 0, $$pre$phi718Z2D = 0, $$pre720 = 0, $$sink757 = 0, $10 = 0, $100 = 0;
var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0;
var $12 = 0, $120 = 0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0;
var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0.0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0;
var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0;
var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0;
var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0;
var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0;
var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0.0;
var $247 = 0.0, $248 = 0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0;
var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0;
var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0;
var $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0;
var $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0;
var $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0;
var $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0.0, $370 = 0, $371 = 0, $372 = 0, $373 = 0;
var $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0.0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0;
var $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0;
var $410 = 0, $411 = 0, $412 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0;
var $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0;
var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond543 = 0, $or$cond546 = 0, $or$cond556 = 0, $or$cond559 = 0, $or$cond6 = 0, $scevgep711 = 0, $scevgep711712 = 0, $spec$select = 0, $spec$select539 = 0, $spec$select540 = 0, $spec$select540722 = 0, $spec$select540723 = 0;
var $spec$select541 = 0, $spec$select544 = 0.0, $spec$select547 = 0, $spec$select548 = 0, $spec$select549 = 0, $spec$select551 = 0, $spec$select554 = 0, $spec$select557 = 0, $spec$select561 = 0.0, $spec$select562 = 0, $spec$select563 = 0, $spec$select565 = 0, $spec$select566 = 0, $spec$select567 = 0.0, $spec$select568 = 0.0, $spec$select569 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0);
$6 = sp + 32|0;
$7 = sp + 536|0;
$8 = sp;
$9 = $8;
$10 = sp + 540|0;
HEAP32[$7>>2] = 0;
$11 = ((($10)) + 12|0);
$12 = (___DOUBLE_BITS($1)|0);
$13 = tempRet0;
$14 = ($13|0)<(0);
if ($14) {
$15 = - $1;
$16 = (___DOUBLE_BITS($15)|0);
$17 = tempRet0;
$$0471 = $15;$$0522 = 1;$$0523 = 70630;$25 = $17;$412 = $16;
} else {
$18 = $4 & 2048;
$19 = ($18|0)==(0);
$20 = $4 & 1;
$21 = ($20|0)==(0);
$$ = $21 ? (70631) : (70636);
$spec$select565 = $19 ? $$ : (70633);
$22 = $4 & 2049;
$23 = ($22|0)!=(0);
$spec$select566 = $23&1;
$$0471 = $1;$$0522 = $spec$select566;$$0523 = $spec$select565;$25 = $13;$412 = $12;
}
$24 = $25 & 2146435072;
$26 = (0)==(0);
$27 = ($24|0)==(2146435072);
$28 = $26 & $27;
do {
if ($28) {
$29 = $5 & 32;
$30 = ($29|0)!=(0);
$31 = $30 ? 70649 : 70653;
$32 = ($$0471 != $$0471) | (0.0 != 0.0);
$33 = $30 ? 70657 : 70661;
$$0512 = $32 ? $33 : $31;
$34 = (($$0522) + 3)|0;
$35 = $4 & -65537;
_pad($0,32,$2,$34,$35);
_out($0,$$0523,$$0522);
_out($0,$$0512,3);
$36 = $4 ^ 8192;
_pad($0,32,$2,$34,$36);
$$sink757 = $34;
} else {
$37 = (+_frexpl($$0471,$7));
$38 = $37 * 2.0;
$39 = $38 != 0.0;
if ($39) {
$40 = HEAP32[$7>>2]|0;
$41 = (($40) + -1)|0;
HEAP32[$7>>2] = $41;
}
$42 = $5 | 32;
$43 = ($42|0)==(97);
if ($43) {
$44 = $5 & 32;
$45 = ($44|0)==(0);
$46 = ((($$0523)) + 9|0);
$spec$select = $45 ? $$0523 : $46;
$47 = $$0522 | 2;
$48 = ($3>>>0)>(11);
$49 = (12 - ($3))|0;
$50 = ($49|0)==(0);
$51 = $48 | $50;
do {
if ($51) {
$$1472 = $38;
} else {
$$0511586 = 8.0;$$1510587 = $49;
while(1) {
$52 = (($$1510587) + -1)|0;
$53 = $$0511586 * 16.0;
$54 = ($52|0)==(0);
if ($54) {
break;
} else {
$$0511586 = $53;$$1510587 = $52;
}
}
$55 = HEAP8[$spec$select>>0]|0;
$56 = ($55<<24>>24)==(45);
if ($56) {
$57 = - $38;
$58 = $57 - $53;
$59 = $53 + $58;
$60 = - $59;
$$1472 = $60;
break;
} else {
$61 = $38 + $53;
$62 = $61 - $53;
$$1472 = $62;
break;
}
}
} while(0);
$63 = HEAP32[$7>>2]|0;
$64 = ($63|0)<(0);
$65 = (0 - ($63))|0;
$66 = $64 ? $65 : $63;
$67 = ($66|0)<(0);
$68 = $67 << 31 >> 31;
$69 = (_fmt_u($66,$68,$11)|0);
$70 = ($69|0)==($11|0);
if ($70) {
$71 = ((($10)) + 11|0);
HEAP8[$71>>0] = 48;
$$0513 = $71;
} else {
$$0513 = $69;
}
$72 = $63 >> 31;
$73 = $72 & 2;
$74 = (($73) + 43)|0;
$75 = $74&255;
$76 = ((($$0513)) + -1|0);
HEAP8[$76>>0] = $75;
$77 = (($5) + 15)|0;
$78 = $77&255;
$79 = ((($$0513)) + -2|0);
HEAP8[$79>>0] = $78;
$80 = ($3|0)<(1);
$81 = $4 & 8;
$82 = ($81|0)==(0);
$$0525 = $8;$$2473 = $$1472;
while(1) {
$83 = (~~(($$2473)));
$84 = (28416 + ($83)|0);
$85 = HEAP8[$84>>0]|0;
$86 = $85&255;
$87 = $44 | $86;
$88 = $87&255;
$89 = ((($$0525)) + 1|0);
HEAP8[$$0525>>0] = $88;
$90 = (+($83|0));
$91 = $$2473 - $90;
$92 = $91 * 16.0;
$93 = $89;
$94 = (($93) - ($9))|0;
$95 = ($94|0)==(1);
if ($95) {
$96 = $92 == 0.0;
$or$cond3$not = $80 & $96;
$or$cond = $82 & $or$cond3$not;
if ($or$cond) {
$$1526 = $89;
} else {
$97 = ((($$0525)) + 2|0);
HEAP8[$89>>0] = 46;
$$1526 = $97;
}
} else {
$$1526 = $89;
}
$98 = $92 != 0.0;
if ($98) {
$$0525 = $$1526;$$2473 = $92;
} else {
break;
}
}
$99 = ($3|0)==(0);
$$pre720 = $$1526;
if ($99) {
label = 25;
} else {
$100 = (-2 - ($9))|0;
$101 = (($100) + ($$pre720))|0;
$102 = ($101|0)<($3|0);
if ($102) {
$103 = $11;
$104 = $79;
$105 = (($3) + 2)|0;
$106 = (($105) + ($103))|0;
$107 = (($106) - ($104))|0;
$$0527 = $107;$$pre$phi717Z2D = $103;$$pre$phi718Z2D = $104;
} else {
label = 25;
}
}
if ((label|0) == 25) {
$108 = $11;
$109 = $79;
$110 = (($108) - ($9))|0;
$111 = (($110) - ($109))|0;
$112 = (($111) + ($$pre720))|0;
$$0527 = $112;$$pre$phi717Z2D = $108;$$pre$phi718Z2D = $109;
}
$113 = (($$0527) + ($47))|0;
_pad($0,32,$2,$113,$4);
_out($0,$spec$select,$47);
$114 = $4 ^ 65536;
_pad($0,48,$2,$113,$114);
$115 = (($$pre720) - ($9))|0;
_out($0,$8,$115);
$116 = (($$pre$phi717Z2D) - ($$pre$phi718Z2D))|0;
$117 = (($115) + ($116))|0;
$118 = (($$0527) - ($117))|0;
_pad($0,48,$118,0,0);
_out($0,$79,$116);
$119 = $4 ^ 8192;
_pad($0,32,$2,$113,$119);
$$sink757 = $113;
break;
}
$120 = ($3|0)<(0);
$spec$select539 = $120 ? 6 : $3;
if ($39) {
$121 = $38 * 268435456.0;
$122 = HEAP32[$7>>2]|0;
$123 = (($122) + -28)|0;
HEAP32[$7>>2] = $123;
$$3 = $121;$$pr = $123;
} else {
$$pre = HEAP32[$7>>2]|0;
$$3 = $38;$$pr = $$pre;
}
$124 = ($$pr|0)<(0);
$125 = ((($6)) + 288|0);
$$0498 = $124 ? $6 : $125;
$$1499 = $$0498;$$4 = $$3;
while(1) {
$126 = (~~(($$4))>>>0);
HEAP32[$$1499>>2] = $126;
$127 = ((($$1499)) + 4|0);
$128 = (+($126>>>0));
$129 = $$4 - $128;
$130 = $129 * 1.0E+9;
$131 = $130 != 0.0;
if ($131) {
$$1499 = $127;$$4 = $130;
} else {
break;
}
}
$132 = $$0498;
$133 = ($$pr|0)>(0);
if ($133) {
$$1482683 = $$0498;$$2500682 = $127;$135 = $$pr;
while(1) {
$134 = ($135|0)<(29);
$136 = $134 ? $135 : 29;
$$0488669 = ((($$2500682)) + -4|0);
$137 = ($$0488669>>>0)<($$1482683>>>0);
if ($137) {
$$2483 = $$1482683;
} else {
$$0488671 = $$0488669;$$0497670 = 0;
while(1) {
$138 = HEAP32[$$0488671>>2]|0;
$139 = (_bitshift64Shl(($138|0),0,($136|0))|0);
$140 = tempRet0;
$141 = (_i64Add(($139|0),($140|0),($$0497670|0),0)|0);
$142 = tempRet0;
$143 = (___udivdi3(($141|0),($142|0),1000000000,0)|0);
$144 = tempRet0;
$145 = (___muldi3(($143|0),($144|0),1000000000,0)|0);
$146 = tempRet0;
$147 = (_i64Subtract(($141|0),($142|0),($145|0),($146|0))|0);
$148 = tempRet0;
HEAP32[$$0488671>>2] = $147;
$$0488 = ((($$0488671)) + -4|0);
$149 = ($$0488>>>0)<($$1482683>>>0);
if ($149) {
break;
} else {
$$0488671 = $$0488;$$0497670 = $143;
}
}
$150 = ($143|0)==(0);
if ($150) {
$$2483 = $$1482683;
} else {
$151 = ((($$1482683)) + -4|0);
HEAP32[$151>>2] = $143;
$$2483 = $151;
}
}
$152 = ($$2500682>>>0)>($$2483>>>0);
L57: do {
if ($152) {
$$3501676 = $$2500682;
while(1) {
$154 = ((($$3501676)) + -4|0);
$155 = HEAP32[$154>>2]|0;
$156 = ($155|0)==(0);
if (!($156)) {
$$3501$lcssa = $$3501676;
break L57;
}
$153 = ($154>>>0)>($$2483>>>0);
if ($153) {
$$3501676 = $154;
} else {
$$3501$lcssa = $154;
break;
}
}
} else {
$$3501$lcssa = $$2500682;
}
} while(0);
$157 = HEAP32[$7>>2]|0;
$158 = (($157) - ($136))|0;
HEAP32[$7>>2] = $158;
$159 = ($158|0)>(0);
if ($159) {
$$1482683 = $$2483;$$2500682 = $$3501$lcssa;$135 = $158;
} else {
$$1482$lcssa = $$2483;$$2500$lcssa = $$3501$lcssa;$$pr564 = $158;
break;
}
}
} else {
$$1482$lcssa = $$0498;$$2500$lcssa = $127;$$pr564 = $$pr;
}
$160 = ($$pr564|0)<(0);
if ($160) {
$161 = (($spec$select539) + 25)|0;
$162 = (($161|0) / 9)&-1;
$163 = (($162) + 1)|0;
$164 = ($42|0)==(102);
$$3484663 = $$1482$lcssa;$$4502662 = $$2500$lcssa;$166 = $$pr564;
while(1) {
$165 = (0 - ($166))|0;
$167 = ($165|0)<(9);
$168 = $167 ? $165 : 9;
$169 = ($$3484663>>>0)<($$4502662>>>0);
if ($169) {
$173 = 1 << $168;
$174 = (($173) + -1)|0;
$175 = 1000000000 >>> $168;
$$0487657 = 0;$$1489656 = $$3484663;
while(1) {
$176 = HEAP32[$$1489656>>2]|0;
$177 = $176 & $174;
$178 = $176 >>> $168;
$179 = (($178) + ($$0487657))|0;
HEAP32[$$1489656>>2] = $179;
$180 = Math_imul($177, $175)|0;
$181 = ((($$1489656)) + 4|0);
$182 = ($181>>>0)<($$4502662>>>0);
if ($182) {
$$0487657 = $180;$$1489656 = $181;
} else {
break;
}
}
$183 = HEAP32[$$3484663>>2]|0;
$184 = ($183|0)==(0);
$185 = ((($$3484663)) + 4|0);
$spec$select540 = $184 ? $185 : $$3484663;
$186 = ($180|0)==(0);
if ($186) {
$$5503 = $$4502662;$spec$select540723 = $spec$select540;
} else {
$187 = ((($$4502662)) + 4|0);
HEAP32[$$4502662>>2] = $180;
$$5503 = $187;$spec$select540723 = $spec$select540;
}
} else {
$170 = HEAP32[$$3484663>>2]|0;
$171 = ($170|0)==(0);
$172 = ((($$3484663)) + 4|0);
$spec$select540722 = $171 ? $172 : $$3484663;
$$5503 = $$4502662;$spec$select540723 = $spec$select540722;
}
$188 = $164 ? $$0498 : $spec$select540723;
$189 = $$5503;
$190 = $188;
$191 = (($189) - ($190))|0;
$192 = $191 >> 2;
$193 = ($192|0)>($163|0);
$194 = (($188) + ($163<<2)|0);
$spec$select541 = $193 ? $194 : $$5503;
$195 = HEAP32[$7>>2]|0;
$196 = (($195) + ($168))|0;
HEAP32[$7>>2] = $196;
$197 = ($196|0)<(0);
if ($197) {
$$3484663 = $spec$select540723;$$4502662 = $spec$select541;$166 = $196;
} else {
$$3484$lcssa = $spec$select540723;$$4502$lcssa = $spec$select541;
break;
}
}
} else {
$$3484$lcssa = $$1482$lcssa;$$4502$lcssa = $$2500$lcssa;
}
$198 = ($$3484$lcssa>>>0)<($$4502$lcssa>>>0);
if ($198) {
$199 = $$3484$lcssa;
$200 = (($132) - ($199))|0;
$201 = $200 >> 2;
$202 = ($201*9)|0;
$203 = HEAP32[$$3484$lcssa>>2]|0;
$204 = ($203>>>0)<(10);
if ($204) {
$$1517 = $202;
} else {
$$0516652 = $202;$$0532651 = 10;
while(1) {
$205 = ($$0532651*10)|0;
$206 = (($$0516652) + 1)|0;
$207 = ($203>>>0)<($205>>>0);
if ($207) {
$$1517 = $206;
break;
} else {
$$0516652 = $206;$$0532651 = $205;
}
}
}
} else {
$$1517 = 0;
}
$208 = ($42|0)==(102);
$209 = $208 ? 0 : $$1517;
$210 = (($spec$select539) - ($209))|0;
$211 = ($42|0)==(103);
$212 = ($spec$select539|0)!=(0);
$213 = $212 & $211;
$$neg = $213 << 31 >> 31;
$214 = (($210) + ($$neg))|0;
$215 = $$4502$lcssa;
$216 = (($215) - ($132))|0;
$217 = $216 >> 2;
$218 = ($217*9)|0;
$219 = (($218) + -9)|0;
$220 = ($214|0)<($219|0);
if ($220) {
$221 = ((($$0498)) + 4|0);
$222 = (($214) + 9216)|0;
$223 = (($222|0) / 9)&-1;
$224 = (($223) + -1024)|0;
$225 = (($221) + ($224<<2)|0);
$226 = ($223*9)|0;
$227 = (($222) - ($226))|0;
$228 = ($227|0)<(8);
if ($228) {
$$0529$in646 = $227;$$1533645 = 10;
while(1) {
$$0529 = (($$0529$in646) + 1)|0;
$229 = ($$1533645*10)|0;
$230 = ($$0529$in646|0)<(7);
if ($230) {
$$0529$in646 = $$0529;$$1533645 = $229;
} else {
$$1533$lcssa = $229;
break;
}
}
} else {
$$1533$lcssa = 10;
}
$231 = HEAP32[$225>>2]|0;
$232 = (($231>>>0) / ($$1533$lcssa>>>0))&-1;
$233 = Math_imul($232, $$1533$lcssa)|0;
$234 = (($231) - ($233))|0;
$235 = ($234|0)==(0);
$236 = ((($225)) + 4|0);
$237 = ($236|0)==($$4502$lcssa|0);
$or$cond543 = $237 & $235;
if ($or$cond543) {
$$4492 = $225;$$4520 = $$1517;$$8 = $$3484$lcssa;
} else {
$238 = $232 & 1;
$239 = ($238|0)==(0);
$spec$select544 = $239 ? 9007199254740992.0 : 9007199254740994.0;
$240 = $$1533$lcssa >>> 1;
$241 = ($234>>>0)<($240>>>0);
$242 = ($234|0)==($240|0);
$or$cond546 = $237 & $242;
$spec$select561 = $or$cond546 ? 1.0 : 1.5;
$spec$select567 = $241 ? 0.5 : $spec$select561;
$243 = ($$0522|0)==(0);
if ($243) {
$$1467 = $spec$select567;$$1469 = $spec$select544;
} else {
$244 = HEAP8[$$0523>>0]|0;
$245 = ($244<<24>>24)==(45);
$246 = - $spec$select544;
$247 = - $spec$select567;
$spec$select568 = $245 ? $246 : $spec$select544;
$spec$select569 = $245 ? $247 : $spec$select567;
$$1467 = $spec$select569;$$1469 = $spec$select568;
}
$248 = (($231) - ($234))|0;
HEAP32[$225>>2] = $248;
$249 = $$1469 + $$1467;
$250 = $249 != $$1469;
if ($250) {
$251 = (($248) + ($$1533$lcssa))|0;
HEAP32[$225>>2] = $251;
$252 = ($251>>>0)>(999999999);
if ($252) {
$$2490638 = $225;$$5486639 = $$3484$lcssa;
while(1) {
$253 = ((($$2490638)) + -4|0);
HEAP32[$$2490638>>2] = 0;
$254 = ($253>>>0)<($$5486639>>>0);
if ($254) {
$255 = ((($$5486639)) + -4|0);
HEAP32[$255>>2] = 0;
$$6 = $255;
} else {
$$6 = $$5486639;
}
$256 = HEAP32[$253>>2]|0;
$257 = (($256) + 1)|0;
HEAP32[$253>>2] = $257;
$258 = ($257>>>0)>(999999999);
if ($258) {
$$2490638 = $253;$$5486639 = $$6;
} else {
$$2490$lcssa = $253;$$5486$lcssa = $$6;
break;
}
}
} else {
$$2490$lcssa = $225;$$5486$lcssa = $$3484$lcssa;
}
$259 = $$5486$lcssa;
$260 = (($132) - ($259))|0;
$261 = $260 >> 2;
$262 = ($261*9)|0;
$263 = HEAP32[$$5486$lcssa>>2]|0;
$264 = ($263>>>0)<(10);
if ($264) {
$$4492 = $$2490$lcssa;$$4520 = $262;$$8 = $$5486$lcssa;
} else {
$$2518634 = $262;$$2534633 = 10;
while(1) {
$265 = ($$2534633*10)|0;
$266 = (($$2518634) + 1)|0;
$267 = ($263>>>0)<($265>>>0);
if ($267) {
$$4492 = $$2490$lcssa;$$4520 = $266;$$8 = $$5486$lcssa;
break;
} else {
$$2518634 = $266;$$2534633 = $265;
}
}
}
} else {
$$4492 = $225;$$4520 = $$1517;$$8 = $$3484$lcssa;
}
}
$268 = ((($$4492)) + 4|0);
$269 = ($$4502$lcssa>>>0)>($268>>>0);
$spec$select547 = $269 ? $268 : $$4502$lcssa;
$$5521 = $$4520;$$8506 = $spec$select547;$$9 = $$8;
} else {
$$5521 = $$1517;$$8506 = $$4502$lcssa;$$9 = $$3484$lcssa;
}
$270 = (0 - ($$5521))|0;
$271 = ($$8506>>>0)>($$9>>>0);
L109: do {
if ($271) {
$$9507625 = $$8506;
while(1) {
$273 = ((($$9507625)) + -4|0);
$274 = HEAP32[$273>>2]|0;
$275 = ($274|0)==(0);
if (!($275)) {
$$9507$lcssa = $$9507625;$$lcssa583 = 1;
break L109;
}
$272 = ($273>>>0)>($$9>>>0);
if ($272) {
$$9507625 = $273;
} else {
$$9507$lcssa = $273;$$lcssa583 = 0;
break;
}
}
} else {
$$9507$lcssa = $$8506;$$lcssa583 = 0;
}
} while(0);
do {
if ($211) {
$not$ = $212 ^ 1;
$276 = $not$&1;
$spec$select548 = (($spec$select539) + ($276))|0;
$277 = ($spec$select548|0)>($$5521|0);
$278 = ($$5521|0)>(-5);
$or$cond6 = $277 & $278;
if ($or$cond6) {
$279 = (($5) + -1)|0;
$$neg571 = (($spec$select548) + -1)|0;
$280 = (($$neg571) - ($$5521))|0;
$$0479 = $279;$$2476 = $280;
} else {
$281 = (($5) + -2)|0;
$282 = (($spec$select548) + -1)|0;
$$0479 = $281;$$2476 = $282;
}
$283 = $4 & 8;
$284 = ($283|0)==(0);
if ($284) {
if ($$lcssa583) {
$285 = ((($$9507$lcssa)) + -4|0);
$286 = HEAP32[$285>>2]|0;
$287 = ($286|0)==(0);
if ($287) {
$$2531 = 9;
} else {
$288 = (($286>>>0) % 10)&-1;
$289 = ($288|0)==(0);
if ($289) {
$$1530621 = 0;$$3535620 = 10;
while(1) {
$290 = ($$3535620*10)|0;
$291 = (($$1530621) + 1)|0;
$292 = (($286>>>0) % ($290>>>0))&-1;
$293 = ($292|0)==(0);
if ($293) {
$$1530621 = $291;$$3535620 = $290;
} else {
$$2531 = $291;
break;
}
}
} else {
$$2531 = 0;
}
}
} else {
$$2531 = 9;
}
$294 = $$0479 | 32;
$295 = ($294|0)==(102);
$296 = $$9507$lcssa;
$297 = (($296) - ($132))|0;
$298 = $297 >> 2;
$299 = ($298*9)|0;
$300 = (($299) + -9)|0;
if ($295) {
$301 = (($300) - ($$2531))|0;
$302 = ($301|0)>(0);
$spec$select549 = $302 ? $301 : 0;
$303 = ($$2476|0)<($spec$select549|0);
$spec$select562 = $303 ? $$2476 : $spec$select549;
$$1480 = $$0479;$$3477 = $spec$select562;
break;
} else {
$304 = (($300) + ($$5521))|0;
$305 = (($304) - ($$2531))|0;
$306 = ($305|0)>(0);
$spec$select551 = $306 ? $305 : 0;
$307 = ($$2476|0)<($spec$select551|0);
$spec$select563 = $307 ? $$2476 : $spec$select551;
$$1480 = $$0479;$$3477 = $spec$select563;
break;
}
} else {
$$1480 = $$0479;$$3477 = $$2476;
}
} else {
$$1480 = $5;$$3477 = $spec$select539;
}
} while(0);
$308 = ($$3477|0)!=(0);
$309 = $4 >>> 3;
$$lobit = $309 & 1;
$310 = $308 ? 1 : $$lobit;
$311 = $$1480 | 32;
$312 = ($311|0)==(102);
if ($312) {
$313 = ($$5521|0)>(0);
$314 = $313 ? $$5521 : 0;
$$2515 = 0;$$pn = $314;
} else {
$315 = ($$5521|0)<(0);
$316 = $315 ? $270 : $$5521;
$317 = ($316|0)<(0);
$318 = $317 << 31 >> 31;
$319 = (_fmt_u($316,$318,$11)|0);
$320 = $11;
$321 = $319;
$322 = (($320) - ($321))|0;
$323 = ($322|0)<(2);
if ($323) {
$$1514614 = $319;
while(1) {
$324 = ((($$1514614)) + -1|0);
HEAP8[$324>>0] = 48;
$325 = $324;
$326 = (($320) - ($325))|0;
$327 = ($326|0)<(2);
if ($327) {
$$1514614 = $324;
} else {
$$1514$lcssa = $324;
break;
}
}
} else {
$$1514$lcssa = $319;
}
$328 = $$5521 >> 31;
$329 = $328 & 2;
$330 = (($329) + 43)|0;
$331 = $330&255;
$332 = ((($$1514$lcssa)) + -1|0);
HEAP8[$332>>0] = $331;
$333 = $$1480&255;
$334 = ((($$1514$lcssa)) + -2|0);
HEAP8[$334>>0] = $333;
$335 = $334;
$336 = (($320) - ($335))|0;
$$2515 = $334;$$pn = $336;
}
$337 = (($$0522) + 1)|0;
$338 = (($337) + ($$3477))|0;
$$1528 = (($338) + ($310))|0;
$339 = (($$1528) + ($$pn))|0;
_pad($0,32,$2,$339,$4);
_out($0,$$0523,$$0522);
$340 = $4 ^ 65536;
_pad($0,48,$2,$339,$340);
if ($312) {
$341 = ($$9>>>0)>($$0498>>>0);
$spec$select554 = $341 ? $$0498 : $$9;
$342 = ((($8)) + 9|0);
$343 = $342;
$344 = ((($8)) + 8|0);
$$5493603 = $spec$select554;
while(1) {
$345 = HEAP32[$$5493603>>2]|0;
$346 = (_fmt_u($345,0,$342)|0);
$347 = ($$5493603|0)==($spec$select554|0);
if ($347) {
$353 = ($346|0)==($342|0);
if ($353) {
HEAP8[$344>>0] = 48;
$$1465 = $344;
} else {
$$1465 = $346;
}
} else {
$348 = ($346>>>0)>($8>>>0);
if ($348) {
$349 = $346;
$350 = (($349) - ($9))|0;
_memset(($8|0),48,($350|0))|0;
$$0464599 = $346;
while(1) {
$351 = ((($$0464599)) + -1|0);
$352 = ($351>>>0)>($8>>>0);
if ($352) {
$$0464599 = $351;
} else {
$$1465 = $351;
break;
}
}
} else {
$$1465 = $346;
}
}
$354 = $$1465;
$355 = (($343) - ($354))|0;
_out($0,$$1465,$355);
$356 = ((($$5493603)) + 4|0);
$357 = ($356>>>0)>($$0498>>>0);
if ($357) {
break;
} else {
$$5493603 = $356;
}
}
$$not = $308 ^ 1;
$358 = $4 & 8;
$359 = ($358|0)==(0);
$or$cond556 = $359 & $$not;
if (!($or$cond556)) {
_out($0,70665,1);
}
$360 = ($356>>>0)<($$9507$lcssa>>>0);
$361 = ($$3477|0)>(0);
$362 = $360 & $361;
if ($362) {
$$4478594 = $$3477;$$6494593 = $356;
while(1) {
$363 = HEAP32[$$6494593>>2]|0;
$364 = (_fmt_u($363,0,$342)|0);
$365 = ($364>>>0)>($8>>>0);
if ($365) {
$366 = $364;
$367 = (($366) - ($9))|0;
_memset(($8|0),48,($367|0))|0;
$$0463588 = $364;
while(1) {
$368 = ((($$0463588)) + -1|0);
$369 = ($368>>>0)>($8>>>0);
if ($369) {
$$0463588 = $368;
} else {
$$0463$lcssa = $368;
break;
}
}
} else {
$$0463$lcssa = $364;
}
$370 = ($$4478594|0)<(9);
$371 = $370 ? $$4478594 : 9;
_out($0,$$0463$lcssa,$371);
$372 = ((($$6494593)) + 4|0);
$373 = (($$4478594) + -9)|0;
$374 = ($372>>>0)<($$9507$lcssa>>>0);
$375 = ($$4478594|0)>(9);
$376 = $374 & $375;
if ($376) {
$$4478594 = $373;$$6494593 = $372;
} else {
$$4478$lcssa = $373;
break;
}
}
} else {
$$4478$lcssa = $$3477;
}
$377 = (($$4478$lcssa) + 9)|0;
_pad($0,48,$377,9,0);
} else {
$378 = ((($$9)) + 4|0);
$spec$select557 = $$lcssa583 ? $$9507$lcssa : $378;
$379 = ($$9>>>0)<($spec$select557>>>0);
$380 = ($$3477|0)>(-1);
$381 = $379 & $380;
if ($381) {
$382 = ((($8)) + 9|0);
$383 = $4 & 8;
$384 = ($383|0)==(0);
$385 = $382;
$386 = (0 - ($9))|0;
$387 = ((($8)) + 8|0);
$$5609 = $$3477;$$7495608 = $$9;
while(1) {
$388 = HEAP32[$$7495608>>2]|0;
$389 = (_fmt_u($388,0,$382)|0);
$390 = ($389|0)==($382|0);
if ($390) {
HEAP8[$387>>0] = 48;
$$0 = $387;
} else {
$$0 = $389;
}
$391 = ($$7495608|0)==($$9|0);
do {
if ($391) {
$395 = ((($$0)) + 1|0);
_out($0,$$0,1);
$396 = ($$5609|0)<(1);
$or$cond559 = $384 & $396;
if ($or$cond559) {
$$2 = $395;
break;
}
_out($0,70665,1);
$$2 = $395;
} else {
$392 = ($$0>>>0)>($8>>>0);
if (!($392)) {
$$2 = $$0;
break;
}
$scevgep711 = (($$0) + ($386)|0);
$scevgep711712 = $scevgep711;
_memset(($8|0),48,($scevgep711712|0))|0;
$$1604 = $$0;
while(1) {
$393 = ((($$1604)) + -1|0);
$394 = ($393>>>0)>($8>>>0);
if ($394) {
$$1604 = $393;
} else {
$$2 = $393;
break;
}
}
}
} while(0);
$397 = $$2;
$398 = (($385) - ($397))|0;
$399 = ($$5609|0)>($398|0);
$400 = $399 ? $398 : $$5609;
_out($0,$$2,$400);
$401 = (($$5609) - ($398))|0;
$402 = ((($$7495608)) + 4|0);
$403 = ($402>>>0)<($spec$select557>>>0);
$404 = ($401|0)>(-1);
$405 = $403 & $404;
if ($405) {
$$5609 = $401;$$7495608 = $402;
} else {
$$5$lcssa = $401;
break;
}
}
} else {
$$5$lcssa = $$3477;
}
$406 = (($$5$lcssa) + 18)|0;
_pad($0,48,$406,18,0);
$407 = $11;
$408 = $$2515;
$409 = (($407) - ($408))|0;
_out($0,$$2515,$409);
}
$410 = $4 ^ 8192;
_pad($0,32,$2,$339,$410);
$$sink757 = $339;
}
} while(0);
$411 = ($$sink757|0)<($2|0);
$$560 = $411 ? $2 : $$sink757;
STACKTOP = sp;return ($$560|0);
}
function ___DOUBLE_BITS($0) {
$0 = +$0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0;
$2 = HEAP32[tempDoublePtr+4>>2]|0;
tempRet0 = ($2);
return ($1|0);
}
function _frexpl($0,$1) {
$0 = +$0;
$1 = $1|0;
var $2 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (+_frexp($0,$1));
return (+$2);
}
function _frexp($0,$1) {
$0 = +$0;
$1 = $1|0;
var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0;
var sp = 0;
sp = STACKTOP;
HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
$3 = HEAP32[tempDoublePtr+4>>2]|0;
$4 = (_bitshift64Lshr(($2|0),($3|0),52)|0);
$5 = tempRet0;
$6 = $4&65535;
$trunc$clear = $6 & 2047;
switch ($trunc$clear<<16>>16) {
case 0: {
$7 = $0 != 0.0;
if ($7) {
$8 = $0 * 1.8446744073709552E+19;
$9 = (+_frexp($8,$1));
$10 = HEAP32[$1>>2]|0;
$11 = (($10) + -64)|0;
$$016 = $9;$storemerge = $11;
} else {
$$016 = $0;$storemerge = 0;
}
HEAP32[$1>>2] = $storemerge;
$$0 = $$016;
break;
}
case 2047: {
$$0 = $0;
break;
}
default: {
$12 = $4 & 2047;
$13 = (($12) + -1022)|0;
HEAP32[$1>>2] = $13;
$14 = $3 & -2146435073;
$15 = $14 | 1071644672;
HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3];
$$0 = $16;
}
}
return (+$$0);
}
function ___pthread_self_568() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (_pthread_self()|0);
return ($0|0);
}
function ___strerror_l($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $$115$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$$016 = 0;
while(1) {
$2 = (28432 + ($$016)|0);
$3 = HEAP8[$2>>0]|0;
$4 = $3&255;
$5 = ($4|0)==($0|0);
if ($5) {
label = 4;
break;
}
$6 = (($$016) + 1)|0;
$7 = ($6|0)==(87);
if ($7) {
$$115$ph = 87;
label = 5;
break;
} else {
$$016 = $6;
}
}
if ((label|0) == 4) {
$8 = ($$016|0)==(0);
if ($8) {
$$012$lcssa = 28528;
} else {
$$115$ph = $$016;
label = 5;
}
}
if ((label|0) == 5) {
$$01214 = 28528;$$115 = $$115$ph;
while(1) {
$$113 = $$01214;
while(1) {
$9 = HEAP8[$$113>>0]|0;
$10 = ($9<<24>>24)==(0);
$11 = ((($$113)) + 1|0);
if ($10) {
break;
} else {
$$113 = $11;
}
}
$12 = (($$115) + -1)|0;
$13 = ($12|0)==(0);
if ($13) {
$$012$lcssa = $11;
break;
} else {
$$01214 = $11;$$115 = $12;
}
}
}
$14 = ((($1)) + 20|0);
$15 = HEAP32[$14>>2]|0;
$16 = (___lctrans($$012$lcssa,$15)|0);
return ($16|0);
}
function ___lctrans($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (___lctrans_impl($0,$1)|0);
return ($2|0);
}
function ___lctrans_impl($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($1|0)==(0|0);
if ($2) {
$$0 = 0;
} else {
$3 = HEAP32[$1>>2]|0;
$4 = ((($1)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = (___mo_lookup($3,$5,$0)|0);
$$0 = $6;
}
$7 = ($$0|0)==(0|0);
$8 = $7 ? $0 : $$0;
return ($8|0);
}
function ___mo_lookup($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
$4 = (($3) + 1794895138)|0;
$5 = ((($0)) + 8|0);
$6 = HEAP32[$5>>2]|0;
$7 = (_swapc($6,$4)|0);
$8 = ((($0)) + 12|0);
$9 = HEAP32[$8>>2]|0;
$10 = (_swapc($9,$4)|0);
$11 = ((($0)) + 16|0);
$12 = HEAP32[$11>>2]|0;
$13 = (_swapc($12,$4)|0);
$14 = $1 >>> 2;
$15 = ($7>>>0)<($14>>>0);
L1: do {
if ($15) {
$16 = $7 << 2;
$17 = (($1) - ($16))|0;
$18 = ($10>>>0)<($17>>>0);
$19 = ($13>>>0)<($17>>>0);
$or$cond = $18 & $19;
if ($or$cond) {
$20 = $13 | $10;
$21 = $20 & 3;
$22 = ($21|0)==(0);
if ($22) {
$23 = $10 >>> 2;
$24 = $13 >>> 2;
$$090 = 0;$$094 = $7;
while(1) {
$25 = $$094 >>> 1;
$26 = (($$090) + ($25))|0;
$27 = $26 << 1;
$28 = (($27) + ($23))|0;
$29 = (($0) + ($28<<2)|0);
$30 = HEAP32[$29>>2]|0;
$31 = (_swapc($30,$4)|0);
$32 = (($28) + 1)|0;
$33 = (($0) + ($32<<2)|0);
$34 = HEAP32[$33>>2]|0;
$35 = (_swapc($34,$4)|0);
$36 = ($35>>>0)<($1>>>0);
$37 = (($1) - ($35))|0;
$38 = ($31>>>0)<($37>>>0);
$or$cond102 = $36 & $38;
if (!($or$cond102)) {
$$4 = 0;
break L1;
}
$39 = (($35) + ($31))|0;
$40 = (($0) + ($39)|0);
$41 = HEAP8[$40>>0]|0;
$42 = ($41<<24>>24)==(0);
if (!($42)) {
$$4 = 0;
break L1;
}
$43 = (($0) + ($35)|0);
$44 = (_strcmp($2,$43)|0);
$45 = ($44|0)==(0);
if ($45) {
break;
}
$62 = ($$094|0)==(1);
$63 = ($44|0)<(0);
if ($62) {
$$4 = 0;
break L1;
}
$$191 = $63 ? $$090 : $26;
$64 = (($$094) - ($25))|0;
$$195 = $63 ? $25 : $64;
$$090 = $$191;$$094 = $$195;
}
$46 = (($27) + ($24))|0;
$47 = (($0) + ($46<<2)|0);
$48 = HEAP32[$47>>2]|0;
$49 = (_swapc($48,$4)|0);
$50 = (($46) + 1)|0;
$51 = (($0) + ($50<<2)|0);
$52 = HEAP32[$51>>2]|0;
$53 = (_swapc($52,$4)|0);
$54 = ($53>>>0)<($1>>>0);
$55 = (($1) - ($53))|0;
$56 = ($49>>>0)<($55>>>0);
$or$cond104 = $54 & $56;
if ($or$cond104) {
$57 = (($0) + ($53)|0);
$58 = (($53) + ($49))|0;
$59 = (($0) + ($58)|0);
$60 = HEAP8[$59>>0]|0;
$61 = ($60<<24>>24)==(0);
$spec$select = $61 ? $57 : 0;
$$4 = $spec$select;
} else {
$$4 = 0;
}
} else {
$$4 = 0;
}
} else {
$$4 = 0;
}
} else {
$$4 = 0;
}
} while(0);
return ($$4|0);
}
function _swapc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($1|0)==(0);
$3 = (_llvm_bswap_i32(($0|0))|0);
$spec$select = $2 ? $0 : $3;
return ($spec$select|0);
}
function _strcmp($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$2 = HEAP8[$0>>0]|0;
$3 = HEAP8[$1>>0]|0;
$4 = ($2<<24>>24)!=($3<<24>>24);
$5 = ($2<<24>>24)==(0);
$or$cond9 = $5 | $4;
if ($or$cond9) {
$$lcssa = $3;$$lcssa8 = $2;
} else {
$$011 = $1;$$0710 = $0;
while(1) {
$6 = ((($$0710)) + 1|0);
$7 = ((($$011)) + 1|0);
$8 = HEAP8[$6>>0]|0;
$9 = HEAP8[$7>>0]|0;
$10 = ($8<<24>>24)!=($9<<24>>24);
$11 = ($8<<24>>24)==(0);
$or$cond = $11 | $10;
if ($or$cond) {
$$lcssa = $9;$$lcssa8 = $8;
break;
} else {
$$011 = $7;$$0710 = $6;
}
}
}
$12 = $$lcssa8&255;
$13 = $$lcssa&255;
$14 = (($12) - ($13))|0;
return ($14|0);
}
function _sn_write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$cast = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 16|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($0)) + 20|0);
$6 = HEAP32[$5>>2]|0;
$7 = (($4) - ($6))|0;
$8 = ($7>>>0)>($2>>>0);
$spec$select = $8 ? $2 : $7;
$$cast = $6;
(_memcpy(($$cast|0),($1|0),($spec$select|0))|0);
$9 = HEAP32[$5>>2]|0;
$10 = (($9) + ($spec$select)|0);
HEAP32[$5>>2] = $10;
return ($2|0);
}
function _wcschr($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$09 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($1|0)==(0);
if ($2) {
$3 = (_wcslen($0)|0);
$4 = (($0) + ($3<<2)|0);
$$0 = $4;
} else {
$$09 = $0;
while(1) {
$5 = HEAP32[$$09>>2]|0;
$6 = ($5|0)==(0);
$7 = ($5|0)==($1|0);
$or$cond = $6 | $7;
$8 = ((($$09)) + 4|0);
if ($or$cond) {
break;
} else {
$$09 = $8;
}
}
$9 = $6 ? 0 : $$09;
$$0 = $9;
}
return ($$0|0);
}
function _wcslen($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$$0 = $0;
while(1) {
$1 = HEAP32[$$0>>2]|0;
$2 = ($1|0)==(0);
$3 = ((($$0)) + 4|0);
if ($2) {
break;
} else {
$$0 = $3;
}
}
$4 = $$0;
$5 = $0;
$6 = (($4) - ($5))|0;
$7 = $6 >> 2;
return ($7|0);
}
function ___fdopen($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer12 = sp + 40|0;
$vararg_buffer7 = sp + 24|0;
$vararg_buffer3 = sp + 16|0;
$vararg_buffer = sp;
$2 = sp + 56|0;
$3 = HEAP8[$1>>0]|0;
$4 = $3 << 24 >> 24;
$5 = (_strchr(70667,$4)|0);
$6 = ($5|0)==(0|0);
if ($6) {
$7 = (___errno_location()|0);
HEAP32[$7>>2] = 22;
$$0 = 0;
} else {
$8 = (_malloc(1156)|0);
$9 = ($8|0)==(0|0);
if ($9) {
$$0 = 0;
} else {
(_memset(($8|0),0,124)|0);
$10 = (_strchr($1,43)|0);
$11 = ($10|0)==(0|0);
if ($11) {
$12 = HEAP8[$1>>0]|0;
$13 = ($12<<24>>24)==(114);
$14 = $13 ? 8 : 4;
HEAP32[$8>>2] = $14;
}
$15 = (_strchr($1,101)|0);
$16 = ($15|0)==(0|0);
if (!($16)) {
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 2;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 1;
(___syscall221(221,($vararg_buffer|0))|0);
}
$17 = HEAP8[$1>>0]|0;
$18 = ($17<<24>>24)==(97);
if ($18) {
HEAP32[$vararg_buffer3>>2] = $0;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = 3;
$19 = (___syscall221(221,($vararg_buffer3|0))|0);
$20 = $19 & 1024;
$21 = ($20|0)==(0);
if ($21) {
$22 = $19 | 1024;
HEAP32[$vararg_buffer7>>2] = $0;
$vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
HEAP32[$vararg_ptr10>>2] = 4;
$vararg_ptr11 = ((($vararg_buffer7)) + 8|0);
HEAP32[$vararg_ptr11>>2] = $22;
(___syscall221(221,($vararg_buffer7|0))|0);
}
$23 = HEAP32[$8>>2]|0;
$24 = $23 | 128;
HEAP32[$8>>2] = $24;
$31 = $24;
} else {
$$pre = HEAP32[$8>>2]|0;
$31 = $$pre;
}
$25 = ((($8)) + 60|0);
HEAP32[$25>>2] = $0;
$26 = ((($8)) + 132|0);
$27 = ((($8)) + 44|0);
HEAP32[$27>>2] = $26;
$28 = ((($8)) + 48|0);
HEAP32[$28>>2] = 1024;
$29 = ((($8)) + 75|0);
HEAP8[$29>>0] = -1;
$30 = $31 & 8;
$32 = ($30|0)==(0);
if ($32) {
$33 = $2;
HEAP32[$vararg_buffer12>>2] = $0;
$vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
HEAP32[$vararg_ptr15>>2] = 21523;
$vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
HEAP32[$vararg_ptr16>>2] = $33;
$34 = (___syscall54(54,($vararg_buffer12|0))|0);
$35 = ($34|0)==(0);
if ($35) {
HEAP8[$29>>0] = 10;
}
}
$36 = ((($8)) + 32|0);
HEAP32[$36>>2] = 89;
$37 = ((($8)) + 36|0);
HEAP32[$37>>2] = 52;
$38 = ((($8)) + 40|0);
HEAP32[$38>>2] = 51;
$39 = ((($8)) + 12|0);
HEAP32[$39>>2] = 49;
$40 = HEAP32[(73216)>>2]|0;
$41 = ($40|0)==(0);
if ($41) {
$42 = ((($8)) + 76|0);
HEAP32[$42>>2] = -1;
}
$43 = (___ofl_add($8)|0);
$$0 = $8;
}
}
STACKTOP = sp;return ($$0|0);
}
function _strchr($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (___strchrnul($0,$1)|0);
$3 = HEAP8[$2>>0]|0;
$4 = $1&255;
$5 = ($3<<24>>24)==($4<<24>>24);
$6 = $5 ? $2 : 0;
return ($6|0);
}
function ___ofl_add($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (___ofl_lock()|0);
$2 = HEAP32[$1>>2]|0;
$3 = ((($0)) + 56|0);
HEAP32[$3>>2] = $2;
$4 = HEAP32[$1>>2]|0;
$5 = ($4|0)==(0|0);
if (!($5)) {
$6 = ((($4)) + 52|0);
HEAP32[$6>>2] = $0;
}
HEAP32[$1>>2] = $0;
___ofl_unlock();
return ($0|0);
}
function ___strchrnul($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = $1 & 255;
$3 = ($2|0)==(0);
L1: do {
if ($3) {
$4 = (_strlen($0)|0);
$5 = (($0) + ($4)|0);
$$0 = $5;
} else {
$6 = $0;
$7 = $6 & 3;
$8 = ($7|0)==(0);
if ($8) {
$$030$lcssa = $0;
} else {
$9 = $1&255;
$$03039 = $0;
while(1) {
$10 = HEAP8[$$03039>>0]|0;
$11 = ($10<<24>>24)==(0);
$12 = ($10<<24>>24)==($9<<24>>24);
$or$cond = $11 | $12;
if ($or$cond) {
$$0 = $$03039;
break L1;
}
$13 = ((($$03039)) + 1|0);
$14 = $13;
$15 = $14 & 3;
$16 = ($15|0)==(0);
if ($16) {
$$030$lcssa = $13;
break;
} else {
$$03039 = $13;
}
}
}
$17 = Math_imul($2, 16843009)|0;
$18 = HEAP32[$$030$lcssa>>2]|0;
$19 = (($18) + -16843009)|0;
$20 = $18 & -2139062144;
$21 = $20 ^ -2139062144;
$22 = $21 & $19;
$23 = ($22|0)==(0);
L10: do {
if ($23) {
$$02936 = $$030$lcssa;$25 = $18;
while(1) {
$24 = $25 ^ $17;
$26 = (($24) + -16843009)|0;
$27 = $24 & -2139062144;
$28 = $27 ^ -2139062144;
$29 = $28 & $26;
$30 = ($29|0)==(0);
if (!($30)) {
$$029$lcssa = $$02936;
break L10;
}
$31 = ((($$02936)) + 4|0);
$32 = HEAP32[$31>>2]|0;
$33 = (($32) + -16843009)|0;
$34 = $32 & -2139062144;
$35 = $34 ^ -2139062144;
$36 = $35 & $33;
$37 = ($36|0)==(0);
if ($37) {
$$02936 = $31;$25 = $32;
} else {
$$029$lcssa = $31;
break;
}
}
} else {
$$029$lcssa = $$030$lcssa;
}
} while(0);
$38 = $1&255;
$$1 = $$029$lcssa;
while(1) {
$39 = HEAP8[$$1>>0]|0;
$40 = ($39<<24>>24)==(0);
$41 = ($39<<24>>24)==($38<<24>>24);
$or$cond33 = $40 | $41;
$42 = ((($$1)) + 1|0);
if ($or$cond33) {
$$0 = $$1;
break;
} else {
$$1 = $42;
}
}
}
} while(0);
return ($$0|0);
}
function _strlen($0) {
$0 = $0|0;
var $$0 = 0, $$014 = 0, $$015$lcssa = 0, $$01518 = 0, $$1$lcssa = 0, $$pn = 0, $$pn29 = 0, $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
var $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = $0;
$2 = $1 & 3;
$3 = ($2|0)==(0);
L1: do {
if ($3) {
$$015$lcssa = $0;
label = 5;
} else {
$$01518 = $0;$22 = $1;
while(1) {
$4 = HEAP8[$$01518>>0]|0;
$5 = ($4<<24>>24)==(0);
if ($5) {
$$pn = $22;
break L1;
}
$6 = ((($$01518)) + 1|0);
$7 = $6;
$8 = $7 & 3;
$9 = ($8|0)==(0);
if ($9) {
$$015$lcssa = $6;
label = 5;
break;
} else {
$$01518 = $6;$22 = $7;
}
}
}
} while(0);
if ((label|0) == 5) {
$$0 = $$015$lcssa;
while(1) {
$10 = HEAP32[$$0>>2]|0;
$11 = (($10) + -16843009)|0;
$12 = $10 & -2139062144;
$13 = $12 ^ -2139062144;
$14 = $13 & $11;
$15 = ($14|0)==(0);
$16 = ((($$0)) + 4|0);
if ($15) {
$$0 = $16;
} else {
break;
}
}
$17 = $10&255;
$18 = ($17<<24>>24)==(0);
if ($18) {
$$1$lcssa = $$0;
} else {
$$pn29 = $$0;
while(1) {
$19 = ((($$pn29)) + 1|0);
$$pre = HEAP8[$19>>0]|0;
$20 = ($$pre<<24>>24)==(0);
if ($20) {
$$1$lcssa = $19;
break;
} else {
$$pn29 = $19;
}
}
}
$21 = $$1$lcssa;
$$pn = $21;
}
$$014 = (($$pn) - ($1))|0;
return ($$014|0);
}
function _fprintf($0,$1,$varargs) {
$0 = $0|0;
$1 = $1|0;
$varargs = $varargs|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
HEAP32[$2>>2] = $varargs;
$3 = (_vfprintf($0,$1,$2)|0);
STACKTOP = sp;return ($3|0);
}
function _vsprintf($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_vsnprintf($0,2147483647,$1,$2)|0);
return ($3|0);
}
function _mbtowc($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = ($1|0)==(0|0);
L1: do {
if ($4) {
$$0 = 0;
} else {
$5 = ($2|0)==(0);
do {
if (!($5)) {
$6 = ($0|0)==(0|0);
$spec$select = $6 ? $3 : $0;
$7 = HEAP8[$1>>0]|0;
$8 = ($7<<24>>24)>(-1);
if ($8) {
$9 = $7&255;
HEAP32[$spec$select>>2] = $9;
$10 = ($7<<24>>24)!=(0);
$11 = $10&1;
$$0 = $11;
break L1;
}
$12 = (___pthread_self_423()|0);
$13 = ((($12)) + 188|0);
$14 = HEAP32[$13>>2]|0;
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==(0|0);
$17 = HEAP8[$1>>0]|0;
if ($16) {
$18 = $17 << 24 >> 24;
$19 = $18 & 57343;
HEAP32[$spec$select>>2] = $19;
$$0 = 1;
break L1;
}
$20 = $17&255;
$21 = (($20) + -194)|0;
$22 = ($21>>>0)>(50);
if (!($22)) {
$23 = ((($1)) + 1|0);
$24 = (27472 + ($21<<2)|0);
$25 = HEAP32[$24>>2]|0;
$26 = ($2>>>0)<(4);
if ($26) {
$27 = ($2*6)|0;
$28 = (($27) + -6)|0;
$29 = -2147483648 >>> $28;
$30 = $25 & $29;
$31 = ($30|0)==(0);
if (!($31)) {
break;
}
}
$32 = HEAP8[$23>>0]|0;
$33 = $32&255;
$34 = $33 >>> 3;
$35 = (($34) + -16)|0;
$36 = $25 >> 26;
$37 = (($34) + ($36))|0;
$38 = $35 | $37;
$39 = ($38>>>0)>(7);
if (!($39)) {
$40 = $25 << 6;
$41 = (($33) + -128)|0;
$42 = $41 | $40;
$43 = ($42|0)<(0);
if (!($43)) {
HEAP32[$spec$select>>2] = $42;
$$0 = 2;
break L1;
}
$44 = ((($1)) + 2|0);
$45 = HEAP8[$44>>0]|0;
$46 = $45&255;
$47 = (($46) + -128)|0;
$48 = ($47>>>0)>(63);
if (!($48)) {
$49 = $42 << 6;
$50 = $47 | $49;
$51 = ($50|0)<(0);
if (!($51)) {
HEAP32[$spec$select>>2] = $50;
$$0 = 3;
break L1;
}
$52 = ((($1)) + 3|0);
$53 = HEAP8[$52>>0]|0;
$54 = $53&255;
$55 = (($54) + -128)|0;
$56 = ($55>>>0)>(63);
if (!($56)) {
$57 = $50 << 6;
$58 = $55 | $57;
HEAP32[$spec$select>>2] = $58;
$$0 = 4;
break L1;
}
}
}
}
}
} while(0);
$59 = (___errno_location()|0);
HEAP32[$59>>2] = 84;
$$0 = -1;
}
} while(0);
STACKTOP = sp;return ($$0|0);
}
function ___pthread_self_423() {
var $0 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (_pthread_self()|0);
return ($0|0);
}
function _fopen($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0;
var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer8 = sp + 32|0;
$vararg_buffer3 = sp + 16|0;
$vararg_buffer = sp;
$2 = HEAP8[$1>>0]|0;
$3 = $2 << 24 >> 24;
$4 = (_strchr(70667,$3)|0);
$5 = ($4|0)==(0|0);
if ($5) {
$6 = (___errno_location()|0);
HEAP32[$6>>2] = 22;
$$0 = 0;
} else {
$7 = (___fmodeflags($1)|0);
$8 = $0;
$9 = $7 | 32768;
HEAP32[$vararg_buffer>>2] = $8;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $9;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 438;
$10 = (___syscall5(5,($vararg_buffer|0))|0);
$11 = (___syscall_ret($10)|0);
$12 = ($11|0)<(0);
if ($12) {
$$0 = 0;
} else {
$13 = $7 & 524288;
$14 = ($13|0)==(0);
if (!($14)) {
HEAP32[$vararg_buffer3>>2] = $11;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = 2;
$vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
HEAP32[$vararg_ptr7>>2] = 1;
(___syscall221(221,($vararg_buffer3|0))|0);
}
$15 = (___fdopen($11,$1)|0);
$16 = ($15|0)==(0|0);
if ($16) {
HEAP32[$vararg_buffer8>>2] = $11;
(___syscall6(6,($vararg_buffer8|0))|0);
$$0 = 0;
} else {
$$0 = $15;
}
}
}
STACKTOP = sp;return ($$0|0);
}
function ___fmodeflags($0) {
$0 = $0|0;
var $$ = 0, $$0 = 0, $$2 = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $spec$select = 0, $spec$select13 = 0, $spec$select14 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_strchr($0,43)|0);
$2 = ($1|0)==(0|0);
$3 = HEAP8[$0>>0]|0;
$4 = ($3<<24>>24)!=(114);
$$ = $4&1;
$$0 = $2 ? $$ : 2;
$5 = (_strchr($0,120)|0);
$6 = ($5|0)==(0|0);
$7 = $$0 | 128;
$spec$select = $6 ? $$0 : $7;
$8 = (_strchr($0,101)|0);
$9 = ($8|0)==(0|0);
$10 = $spec$select | 524288;
$$2 = $9 ? $spec$select : $10;
$11 = ($3<<24>>24)==(114);
$12 = $$2 | 64;
$spec$select13 = $11 ? $$2 : $12;
$13 = ($3<<24>>24)==(119);
$14 = $spec$select13 | 512;
$$4 = $13 ? $14 : $spec$select13;
$15 = ($3<<24>>24)==(97);
$16 = $$4 | 1024;
$spec$select14 = $15 ? $16 : $$4;
return ($spec$select14|0);
}
function _fgets($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$05963 = 0, $$06065 = 0, $$06164 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0;
var $or$cond72 = 0, $sext$mask = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($2)) + 76|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)>(-1);
if ($5) {
$6 = (___lockfile($2)|0);
$16 = $6;
} else {
$16 = 0;
}
$7 = (($1) + -1)|0;
$8 = ($1|0)<(2);
if ($8) {
$9 = ((($2)) + 74|0);
$10 = HEAP8[$9>>0]|0;
$11 = $10 << 24 >> 24;
$12 = (($11) + 255)|0;
$13 = $12 | $11;
$14 = $13&255;
HEAP8[$9>>0] = $14;
$15 = ($16|0)==(0);
if (!($15)) {
___unlockfile($2);
}
$17 = ($7|0)==(0);
if ($17) {
HEAP8[$0>>0] = 0;
$$0 = $0;
} else {
$$0 = 0;
}
} else {
$18 = ($7|0)==(0);
L11: do {
if ($18) {
$$1 = $0;
label = 17;
} else {
$19 = ((($2)) + 4|0);
$20 = ((($2)) + 8|0);
$$06065 = $7;$$06164 = $0;
while(1) {
$21 = HEAP32[$19>>2]|0;
$22 = HEAP32[$20>>2]|0;
$23 = $21;
$24 = (($22) - ($23))|0;
$25 = (_memchr($21,10,$24)|0);
$26 = ($25|0)==(0|0);
$27 = $25;
$28 = (1 - ($23))|0;
$29 = (($28) + ($27))|0;
$30 = $26 ? $24 : $29;
$31 = ($30>>>0)<($$06065>>>0);
$32 = $31 ? $30 : $$06065;
(_memcpy(($$06164|0),($21|0),($32|0))|0);
$33 = HEAP32[$19>>2]|0;
$34 = (($33) + ($32)|0);
HEAP32[$19>>2] = $34;
$35 = (($$06164) + ($32)|0);
$36 = (($$06065) - ($32))|0;
$37 = ($36|0)!=(0);
$or$cond = $26 & $37;
if (!($or$cond)) {
$$1 = $35;
label = 17;
break L11;
}
$38 = HEAP32[$20>>2]|0;
$39 = ($34>>>0)<($38>>>0);
if ($39) {
$40 = ((($34)) + 1|0);
HEAP32[$19>>2] = $40;
$41 = HEAP8[$34>>0]|0;
$42 = $41&255;
$50 = $42;
} else {
$43 = (___uflow($2)|0);
$44 = ($43|0)<(0);
if ($44) {
break;
} else {
$50 = $43;
}
}
$49 = $50&255;
$51 = ((($35)) + 1|0);
HEAP8[$35>>0] = $49;
$sext$mask = $50 & 255;
$52 = ($sext$mask|0)==(10);
$53 = (($36) + -1)|0;
$54 = ($53|0)==(0);
$or$cond72 = $52 | $54;
if ($or$cond72) {
$$1 = $51;
label = 17;
break L11;
} else {
$$06065 = $53;$$06164 = $51;
}
}
$45 = ($35|0)==($0|0);
if ($45) {
$$05963 = 0;
} else {
$46 = HEAP32[$2>>2]|0;
$47 = $46 & 16;
$48 = ($47|0)==(0);
if ($48) {
$$05963 = 0;
} else {
$$1 = $35;
label = 17;
}
}
}
} while(0);
if ((label|0) == 17) {
$55 = ($0|0)==(0|0);
if ($55) {
$$05963 = 0;
} else {
HEAP8[$$1>>0] = 0;
$$05963 = $0;
}
}
$56 = ($16|0)==(0);
if ($56) {
$$0 = $$05963;
} else {
___unlockfile($2);
$$0 = $$05963;
}
}
return ($$0|0);
}
function _strcpy($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
(___stpcpy($0,$1)|0);
return ($0|0);
}
function ___stpcpy($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$030 = 0, $$037 = 0, $$1 = 0, $$128 = 0, $$22934 = 0, $$235 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = $1;
$3 = $0;
$4 = $2 ^ $3;
$5 = $4 & 3;
$6 = ($5|0)==(0);
L1: do {
if ($6) {
$7 = $2 & 3;
$8 = ($7|0)==(0);
if ($8) {
$$026$lcssa = $1;$$027$lcssa = $0;
} else {
$$02642 = $1;$$02741 = $0;
while(1) {
$9 = HEAP8[$$02642>>0]|0;
HEAP8[$$02741>>0] = $9;
$10 = ($9<<24>>24)==(0);
if ($10) {
$$030 = $$02741;
break L1;
}
$11 = ((($$02642)) + 1|0);
$12 = ((($$02741)) + 1|0);
$13 = $11;
$14 = $13 & 3;
$15 = ($14|0)==(0);
if ($15) {
$$026$lcssa = $11;$$027$lcssa = $12;
break;
} else {
$$02642 = $11;$$02741 = $12;
}
}
}
$16 = HEAP32[$$026$lcssa>>2]|0;
$17 = (($16) + -16843009)|0;
$18 = $16 & -2139062144;
$19 = $18 ^ -2139062144;
$20 = $19 & $17;
$21 = ($20|0)==(0);
if ($21) {
$$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16;
while(1) {
$22 = ((($$037)) + 4|0);
$23 = ((($$02536)) + 4|0);
HEAP32[$$02536>>2] = $24;
$25 = HEAP32[$22>>2]|0;
$26 = (($25) + -16843009)|0;
$27 = $25 & -2139062144;
$28 = $27 ^ -2139062144;
$29 = $28 & $26;
$30 = ($29|0)==(0);
if ($30) {
$$02536 = $23;$$037 = $22;$24 = $25;
} else {
$$0$lcssa = $22;$$025$lcssa = $23;
break;
}
}
} else {
$$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa;
}
$$1 = $$0$lcssa;$$128 = $$025$lcssa;
label = 10;
} else {
$$1 = $1;$$128 = $0;
label = 10;
}
} while(0);
if ((label|0) == 10) {
$31 = HEAP8[$$1>>0]|0;
HEAP8[$$128>>0] = $31;
$32 = ($31<<24>>24)==(0);
if ($32) {
$$030 = $$128;
} else {
$$22934 = $$128;$$235 = $$1;
while(1) {
$33 = ((($$235)) + 1|0);
$34 = ((($$22934)) + 1|0);
$35 = HEAP8[$33>>0]|0;
HEAP8[$34>>0] = $35;
$36 = ($35<<24>>24)==(0);
if ($36) {
$$030 = $34;
break;
} else {
$$22934 = $34;$$235 = $33;
}
}
}
}
return ($$030|0);
}
function _feof($0) {
$0 = $0|0;
var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 76|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)>(-1);
if ($3) {
$6 = (___lockfile($0)|0);
$phitmp = ($6|0)==(0);
$7 = HEAP32[$0>>2]|0;
$8 = $7 >>> 4;
$$lobit = $8 & 1;
if ($phitmp) {
$$lobit9 = $$lobit;
} else {
___unlockfile($0);
$$lobit9 = $$lobit;
}
} else {
$4 = HEAP32[$0>>2]|0;
$5 = $4 >>> 4;
$$lobit8 = $5 & 1;
$$lobit9 = $$lobit8;
}
return ($$lobit9|0);
}
function _sprintf($0,$1,$varargs) {
$0 = $0|0;
$1 = $1|0;
$varargs = $varargs|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
HEAP32[$2>>2] = $varargs;
$3 = (_vsprintf($0,$1,$2)|0);
STACKTOP = sp;return ($3|0);
}
function _strncmp($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa = 0, $$01823 = 0, $$01925 = 0, $$01925$in = 0, $$020 = 0, $$024 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($2|0)==(0);
if ($3) {
$$020 = 0;
} else {
$4 = HEAP8[$0>>0]|0;
$5 = ($4<<24>>24)==(0);
L3: do {
if ($5) {
$$0$lcssa = $1;$$lcssa = 0;
} else {
$$01823 = $0;$$01925$in = $2;$$024 = $1;$10 = $4;
while(1) {
$$01925 = (($$01925$in) + -1)|0;
$6 = HEAP8[$$024>>0]|0;
$7 = ($6<<24>>24)!=(0);
$8 = ($$01925|0)!=(0);
$or$cond = $8 & $7;
$9 = ($10<<24>>24)==($6<<24>>24);
$or$cond21 = $9 & $or$cond;
if (!($or$cond21)) {
$$0$lcssa = $$024;$$lcssa = $10;
break L3;
}
$11 = ((($$01823)) + 1|0);
$12 = ((($$024)) + 1|0);
$13 = HEAP8[$11>>0]|0;
$14 = ($13<<24>>24)==(0);
if ($14) {
$$0$lcssa = $12;$$lcssa = 0;
break;
} else {
$$01823 = $11;$$01925$in = $$01925;$$024 = $12;$10 = $13;
}
}
}
} while(0);
$15 = $$lcssa&255;
$16 = HEAP8[$$0$lcssa>>0]|0;
$17 = $16&255;
$18 = (($15) - ($17))|0;
$$020 = $18;
}
return ($$020|0);
}
function _close($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $spec$store$select = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$1 = (_dummy_33($0)|0);
HEAP32[$vararg_buffer>>2] = $1;
$2 = (___syscall6(6,($vararg_buffer|0))|0);
$3 = ($2|0)==(-4);
$spec$store$select = $3 ? 0 : $2;
$4 = (___syscall_ret($spec$store$select)|0);
STACKTOP = sp;return ($4|0);
}
function _fcntl($0,$1,$varargs) {
$0 = $0|0;
$1 = $1|0;
$varargs = $varargs|0;
var $$0 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $spec$select = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer18 = 0, $vararg_buffer23 = 0, $vararg_buffer28 = 0, $vararg_buffer3 = 0, $vararg_buffer31 = 0, $vararg_buffer36 = 0, $vararg_buffer41 = 0, $vararg_buffer46 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0;
var $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr26 = 0, $vararg_ptr27 = 0, $vararg_ptr34 = 0, $vararg_ptr35 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr44 = 0, $vararg_ptr45 = 0, $vararg_ptr49 = 0, $vararg_ptr50 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
$vararg_buffer46 = sp + 168|0;
$vararg_buffer41 = sp + 152|0;
$vararg_buffer36 = sp + 136|0;
$vararg_buffer31 = sp + 120|0;
$vararg_buffer28 = sp + 112|0;
$vararg_buffer23 = sp + 96|0;
$vararg_buffer18 = sp + 80|0;
$vararg_buffer13 = sp + 64|0;
$vararg_buffer8 = sp + 48|0;
$vararg_buffer3 = sp + 32|0;
$vararg_buffer = sp + 16|0;
$2 = sp;
$3 = sp + 184|0;
HEAP32[$2>>2] = $varargs;
$arglist_current = HEAP32[$2>>2]|0;
$4 = $arglist_current;
$5 = ((0) + 4|0);
$expanded2 = $5;
$expanded = (($expanded2) - 1)|0;
$6 = (($4) + ($expanded))|0;
$7 = ((0) + 4|0);
$expanded6 = $7;
$expanded5 = (($expanded6) - 1)|0;
$expanded4 = $expanded5 ^ -1;
$8 = $6 & $expanded4;
$9 = $8;
$10 = HEAP32[$9>>2]|0;
$arglist_next = ((($9)) + 4|0);
HEAP32[$2>>2] = $arglist_next;
$11 = ($1|0)==(4);
$12 = $10 | 32768;
$spec$select = $11 ? $12 : $10;
L1: do {
switch ($1|0) {
case 14: {
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 14;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $spec$select;
$13 = (___syscall221(221,($vararg_buffer|0))|0);
$14 = (___syscall_ret($13)|0);
$$2 = $14;
break;
}
case 9: {
$15 = $3;
HEAP32[$vararg_buffer3>>2] = $0;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = 16;
$vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
HEAP32[$vararg_ptr7>>2] = $15;
$16 = (___syscall221(221,($vararg_buffer3|0))|0);
switch ($16|0) {
case -22: {
HEAP32[$vararg_buffer8>>2] = $0;
$vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
HEAP32[$vararg_ptr11>>2] = 9;
$vararg_ptr12 = ((($vararg_buffer8)) + 8|0);
HEAP32[$vararg_ptr12>>2] = $spec$select;
$17 = (___syscall221(221,($vararg_buffer8|0))|0);
$$0 = $17;
break;
}
case 0: {
$19 = HEAP32[$3>>2]|0;
$20 = ($19|0)==(2);
$21 = ((($3)) + 4|0);
$22 = HEAP32[$21>>2]|0;
$23 = (0 - ($22))|0;
$24 = $20 ? $23 : $22;
$$0 = $24;
break;
}
default: {
$18 = (___syscall_ret($16)|0);
$$0 = $18;
}
}
$$2 = $$0;
break;
}
case 1030: {
HEAP32[$vararg_buffer13>>2] = $0;
$vararg_ptr16 = ((($vararg_buffer13)) + 4|0);
HEAP32[$vararg_ptr16>>2] = 1030;
$vararg_ptr17 = ((($vararg_buffer13)) + 8|0);
HEAP32[$vararg_ptr17>>2] = $spec$select;
$25 = (___syscall221(221,($vararg_buffer13|0))|0);
$26 = ($25|0)==(-22);
if (!($26)) {
$27 = ($25|0)>(-1);
if ($27) {
HEAP32[$vararg_buffer18>>2] = $25;
$vararg_ptr21 = ((($vararg_buffer18)) + 4|0);
HEAP32[$vararg_ptr21>>2] = 2;
$vararg_ptr22 = ((($vararg_buffer18)) + 8|0);
HEAP32[$vararg_ptr22>>2] = 1;
(___syscall221(221,($vararg_buffer18|0))|0);
}
$28 = (___syscall_ret($25)|0);
$$2 = $28;
break L1;
}
HEAP32[$vararg_buffer23>>2] = $0;
$vararg_ptr26 = ((($vararg_buffer23)) + 4|0);
HEAP32[$vararg_ptr26>>2] = 1030;
$vararg_ptr27 = ((($vararg_buffer23)) + 8|0);
HEAP32[$vararg_ptr27>>2] = 0;
$29 = (___syscall221(221,($vararg_buffer23|0))|0);
$30 = ($29|0)==(-22);
if ($30) {
HEAP32[$vararg_buffer31>>2] = $0;
$vararg_ptr34 = ((($vararg_buffer31)) + 4|0);
HEAP32[$vararg_ptr34>>2] = 0;
$vararg_ptr35 = ((($vararg_buffer31)) + 8|0);
HEAP32[$vararg_ptr35>>2] = $spec$select;
$33 = (___syscall221(221,($vararg_buffer31|0))|0);
$34 = ($33|0)>(-1);
if ($34) {
HEAP32[$vararg_buffer36>>2] = $33;
$vararg_ptr39 = ((($vararg_buffer36)) + 4|0);
HEAP32[$vararg_ptr39>>2] = 2;
$vararg_ptr40 = ((($vararg_buffer36)) + 8|0);
HEAP32[$vararg_ptr40>>2] = 1;
(___syscall221(221,($vararg_buffer36|0))|0);
}
$35 = (___syscall_ret($33)|0);
$$2 = $35;
break L1;
} else {
$31 = ($29|0)>(-1);
if ($31) {
HEAP32[$vararg_buffer28>>2] = $29;
(___syscall6(6,($vararg_buffer28|0))|0);
}
$32 = (___syscall_ret(-22)|0);
$$2 = $32;
break L1;
}
break;
}
case 15: case 16: case 12: case 13: {
HEAP32[$vararg_buffer41>>2] = $0;
$vararg_ptr44 = ((($vararg_buffer41)) + 4|0);
HEAP32[$vararg_ptr44>>2] = $1;
$vararg_ptr45 = ((($vararg_buffer41)) + 8|0);
HEAP32[$vararg_ptr45>>2] = $spec$select;
$36 = (___syscall221(221,($vararg_buffer41|0))|0);
$37 = (___syscall_ret($36)|0);
$$2 = $37;
break;
}
default: {
HEAP32[$vararg_buffer46>>2] = $0;
$vararg_ptr49 = ((($vararg_buffer46)) + 4|0);
HEAP32[$vararg_ptr49>>2] = $1;
$vararg_ptr50 = ((($vararg_buffer46)) + 8|0);
HEAP32[$vararg_ptr50>>2] = $spec$select;
$38 = (___syscall221(221,($vararg_buffer46|0))|0);
$39 = (___syscall_ret($38)|0);
$$2 = $39;
}
}
} while(0);
STACKTOP = sp;return ($$2|0);
}
function _open($0,$1,$varargs) {
$0 = $0|0;
$1 = $1|0;
$varargs = $varargs|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0;
var $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $or$cond14 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer3 = sp + 32|0;
$vararg_buffer = sp + 16|0;
$2 = sp;
$3 = $1 & 4194368;
$4 = ($3|0)==(0);
if ($4) {
$$0 = 0;
} else {
HEAP32[$2>>2] = $varargs;
$arglist_current = HEAP32[$2>>2]|0;
$5 = $arglist_current;
$6 = ((0) + 4|0);
$expanded2 = $6;
$expanded = (($expanded2) - 1)|0;
$7 = (($5) + ($expanded))|0;
$8 = ((0) + 4|0);
$expanded6 = $8;
$expanded5 = (($expanded6) - 1)|0;
$expanded4 = $expanded5 ^ -1;
$9 = $7 & $expanded4;
$10 = $9;
$11 = HEAP32[$10>>2]|0;
$arglist_next = ((($10)) + 4|0);
HEAP32[$2>>2] = $arglist_next;
$$0 = $11;
}
$12 = $0;
$13 = $1 | 32768;
HEAP32[$vararg_buffer>>2] = $12;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $13;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $$0;
$14 = (___syscall5(5,($vararg_buffer|0))|0);
$15 = ($14|0)<(0);
$16 = $1 & 524288;
$17 = ($16|0)==(0);
$or$cond14 = $17 | $15;
if (!($or$cond14)) {
HEAP32[$vararg_buffer3>>2] = $14;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = 2;
$vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
HEAP32[$vararg_ptr7>>2] = 1;
(___syscall221(221,($vararg_buffer3|0))|0);
}
$18 = (___syscall_ret($14)|0);
STACKTOP = sp;return ($18|0);
}
function ___synccall($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
FUNCTION_TABLE_vi[$0 & 127]($1);
return;
}
function _memcmp($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($2|0)==(0);
L1: do {
if ($3) {
$14 = 0;
} else {
$$01318 = $0;$$01417 = $2;$$019 = $1;
while(1) {
$4 = HEAP8[$$01318>>0]|0;
$5 = HEAP8[$$019>>0]|0;
$6 = ($4<<24>>24)==($5<<24>>24);
if (!($6)) {
break;
}
$7 = (($$01417) + -1)|0;
$8 = ((($$01318)) + 1|0);
$9 = ((($$019)) + 1|0);
$10 = ($7|0)==(0);
if ($10) {
$14 = 0;
break L1;
} else {
$$01318 = $8;$$01417 = $7;$$019 = $9;
}
}
$11 = $4&255;
$12 = $5&255;
$13 = (($11) - ($12))|0;
$14 = $13;
}
} while(0);
return ($14|0);
}
function ___procfdname($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$02324 = 0, $$027 = 0, $$126 = 0, $$225 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0;
var label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
dest=$0; src=70671; stop=dest+15|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$2 = ($1|0)==(0);
if ($2) {
$3 = ((($0)) + 14|0);
HEAP8[$3>>0] = 48;
$4 = ((($0)) + 15|0);
HEAP8[$4>>0] = 0;
} else {
$$027 = $1;$$126 = 14;
while(1) {
$5 = (($$027>>>0) / 10)&-1;
$6 = (($$126) + 1)|0;
$7 = ($$027>>>0)<(10);
if ($7) {
break;
} else {
$$027 = $5;$$126 = $6;
}
}
$8 = (($0) + ($6)|0);
HEAP8[$8>>0] = 0;
$$02324 = $1;$$225 = $6;
while(1) {
$9 = (($$02324>>>0) / 10)&-1;
$10 = ($9*10)|0;
$11 = (($$02324) - ($10))|0;
$12 = $11 | 48;
$13 = $12&255;
$14 = (($$225) + -1)|0;
$15 = (($0) + ($14)|0);
HEAP8[$15>>0] = $13;
$16 = ($$02324>>>0)<(10);
if ($16) {
break;
} else {
$$02324 = $9;$$225 = $14;
}
}
}
return;
}
function _fstat($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$vararg_buffer6 = sp + 48|0;
$vararg_buffer2 = sp + 40|0;
$vararg_buffer = sp + 32|0;
$2 = sp;
$3 = $1;
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $3;
$4 = (___syscall197(197,($vararg_buffer|0))|0);
$5 = ($4|0)==(-9);
if ($5) {
HEAP32[$vararg_buffer2>>2] = $0;
$vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
HEAP32[$vararg_ptr5>>2] = 1;
$6 = (___syscall221(221,($vararg_buffer2|0))|0);
$7 = ($6|0)<(0);
if ($7) {
label = 3;
} else {
___procfdname($2,$0);
$9 = $2;
HEAP32[$vararg_buffer6>>2] = $9;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = $3;
$10 = (___syscall195(195,($vararg_buffer6|0))|0);
$11 = (___syscall_ret($10)|0);
$$0 = $11;
}
} else {
label = 3;
}
if ((label|0) == 3) {
$8 = (___syscall_ret($4)|0);
$$0 = $8;
}
STACKTOP = sp;return ($$0|0);
}
function _getpid() {
var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$0 = (___syscall20(20,($vararg_buffer|0))|0);
STACKTOP = sp;return ($0|0);
}
function _write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$3 = $1;
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $3;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $2;
$4 = (___syscall4(4,($vararg_buffer|0))|0);
$5 = (___syscall_ret($4)|0);
STACKTOP = sp;return ($5|0);
}
function _read($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$3 = $1;
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $3;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $2;
$4 = (___syscall3(3,($vararg_buffer|0))|0);
$5 = (___syscall_ret($4)|0);
STACKTOP = sp;return ($5|0);
}
function _access($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = $0;
HEAP32[$vararg_buffer>>2] = $2;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $1;
$3 = (___syscall33(33,($vararg_buffer|0))|0);
$4 = (___syscall_ret($3)|0);
STACKTOP = sp;return ($4|0);
}
function _getrusage($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = $1;
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $2;
$3 = (___syscall77(77,($vararg_buffer|0))|0);
$4 = (___syscall_ret($3)|0);
STACKTOP = sp;return ($4|0);
}
function _strtoul($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_strtox_765($0,$1,$2,-1,0)|0);
$4 = tempRet0;
return ($3|0);
}
function _strncpy($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var label = 0, sp = 0;
sp = STACKTOP;
(___stpncpy($0,$1,$2)|0);
return ($0|0);
}
function ___stpncpy($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa = 0, $$037$lcssa = 0, $$03754 = 0, $$038$lcssa = 0, $$03867 = 0, $$039$lcssa = 0, $$03966 = 0, $$042$lcssa = 0, $$04265 = 0, $$055 = 0, $$1$lcssa = 0, $$140 = 0, $$143 = 0, $$153 = 0, $$2 = 0, $$24147 = 0, $$24446 = 0, $$345 = 0, $$348 = 0, $$4 = 0;
var $$lcssa = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond64 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$3 = $1;
$4 = $0;
$5 = $3 ^ $4;
$6 = $5 & 3;
$7 = ($6|0)==(0);
L1: do {
if ($7) {
$8 = $3 & 3;
$9 = ($8|0)!=(0);
$10 = ($2|0)!=(0);
$or$cond64 = $10 & $9;
if ($or$cond64) {
$$03867 = $2;$$03966 = $1;$$04265 = $0;
while(1) {
$11 = HEAP8[$$03966>>0]|0;
HEAP8[$$04265>>0] = $11;
$12 = ($11<<24>>24)==(0);
if ($12) {
$$345 = $$04265;$$4 = $$03867;
break L1;
}
$13 = (($$03867) + -1)|0;
$14 = ((($$03966)) + 1|0);
$15 = ((($$04265)) + 1|0);
$16 = $14;
$17 = $16 & 3;
$18 = ($17|0)!=(0);
$19 = ($13|0)!=(0);
$or$cond = $19 & $18;
if ($or$cond) {
$$03867 = $13;$$03966 = $14;$$04265 = $15;
} else {
$$038$lcssa = $13;$$039$lcssa = $14;$$042$lcssa = $15;$$lcssa = $19;
break;
}
}
} else {
$$038$lcssa = $2;$$039$lcssa = $1;$$042$lcssa = $0;$$lcssa = $10;
}
if ($$lcssa) {
$$pr = HEAP8[$$039$lcssa>>0]|0;
$20 = ($$pr<<24>>24)==(0);
if ($20) {
$$345 = $$042$lcssa;$$4 = $$038$lcssa;
} else {
$21 = ($$038$lcssa>>>0)>(3);
L11: do {
if ($21) {
$$03754 = $$042$lcssa;$$055 = $$039$lcssa;$$153 = $$038$lcssa;
while(1) {
$22 = HEAP32[$$055>>2]|0;
$23 = (($22) + -16843009)|0;
$24 = $22 & -2139062144;
$25 = $24 ^ -2139062144;
$26 = $25 & $23;
$27 = ($26|0)==(0);
if (!($27)) {
$$0$lcssa = $$055;$$037$lcssa = $$03754;$$1$lcssa = $$153;
break L11;
}
HEAP32[$$03754>>2] = $22;
$28 = (($$153) + -4)|0;
$29 = ((($$055)) + 4|0);
$30 = ((($$03754)) + 4|0);
$31 = ($28>>>0)>(3);
if ($31) {
$$03754 = $30;$$055 = $29;$$153 = $28;
} else {
$$0$lcssa = $29;$$037$lcssa = $30;$$1$lcssa = $28;
break;
}
}
} else {
$$0$lcssa = $$039$lcssa;$$037$lcssa = $$042$lcssa;$$1$lcssa = $$038$lcssa;
}
} while(0);
$$140 = $$0$lcssa;$$143 = $$037$lcssa;$$2 = $$1$lcssa;
label = 13;
}
} else {
$$345 = $$042$lcssa;$$4 = 0;
}
} else {
$$140 = $1;$$143 = $0;$$2 = $2;
label = 13;
}
} while(0);
L17: do {
if ((label|0) == 13) {
$32 = ($$2|0)==(0);
if ($32) {
$$345 = $$143;$$4 = 0;
} else {
$$24147 = $$140;$$24446 = $$143;$$348 = $$2;
while(1) {
$33 = HEAP8[$$24147>>0]|0;
HEAP8[$$24446>>0] = $33;
$34 = ($33<<24>>24)==(0);
if ($34) {
$$345 = $$24446;$$4 = $$348;
break L17;
}
$35 = (($$348) + -1)|0;
$36 = ((($$24147)) + 1|0);
$37 = ((($$24446)) + 1|0);
$38 = ($35|0)==(0);
if ($38) {
$$345 = $37;$$4 = 0;
break;
} else {
$$24147 = $36;$$24446 = $37;$$348 = $35;
}
}
}
}
} while(0);
(_memset(($$345|0),0,($$4|0))|0);
return ($$345|0);
}
function _strtox_765($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$5 = sp;
HEAP32[$5>>2] = 0;
$6 = ((($5)) + 4|0);
HEAP32[$6>>2] = $0;
$7 = ((($5)) + 44|0);
HEAP32[$7>>2] = $0;
$8 = ($0|0)<(0|0);
$9 = ((($0)) + 2147483647|0);
$$sink = $8 ? (-1) : $9;
$10 = ((($5)) + 8|0);
HEAP32[$10>>2] = $$sink;
$11 = ((($5)) + 76|0);
HEAP32[$11>>2] = -1;
___shlim($5,0);
$12 = (___intscan($5,$2,1,$3,$4)|0);
$13 = tempRet0;
$14 = ($1|0)==(0|0);
if (!($14)) {
$15 = ((($5)) + 108|0);
$16 = HEAP32[$15>>2]|0;
$17 = HEAP32[$6>>2]|0;
$18 = HEAP32[$10>>2]|0;
$19 = (($17) + ($16))|0;
$20 = (($19) - ($18))|0;
$21 = (($0) + ($20)|0);
HEAP32[$1>>2] = $21;
}
tempRet0 = ($13);
STACKTOP = sp;return ($12|0);
}
function _htonl($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (___bswap_32($0)|0);
return ($1|0);
}
function ___bswap_32($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_llvm_bswap_i32(($0|0))|0);
return ($1|0);
}
function _ntohl($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (___bswap_32_187($0)|0);
return ($1|0);
}
function ___bswap_32_187($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_llvm_bswap_i32(($0|0))|0);
return ($1|0);
}
function ___tre_mem_new_impl($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$in = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0);
if ($2) {
$3 = (_calloc(1,24)|0);
$$0$in = $3;
} else {
(_memset(($1|0),0,24)|0);
$$0$in = $1;
}
return ($$0$in|0);
}
function ___tre_mem_destroy($0) {
$0 = $0|0;
var $$in1011 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = ($1|0)==(0|0);
if (!($2)) {
$$in1011 = $1;
while(1) {
$3 = HEAP32[$$in1011>>2]|0;
_free($3);
$4 = ((($$in1011)) + 4|0);
$5 = HEAP32[$4>>2]|0;
_free($$in1011);
$6 = ($5|0)==(0|0);
if ($6) {
break;
} else {
$$in1011 = $5;
}
}
}
_free($0);
return;
}
function ___tre_mem_alloc_impl($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$ = 0, $$3 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($0)) + 16|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0);
L1: do {
if ($7) {
$8 = ((($0)) + 12|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9>>>0)<($4>>>0);
do {
if ($10) {
$12 = ($1|0)==(0);
if (!($12)) {
$13 = ($2|0)==(0|0);
if ($13) {
HEAP32[$5>>2] = 1;
$$3 = 0;
break L1;
} else {
$14 = ((($0)) + 8|0);
HEAP32[$14>>2] = $2;
HEAP32[$8>>2] = 1024;
$15 = $2;
$$pre$phiZ2D = $14;$32 = $15;$38 = $2;$40 = 1024;
break;
}
}
$16 = $4 << 3;
$17 = ($16>>>0)>(1024);
$$ = $17 ? $16 : 1024;
$18 = (_malloc(8)|0);
$19 = ($18|0)==(0|0);
if ($19) {
HEAP32[$5>>2] = 1;
$$3 = 0;
break L1;
}
$20 = (_malloc($$)|0);
HEAP32[$18>>2] = $20;
$21 = ($20|0)==(0|0);
$22 = $20;
if ($21) {
_free($18);
HEAP32[$5>>2] = 1;
$$3 = 0;
break L1;
}
$23 = ((($18)) + 4|0);
HEAP32[$23>>2] = 0;
$24 = ((($0)) + 4|0);
$25 = HEAP32[$24>>2]|0;
$26 = ($25|0)==(0|0);
if (!($26)) {
$27 = ((($25)) + 4|0);
HEAP32[$27>>2] = $18;
}
$28 = HEAP32[$0>>2]|0;
$29 = ($28|0)==(0|0);
if ($29) {
HEAP32[$0>>2] = $18;
}
HEAP32[$24>>2] = $18;
$30 = ((($0)) + 8|0);
HEAP32[$30>>2] = $22;
HEAP32[$8>>2] = $$;
$$pre$phiZ2D = $30;$32 = $22;$38 = $20;$40 = $$;
} else {
$$phi$trans$insert = ((($0)) + 8|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$11 = $$pre;
$$pre$phiZ2D = $$phi$trans$insert;$32 = $$pre;$38 = $11;$40 = $9;
}
} while(0);
$31 = (($32) + ($4))|0;
$33 = $31 & 3;
$34 = ($33|0)==(0);
$35 = (4 - ($33))|0;
$spec$select = $34 ? 0 : $35;
$36 = (($spec$select) + ($4))|0;
$37 = (($38) + ($36)|0);
HEAP32[$$pre$phiZ2D>>2] = $37;
$39 = (($40) - ($36))|0;
HEAP32[$8>>2] = $39;
$41 = ($3|0)==(0);
if ($41) {
$$3 = $38;
} else {
(_memset(($38|0),0,($36|0))|0);
$$3 = $38;
}
} else {
$$3 = 0;
}
} while(0);
return ($$3|0);
}
function _iswupper($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_towlower($0)|0);
$2 = ($1|0)!=($0|0);
$3 = $2&1;
return ($3|0);
}
function _iswlower($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_towupper($0)|0);
$2 = ($1|0)!=($0|0);
$3 = $2&1;
return ($3|0);
}
function _towupper($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (___towcase($0,0)|0);
return ($1|0);
}
function _towlower($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (___towcase($0,1)|0);
return ($1|0);
}
function ___towcase($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$06283 = 0, $$16382 = 0, $$2 = 0, $$neg75 = 0, $$neg77 = 0, $$neg78 = 0, $$not = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond65 = 0, $or$cond67 = 0, $or$cond69 = 0, $or$cond71 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = $1 << 1;
$3 = (($2) + -1)|0;
$4 = (($1) + -1)|0;
$5 = (_iswalpha($0)|0);
$6 = ($5|0)==(0);
$7 = (($0) + -1536)|0;
$8 = ($7>>>0)<(2560);
$or$cond65 = $8 | $6;
$9 = (($0) + -11776)|0;
$10 = ($9>>>0)<(30784);
$or$cond67 = $10 | $or$cond65;
$11 = (($0) + -43008)|0;
$12 = ($11>>>0)<(22272);
$or$cond69 = $12 | $or$cond67;
L1: do {
if ($or$cond69) {
$$2 = $0;
} else {
$13 = ($1|0)!=(0);
$14 = (($0) + -4256)|0;
$15 = ($14>>>0)<(46);
$or$cond71 = $13 & $15;
if ($or$cond71) {
$16 = ($0|0)>(4293);
if ($16) {
switch ($0|0) {
case 4295: case 4301: {
break;
}
default: {
$$2 = $0;
break L1;
}
}
}
$17 = (($0) + 7264)|0;
$$2 = $17;
break;
}
$$not = $13 ^ 1;
$18 = (($0) + -11520)|0;
$19 = ($18>>>0)<(38);
$or$cond = $19 & $$not;
if ($or$cond) {
$20 = (($0) + -7264)|0;
$$2 = $20;
break;
}
$$06283 = 0;
while(1) {
$23 = (((30432 + ($$06283<<2)|0)) + 3|0);
$24 = HEAP8[$23>>0]|0;
$25 = (30432 + ($$06283<<2)|0);
$26 = HEAP16[$25>>1]|0;
$27 = $26&65535;
$28 = (((30432 + ($$06283<<2)|0)) + 2|0);
$29 = HEAP8[$28>>0]|0;
$30 = $29 << 24 >> 24;
$31 = $4 & $30;
$$neg75 = (($0) - ($27))|0;
$32 = (($$neg75) - ($31))|0;
$33 = $24&255;
$34 = ($32>>>0)<($33>>>0);
$22 = (($$06283) + 1)|0;
if ($34) {
label = 11;
break;
}
$21 = ($22|0)==(61);
if ($21) {
break;
} else {
$$06283 = $22;
}
}
if ((label|0) == 11) {
$35 = ($29<<24>>24)==(1);
if ($35) {
$36 = (($1) + ($0))|0;
$37 = $$neg75 & 1;
$38 = (($36) - ($37))|0;
$$2 = $38;
break;
} else {
$39 = Math_imul($3, $30)|0;
$40 = (($39) + ($0))|0;
$$2 = $40;
break;
}
}
$41 = (1 - ($1))|0;
$42 = (30688 + ($41<<1)|0);
$43 = HEAP16[$42>>1]|0;
$44 = ($43<<16>>16)==(0);
L21: do {
if (!($44)) {
$$16382 = 0;$46 = $43;
while(1) {
$45 = $46&65535;
$47 = ($45|0)==($0|0);
if ($47) {
break;
}
$51 = (($$16382) + 1)|0;
$52 = ((30688 + ($51<<2)|0) + ($41<<1)|0);
$53 = HEAP16[$52>>1]|0;
$54 = ($53<<16>>16)==(0);
if ($54) {
break L21;
} else {
$$16382 = $51;$46 = $53;
}
}
$48 = ((30688 + ($$16382<<2)|0) + ($1<<1)|0);
$49 = HEAP16[$48>>1]|0;
$50 = $49&65535;
$$2 = $50;
break L1;
}
} while(0);
$$neg77 = ($1*40)|0;
$$neg78 = (($0) + -66600)|0;
$55 = (($$neg78) + ($$neg77))|0;
$56 = ($55>>>0)<(40);
$57 = (($0) + -40)|0;
$58 = ($1*80)|0;
$59 = (($57) + ($58))|0;
$spec$select = $56 ? $59 : $0;
return ($spec$select|0);
}
} while(0);
return ($$2|0);
}
function _iswalpha($0) {
$0 = $0|0;
var $$ = 0, $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0>>>0)<(131072);
if ($1) {
$2 = $0 >>> 8;
$3 = (31184 + ($2)|0);
$4 = HEAP8[$3>>0]|0;
$5 = $4&255;
$6 = $5 << 5;
$7 = $0 >>> 3;
$8 = $7 & 31;
$9 = $6 | $8;
$10 = (31184 + ($9)|0);
$11 = HEAP8[$10>>0]|0;
$12 = $11&255;
$13 = $0 & 7;
$14 = $12 >>> $13;
$15 = $14 & 1;
$$0 = $15;
} else {
$16 = ($0>>>0)<(196606);
$$ = $16&1;
$$0 = $$;
}
return ($$0|0);
}
function _iswctype($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
do {
switch ($1|0) {
case 1: {
$2 = (_iswalnum($0)|0);
$$0 = $2;
break;
}
case 2: {
$3 = (_iswalpha($0)|0);
$$0 = $3;
break;
}
case 3: {
$4 = (_iswblank($0)|0);
$$0 = $4;
break;
}
case 4: {
$5 = (_iswcntrl($0)|0);
$$0 = $5;
break;
}
case 5: {
$6 = (_iswdigit($0)|0);
$$0 = $6;
break;
}
case 6: {
$7 = (_iswgraph($0)|0);
$$0 = $7;
break;
}
case 7: {
$8 = (_iswlower($0)|0);
$$0 = $8;
break;
}
case 8: {
$9 = (_iswprint($0)|0);
$$0 = $9;
break;
}
case 9: {
$10 = (_iswpunct($0)|0);
$$0 = $10;
break;
}
case 10: {
$11 = (_iswspace($0)|0);
$$0 = $11;
break;
}
case 11: {
$12 = (_iswupper($0)|0);
$$0 = $12;
break;
}
case 12: {
$13 = (_iswxdigit($0)|0);
$$0 = $13;
break;
}
default: {
$$0 = 0;
}
}
} while(0);
return ($$0|0);
}
function _iswalnum($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_iswdigit($0)|0);
$2 = ($1|0)==(0);
if ($2) {
$3 = (_iswalpha($0)|0);
$4 = ($3|0)!=(0);
$phitmp = $4&1;
$5 = $phitmp;
} else {
$5 = 1;
}
return ($5|0);
}
function _iswblank($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_isblank($0)|0);
return ($1|0);
}
function _iswcntrl($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $narrow = 0, $or$cond = 0, $or$cond6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0>>>0)<(32);
$2 = (($0) + -127)|0;
$3 = ($2>>>0)<(33);
$or$cond = $1 | $3;
$4 = $0 & -2;
$5 = ($4|0)==(8232);
$or$cond6 = $5 | $or$cond;
$6 = (($0) + -65529)|0;
$7 = ($6>>>0)<(3);
$narrow = $7 | $or$cond6;
$8 = $narrow&1;
return ($8|0);
}
function _iswgraph($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_iswspace($0)|0);
$2 = ($1|0)==(0);
if ($2) {
$3 = (_iswprint($0)|0);
$4 = ($3|0)!=(0);
$phitmp = $4&1;
$5 = $phitmp;
} else {
$5 = 0;
}
return ($5|0);
}
function _iswprint($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$or$cond11 = 0, $or$cond = 0, $or$cond9 = 0, $spec$select = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$1 = ($0>>>0)<(255);
if ($1) {
$2 = (($0) + 1)|0;
$3 = $2 & 127;
$4 = ($3>>>0)>(32);
$5 = $4&1;
$$0 = $5;
} else {
$6 = ($0>>>0)<(8232);
$7 = (($0) + -8234)|0;
$8 = ($7>>>0)<(47062);
$or$cond = $6 | $8;
$9 = (($0) + -57344)|0;
$10 = ($9>>>0)<(8185);
$or$cond9 = $10 | $or$cond;
if ($or$cond9) {
$$0 = 1;
} else {
$11 = (($0) + -65532)|0;
$12 = ($11>>>0)<(1048580);
$13 = $0 & 65534;
$14 = ($13|0)!=(65534);
$not$or$cond11 = $14 & $12;
$spec$select = $not$or$cond11&1;
return ($spec$select|0);
}
}
return ($$0|0);
}
function _iswpunct($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0>>>0)<(131072);
if ($1) {
$2 = $0 >>> 8;
$3 = (34160 + ($2)|0);
$4 = HEAP8[$3>>0]|0;
$5 = $4&255;
$6 = $5 << 5;
$7 = $0 >>> 3;
$8 = $7 & 31;
$9 = $6 | $8;
$10 = (34160 + ($9)|0);
$11 = HEAP8[$10>>0]|0;
$12 = $11&255;
$13 = $0 & 7;
$14 = $12 >>> $13;
$15 = $14 & 1;
$$0 = $15;
} else {
$$0 = 0;
}
return ($$0|0);
}
function _iswxdigit($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $narrow = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (($0) + -48)|0;
$2 = ($1>>>0)<(10);
$3 = $0 | 32;
$4 = (($3) + -97)|0;
$5 = ($4>>>0)<(6);
$narrow = $2 | $5;
$spec$select = $narrow&1;
return ($spec$select|0);
}
function _isblank($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(32);
$2 = ($0|0)==(9);
$3 = $1 | $2;
$4 = $3&1;
return ($4|0);
}
function _regexec($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$026 = 0, $$027 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
$6 = ((($0)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($7)) + 56|0);
$9 = HEAP32[$8>>2]|0;
$10 = $9 & 8;
$11 = ($10|0)==(0);
$spec$select = $11 ? $2 : 0;
$12 = ((($7)) + 40|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)>(0);
$15 = ($spec$select|0)!=(0);
$or$cond = $14 & $15;
if ($or$cond) {
$16 = $13 << 2;
$17 = (_malloc($16)|0);
$18 = ($17|0)==(0|0);
if ($18) {
$$027 = 12;
} else {
$$0 = $17;$28 = $17;
label = 3;
}
} else {
$$0 = 0;$28 = 0;
label = 3;
}
if ((label|0) == 3) {
$19 = ((($7)) + 60|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20|0)==(0);
if ($21) {
$23 = (_tre_tnfa_run_parallel($7,$1,$$0,$4,$5)|0);
$$026 = $23;
} else {
$22 = (_tre_tnfa_run_backtrack($7,$1,$$0,$4,$5)|0);
$$026 = $22;
}
$24 = ($$026|0)==(0);
if ($24) {
$25 = HEAP32[$8>>2]|0;
$26 = HEAP32[$5>>2]|0;
_tre_fill_pmatch($spec$select,$3,$25,$7,$$0,$26);
}
$27 = ($$0|0)==(0|0);
if ($27) {
$$027 = $$026;
} else {
_free($28);
$$027 = $$026;
}
}
STACKTOP = sp;return ($$027|0);
}
function _tre_tnfa_run_backtrack($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0450616675 = 0, $$0452612 = 0, $$0453 = 0, $$0453$ph = 0, $$0458 = 0, $$0463 = 0, $$0463$ph = 0, $$0467 = 0, $$0476 = 0, $$0477638 = 0, $$0479627 = 0, $$0481590 = 0, $$0482 = 0, $$0487586 = 0, $$0488579 = 0, $$0502 = 0, $$0504597 = 0, $$0506 = 0, $$0520594 = 0, $$0531 = 0;
var $$0533593 = 0, $$0537 = 0, $$0608 = 0, $$11517 = 0, $$12518 = 0, $$12518$ph = 0, $$14 = 0, $$1454 = 0, $$1459 = 0, $$1459$ph = 0, $$1464 = 0, $$1468 = 0, $$1480 = 0, $$1483$ph = 0, $$1503 = 0, $$1505624 = 0, $$1507595 = 0, $$1521 = 0, $$1532 = 0, $$1534 = 0;
var $$1538 = 0, $$2455 = 0, $$2460 = 0, $$2465 = 0, $$2469 = 0, $$2469$ph = 0, $$2492 = 0, $$2492$clear = 0, $$2522604 = 0, $$2535 = 0, $$2535$ph = 0, $$3456 = 0, $$3456$ph = 0, $$3461 = 0, $$3470 = 0, $$3485 = 0, $$3509 = 0, $$3523 = 0, $$4471 = 0, $$4524 = 0;
var $$4524$be = 0, $$4524$ph = 0, $$5472 = 0, $$5511 = 0, $$5525620 = 0, $$6473 = 0, $$6501 = 0, $$6512 = 0, $$6512$ph = 0, $$6526 = 0, $$7474 = 0, $$7474$ph = 0, $$7513621 = 0, $$7527634 = 0, $$9515 = 0, $$9529 = 0, $$9529$ph = 0, $$old = 0, $$old11 = 0, $$old37 = 0;
var $$old38 = 0, $$pr = 0, $$pr539 = 0, $$pr545 = 0, $$pr547 = 0, $$pre = 0, $$pre651 = 0, $$pre655 = 0, $$pre657 = 0, $$pre658 = 0, $$pre659 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0;
var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0;
var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0;
var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0;
var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0;
var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0;
var $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0;
var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0;
var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0;
var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0;
var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0;
var $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0;
var $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0;
var $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0;
var $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0;
var $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0;
var $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0;
var $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0;
var $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0;
var $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0;
var $brmerge640 = 0, $brmerge643 = 0, $brmerge644 = 0, $not$ = 0, $or$cond$not = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond15 = 0, $or$cond18 = 0, $or$cond21 = 0, $or$cond24 = 0, $or$cond27$not = 0, $or$cond30 = 0, $or$cond36 = 0, $or$cond39 = 0, $or$cond42 = 0, $or$cond45 = 0, $or$cond48 = 0, $or$cond51 = 0, $or$cond6 = 0;
var $or$cond642 = 0, $or$cond646 = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
HEAP32[$5>>2] = 0;
$6 = $3 & 1;
$7 = $3 & 2;
$8 = ((($0)) + 56|0);
$9 = HEAP32[$8>>2]|0;
$10 = $9 & 4;
$11 = (___tre_mem_new_impl(0,0)|0);
$12 = ($11|0)==(0|0);
L1: do {
if ($12) {
$$14 = 12;
} else {
$13 = (___tre_mem_alloc_impl($11,0,0,0,32)|0);
$14 = ($13|0)==(0|0);
if ($14) {
___tre_mem_destroy($11);
$$14 = 12;
break;
}
$15 = ((($13)) + 24|0);
HEAP32[$15>>2] = 0;
$16 = ((($13)) + 28|0);
HEAP32[$16>>2] = 0;
$17 = ((($0)) + 40|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0);
if ($19) {
$$0537 = 0;$135 = 0;
label = 6;
} else {
$20 = $18 << 2;
$21 = (_malloc($20)|0);
$22 = ($21|0)==(0|0);
if ($22) {
$$1503 = 0;$$1532 = 0;$$1538 = $21;$$6501 = 12;$447 = 0;$449 = 0;$451 = 0;
} else {
$$0537 = $21;$135 = $21;
label = 6;
}
}
L8: do {
if ((label|0) == 6) {
$23 = ((($0)) + 28|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($24|0)==(0);
if ($25) {
$$0502 = 0;$137 = 0;
} else {
$26 = $24 << 3;
$27 = (_malloc($26)|0);
$28 = ($27|0)==(0|0);
if ($28) {
$$1503 = $27;$$1532 = 0;$$1538 = $$0537;$$6501 = 12;$447 = $135;$449 = 0;$451 = 0;
break;
} else {
$$0502 = $27;$137 = $27;
}
}
$29 = ((($0)) + 52|0);
$30 = HEAP32[$29>>2]|0;
$31 = ($30|0)==(0);
if ($31) {
$$0531 = 0;$52 = 0;
} else {
$32 = $30 << 2;
$33 = (_malloc($32)|0);
$34 = ($33|0)==(0|0);
if ($34) {
$$1503 = $$0502;$$1532 = $33;$$1538 = $$0537;$$6501 = 12;$447 = $135;$449 = $137;$451 = 0;
break;
} else {
$$0531 = $33;$52 = $33;
}
}
$35 = ($2|0)==(0|0);
$36 = ((($0)) + 8|0);
$37 = ($6|0)==(0);
$38 = ($10|0)!=(0);
$39 = ((($0)) + 12|0);
$40 = ($2|0)!=(0|0);
$41 = ((($0)) + 32|0);
$$0458 = $1;$$0467 = 1;$$0476 = -1;$$0482 = -1;$$0506 = $13;$65 = 0;
L16: while(1) {
$42 = HEAP32[$17>>2]|0;
$43 = ($42|0)>(0);
if ($43) {
$$0488579 = 0;$452 = $42;
while(1) {
$44 = (($$0537) + ($$0488579<<2)|0);
HEAP32[$44>>2] = -1;
if ($35) {
$48 = $452;
} else {
$45 = (($2) + ($$0488579<<2)|0);
HEAP32[$45>>2] = -1;
$$pre = HEAP32[$17>>2]|0;
$48 = $$pre;
}
$46 = (($$0488579) + 1)|0;
$47 = ($46|0)<($48|0);
if ($47) {
$$0488579 = $46;$452 = $48;
} else {
break;
}
}
}
$49 = HEAP32[$29>>2]|0;
$50 = ($49|0)>(0);
if ($50) {
$51 = $49 << 2;
_memset(($52|0),0,($51|0))|0;
}
$53 = (($$0467) + ($$0476))|0;
$54 = (_mbtowc($5,$$0458,4)|0);
$55 = ($54|0)<(1);
if ($55) {
$56 = ($54|0)<(0);
if ($56) {
$$1503 = $$0502;$$1532 = $$0531;$$1538 = $$0537;$$6501 = 1;$447 = $135;$449 = $137;$451 = $52;
break L8;
} else {
$$1468 = 1;
}
} else {
$$1468 = $54;
}
$57 = (($$0458) + ($$1468)|0);
$58 = HEAP32[$5>>2]|0;
$59 = HEAP32[$36>>2]|0;
$60 = ((($59)) + 8|0);
$61 = HEAP32[$60>>2]|0;
$62 = ($61|0)==(0|0);
if ($62) {
$$12518 = $$0506;$$3456 = $65;$$3485 = $$0482;$$7474 = $$1468;$$9529 = 0;
label = 179;
} else {
$63 = ($53|0)<(1);
$64 = ($65|0)==(10);
$or$cond6 = $38 & $64;
$66 = ($65|0)==(95);
$67 = ($53|0)!=(0);
$68 = ($53|0)==(0);
$or$cond$not = $63 & $37;
$$0504597 = $59;$$0520594 = 0;$$0533593 = 0;$$1507595 = $$0506;$126 = $60;
while(1) {
$69 = ((($$0504597)) + 20|0);
$70 = HEAP32[$69>>2]|0;
$71 = ($70|0)==(0);
L36: do {
if ($71) {
label = 50;
} else {
$72 = $70 & 1;
$73 = ($72|0)==(0);
$brmerge = $73 | $or$cond$not;
$brmerge640 = $brmerge | $or$cond6;
if ($brmerge640) {
$74 = $70 & 2;
$75 = ($74|0)==(0);
if (!($75)) {
$76 = HEAP32[$5>>2]|0;
$77 = $76 | $7;
$78 = ($77|0)==(0);
$79 = ($76|0)==(10);
$or$cond10 = $38 & $79;
$or$cond642 = $78 | $or$cond10;
if (!($or$cond642)) {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
break;
}
}
$80 = $70 & 16;
$81 = ($80|0)==(0);
do {
if (!($81)) {
if ($66) {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
break L36;
}
$82 = (_iswalnum($65)|0);
$83 = ($82|0)==(0);
if (!($83)) {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
break L36;
}
$84 = HEAP32[$5>>2]|0;
$85 = ($84|0)==(95);
if ($85) {
break;
}
$86 = (_iswalnum($84)|0);
$87 = ($86|0)==(0);
if ($87) {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
break L36;
}
}
} while(0);
$88 = HEAP32[$69>>2]|0;
$89 = $88 & 32;
$90 = ($89|0)==(0);
if ($90) {
$99 = $88;
} else {
if ($66) {
$$old = HEAP32[$5>>2]|0;
$$old11 = ($$old|0)==(95);
if ($$old11) {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
break;
} else {
$95 = $$old;
}
} else {
$91 = (_iswalnum($65)|0);
$92 = ($91|0)==(0);
$93 = HEAP32[$5>>2]|0;
$94 = ($93|0)==(95);
$or$cond12 = $92 | $94;
if ($or$cond12) {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
break;
} else {
$95 = $93;
}
}
$96 = (_iswalnum($95)|0);
$97 = ($96|0)==(0);
if (!($97)) {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
break;
}
$$pre651 = HEAP32[$69>>2]|0;
$99 = $$pre651;
}
$98 = $99 & 64;
$100 = ($98|0)!=(0);
$or$cond15 = $67 & $100;
$101 = HEAP32[$5>>2]|0;
$102 = ($101|0)!=(0);
$or$cond18 = $102 & $or$cond15;
do {
if ($or$cond18) {
if ($66) {
$106 = $101;$110 = 1;
} else {
$103 = (_iswalnum($65)|0);
$104 = ($103|0)!=(0);
$$pr = HEAP32[$5>>2]|0;
$106 = $$pr;$110 = $104;
}
$105 = ($106|0)==(95);
if ($105) {
if ($110) {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
break L36;
} else {
break;
}
} else {
$107 = (_iswalnum($106)|0);
$108 = ($107|0)!=(0);
$109 = $110 ^ $108;
if ($109) {
break;
} else {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
break L36;
}
}
}
} while(0);
$111 = HEAP32[$69>>2]|0;
$112 = $111 & 128;
$113 = ($112|0)==(0);
if ($113) {
label = 50;
break;
}
$114 = HEAP32[$5>>2]|0;
$115 = ($114|0)==(0);
$or$cond21 = $68 | $115;
if ($or$cond21) {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
break;
}
if ($66) {
$119 = $114;$123 = 1;
} else {
$116 = (_iswalnum($65)|0);
$117 = ($116|0)!=(0);
$$pr539 = HEAP32[$5>>2]|0;
$119 = $$pr539;$123 = $117;
}
$118 = ($119|0)==(95);
if ($118) {
if ($123) {
label = 50;
break;
} else {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
break;
}
} else {
$120 = (_iswalnum($119)|0);
$121 = ($120|0)!=(0);
$122 = $123 ^ $121;
if ($122) {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
break;
} else {
label = 50;
break;
}
}
} else {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$1507595;
}
}
} while(0);
do {
if ((label|0) == 50) {
label = 0;
$124 = ($$0533593|0)==(0|0);
if ($124) {
$125 = HEAP32[$126>>2]|0;
$127 = ((($$0504597)) + 16|0);
$128 = HEAP32[$127>>2]|0;
$$1521 = $128;$$1534 = $125;$$5511 = $$1507595;
break;
}
$129 = ((($$1507595)) + 28|0);
$130 = HEAP32[$129>>2]|0;
$131 = ($130|0)==(0|0);
if ($131) {
$132 = (___tre_mem_alloc_impl($11,0,0,0,32)|0);
$133 = ($132|0)==(0|0);
if ($133) {
label = 54;
break L16;
}
$139 = ((($132)) + 24|0);
HEAP32[$139>>2] = $$1507595;
$140 = ((($132)) + 28|0);
HEAP32[$140>>2] = 0;
$141 = HEAP32[$17>>2]|0;
$142 = $141 << 2;
$143 = (___tre_mem_alloc_impl($11,0,0,0,$142)|0);
$144 = ((($132)) + 20|0);
HEAP32[$144>>2] = $143;
$145 = ($143|0)==(0|0);
if ($145) {
label = 61;
break L16;
}
HEAP32[$129>>2] = $132;
$$3509 = $132;
} else {
$$3509 = $130;
}
HEAP32[$$3509>>2] = $53;
$149 = ((($$3509)) + 4|0);
HEAP32[$149>>2] = $57;
$150 = HEAP32[$126>>2]|0;
$151 = ((($$3509)) + 8|0);
HEAP32[$151>>2] = $150;
$152 = ((($$0504597)) + 12|0);
$153 = HEAP32[$152>>2]|0;
$154 = ((($$3509)) + 12|0);
HEAP32[$154>>2] = $153;
$155 = HEAP32[$5>>2]|0;
$156 = ((($$3509)) + 16|0);
HEAP32[$156>>2] = $155;
$157 = HEAP32[$17>>2]|0;
$158 = ($157|0)>(0);
if ($158) {
$159 = ((($$3509)) + 20|0);
$160 = HEAP32[$159>>2]|0;
$$0487586 = 0;
while(1) {
$161 = (($$0537) + ($$0487586<<2)|0);
$162 = HEAP32[$161>>2]|0;
$163 = (($160) + ($$0487586<<2)|0);
HEAP32[$163>>2] = $162;
$164 = (($$0487586) + 1)|0;
$165 = HEAP32[$17>>2]|0;
$166 = ($164|0)<($165|0);
if ($166) {
$$0487586 = $164;
} else {
break;
}
}
}
$167 = ((($$0504597)) + 16|0);
$168 = HEAP32[$167>>2]|0;
$169 = ($168|0)==(0|0);
if ($169) {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$3509;
} else {
$170 = HEAP32[$168>>2]|0;
$171 = ($170|0)>(-1);
if (!($171)) {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$3509;
break;
}
$172 = ((($$3509)) + 20|0);
$173 = HEAP32[$172>>2]|0;
$$0481590 = $168;$176 = $170;
while(1) {
$174 = ((($$0481590)) + 4|0);
$175 = (($173) + ($176<<2)|0);
HEAP32[$175>>2] = $53;
$177 = HEAP32[$174>>2]|0;
$178 = ($177|0)>(-1);
if ($178) {
$$0481590 = $174;$176 = $177;
} else {
$$1521 = $$0520594;$$1534 = $$0533593;$$5511 = $$3509;
break;
}
}
}
}
} while(0);
$179 = ((($$0504597)) + 32|0);
$180 = ((($$0504597)) + 40|0);
$181 = HEAP32[$180>>2]|0;
$182 = ($181|0)==(0|0);
if ($182) {
break;
} else {
$$0504597 = $179;$$0520594 = $$1521;$$0533593 = $$1534;$$1507595 = $$5511;$126 = $180;
}
}
$183 = ($$1521|0)==(0|0);
if ($183) {
$$3523 = 0;
} else {
$184 = HEAP32[$$1521>>2]|0;
$185 = ($184|0)>(-1);
if ($185) {
$$2522604 = $$1521;$187 = $184;
while(1) {
$186 = (($$0537) + ($187<<2)|0);
HEAP32[$186>>2] = $53;
$188 = ((($$2522604)) + 4|0);
$189 = HEAP32[$188>>2]|0;
$190 = ($189|0)>(-1);
if ($190) {
$$2522604 = $188;$187 = $189;
} else {
$$3523 = $188;
break;
}
}
} else {
$$3523 = $$1521;
}
}
$191 = ($$1534|0)==(0|0);
if ($191) {
$$12518 = $$5511;$$3456 = $65;$$3485 = $$0482;$$7474 = $$1468;$$9529 = $$3523;
label = 179;
} else {
$$0453$ph = $65;$$0463$ph = $53;$$1459$ph = $57;$$1483$ph = $$0482;$$2469$ph = $$1468;$$2535$ph = $$1534;$$4524$ph = $$3523;$$6512$ph = $$5511;
}
}
L100: while(1) {
if ((label|0) == 179) {
label = 0;
$416 = ((($$12518)) + 24|0);
$417 = HEAP32[$416>>2]|0;
$418 = ($417|0)==(0|0);
if ($418) {
break;
}
$419 = ((($$12518)) + 8|0);
$420 = HEAP32[$419>>2]|0;
$421 = ((($420)) + 20|0);
$422 = HEAP32[$421>>2]|0;
$423 = $422 & 256;
$424 = ($423|0)==(0);
if (!($424)) {
$425 = ((($$12518)) + 12|0);
$426 = HEAP32[$425>>2]|0;
$427 = (($$0531) + ($426<<2)|0);
HEAP32[$427>>2] = 0;
}
$428 = HEAP32[$$12518>>2]|0;
$429 = ((($$12518)) + 4|0);
$430 = HEAP32[$429>>2]|0;
$431 = ((($$12518)) + 16|0);
$432 = HEAP32[$431>>2]|0;
HEAP32[$5>>2] = $432;
$433 = HEAP32[$17>>2]|0;
$434 = ($433|0)>(0);
if (!($434)) {
$$0453$ph = $$3456;$$0463$ph = $428;$$1459$ph = $430;$$1483$ph = $$3485;$$2469$ph = $$7474;$$2535$ph = $420;$$4524$ph = $$9529;$$6512$ph = $417;
continue;
}
$435 = ((($$12518)) + 20|0);
$436 = HEAP32[$435>>2]|0;
$$0608 = 0;
while(1) {
$437 = (($436) + ($$0608<<2)|0);
$438 = HEAP32[$437>>2]|0;
$439 = (($$0537) + ($$0608<<2)|0);
HEAP32[$439>>2] = $438;
$440 = (($$0608) + 1)|0;
$441 = ($440|0)<($433|0);
if ($441) {
$$0608 = $440;
} else {
$$0453$ph = $$3456;$$0463$ph = $428;$$1459$ph = $430;$$1483$ph = $$3485;$$2469$ph = $$7474;$$2535$ph = $420;$$4524$ph = $$9529;$$6512$ph = $417;
continue L100;
}
}
}
$$0453 = $$0453$ph;$$0463 = $$0463$ph;$$1459 = $$1459$ph;$$2469 = $$2469$ph;$$2535 = $$2535$ph;$$4524 = $$4524$ph;$$6512 = $$6512$ph;
L111: while(1) {
$192 = HEAP32[$39>>2]|0;
$193 = ($$2535|0)==($192|0);
if ($193) {
break;
}
$208 = ((($$2535)) + 8|0);
$209 = HEAP32[$208>>2]|0;
$210 = ($209|0)==(0|0);
if ($210) {
label = 100;
} else {
$211 = ((($$2535)) + 20|0);
$212 = HEAP32[$211>>2]|0;
$213 = $212 & 256;
$214 = ($213|0)==(0);
if ($214) {
label = 100;
} else {
$215 = ((($$2535)) + 24|0);
$216 = HEAP32[$215>>2]|0;
$217 = (($216) + 1)|0;
$218 = HEAP32[$8>>2]|0;
$219 = $218 & -9;
_tre_fill_pmatch($217,$$0502,$219,$0,$$0537,$$0463);
$220 = (($$0502) + ($216<<3)|0);
$221 = HEAP32[$220>>2]|0;
$222 = (((($$0502) + ($216<<3)|0)) + 4|0);
$223 = HEAP32[$222>>2]|0;
$224 = (($223) - ($221))|0;
$225 = (($1) + ($221)|0);
$226 = ((($$1459)) + -1|0);
$227 = (_strncmp($225,$226,$224)|0);
$228 = ($227|0)==(0);
do {
if ($228) {
$229 = ($224|0)==(0);
$spec$select = $229&1;
$230 = ((($$2535)) + 12|0);
$231 = HEAP32[$230>>2]|0;
$232 = (($$0531) + ($231<<2)|0);
if ($229) {
$233 = HEAP32[$232>>2]|0;
$234 = ($233|0)==(0);
if (!($234)) {
$$1454 = $$0453;$$1464 = $$0463;$$2460 = $$1459;$$2492 = 25;$$4471 = $$2469;
break;
}
}
HEAP32[$232>>2] = $spec$select;
$235 = (($224) + -1)|0;
$236 = (($$1459) + ($235)|0);
$237 = HEAP32[$5>>2]|0;
$238 = (($$0463) + ($$2469))|0;
$239 = (($238) + ($235))|0;
$240 = (_mbtowc($5,$236,4)|0);
$241 = ($240|0)<(1);
if ($241) {
$242 = ($240|0)<(0);
if ($242) {
$$1454 = $237;$$1464 = $239;$$2460 = $236;$$2492 = 2;$$4471 = $240;
break;
} else {
$$3470 = 1;
}
} else {
$$3470 = $240;
}
$243 = (($236) + ($$3470)|0);
$$1454 = $237;$$1464 = $239;$$2460 = $243;$$2492 = 0;$$4471 = $$3470;
} else {
$$1454 = $$0453;$$1464 = $$0463;$$2460 = $$1459;$$2492 = 25;$$4471 = $$2469;
}
} while(0);
$$2492$clear = $$2492 & 31;
switch ($$2492$clear<<24>>24) {
case 2: {
$$1503 = $$0502;$$1532 = $$0531;$$1538 = $$0537;$$6501 = 1;$447 = $135;$449 = $137;$451 = $52;
break L8;
break;
}
case 25: {
$$12518$ph = $$6512;$$3456$ph = $$1454;$$7474$ph = $$4471;$$9529$ph = $$4524;
label = 178;
break L111;
break;
}
case 0: {
$$2455 = $$1454;$$2465 = $$1464;$$3461 = $$2460;$$6473 = $$4471;
break;
}
default: {
$$14 = 12;
break L1;
}
}
}
}
if ((label|0) == 100) {
label = 0;
$244 = HEAP32[$5>>2]|0;
$245 = ($244|0)==(0);
if ($245) {
$$12518$ph = $$6512;$$3456$ph = $$0453;$$7474$ph = $$2469;$$9529$ph = $$4524;
label = 178;
break;
}
$246 = (($$0463) + ($$2469))|0;
$247 = (_mbtowc($5,$$1459,4)|0);
$248 = ($247|0)<(1);
if ($248) {
$249 = ($247|0)<(0);
if ($249) {
$$1503 = $$0502;$$1532 = $$0531;$$1538 = $$0537;$$6501 = 1;$447 = $135;$449 = $137;$451 = $52;
break L8;
} else {
$$5472 = 1;
}
} else {
$$5472 = $247;
}
$250 = (($$1459) + ($$5472)|0);
$$2455 = $244;$$2465 = $246;$$3461 = $250;$$6473 = $$5472;
}
$251 = HEAP32[$208>>2]|0;
$252 = ($251|0)==(0|0);
if ($252) {
$$12518$ph = $$6512;$$3456$ph = $$2455;$$7474$ph = $$6473;$$9529$ph = $$4524;
label = 178;
break;
}
$253 = ($$2465|0)<(1);
$254 = ($$2455|0)==(10);
$or$cond30 = $38 & $254;
$255 = ($$2455|0)==(95);
$256 = ($$2465|0)!=(0);
$257 = ($$2465|0)==(0);
$or$cond27$not = $253 & $37;
$$0479627 = 0;$$1505624 = $$2535;$$5525620 = $$4524;$$7513621 = $$6512;$352 = $208;
while(1) {
$258 = HEAP32[$$1505624>>2]|0;
$259 = ($258>>>0)>($$2455>>>0);
L136: do {
if ($259) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
} else {
$260 = ((($$1505624)) + 4|0);
$261 = HEAP32[$260>>2]|0;
$262 = ($261>>>0)<($$2455>>>0);
if ($262) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break;
}
$263 = ((($$1505624)) + 20|0);
$264 = HEAP32[$263>>2]|0;
$265 = ($264|0)==(0);
do {
if (!($265)) {
$266 = $264 & 1;
$267 = ($266|0)==(0);
$brmerge643 = $267 | $or$cond27$not;
$brmerge644 = $brmerge643 | $or$cond30;
if (!($brmerge644)) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
}
$268 = $264 & 2;
$269 = ($268|0)==(0);
if (!($269)) {
$270 = HEAP32[$5>>2]|0;
$271 = $270 | $7;
$272 = ($271|0)==(0);
$273 = ($270|0)==(10);
$or$cond36 = $38 & $273;
$or$cond646 = $272 | $or$cond36;
if (!($or$cond646)) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
}
}
$274 = $264 & 16;
$275 = ($274|0)==(0);
do {
if (!($275)) {
if ($255) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
}
$276 = (_iswalnum($$2455)|0);
$277 = ($276|0)==(0);
if (!($277)) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
}
$278 = HEAP32[$5>>2]|0;
$279 = ($278|0)==(95);
if ($279) {
break;
}
$280 = (_iswalnum($278)|0);
$281 = ($280|0)==(0);
if ($281) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
}
}
} while(0);
$282 = HEAP32[$263>>2]|0;
$283 = $282 & 32;
$284 = ($283|0)==(0);
if ($284) {
$293 = $282;
} else {
if ($255) {
$$old37 = HEAP32[$5>>2]|0;
$$old38 = ($$old37|0)==(95);
if ($$old38) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
} else {
$289 = $$old37;
}
} else {
$285 = (_iswalnum($$2455)|0);
$286 = ($285|0)==(0);
$287 = HEAP32[$5>>2]|0;
$288 = ($287|0)==(95);
$or$cond39 = $286 | $288;
if ($or$cond39) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
} else {
$289 = $287;
}
}
$290 = (_iswalnum($289)|0);
$291 = ($290|0)==(0);
if (!($291)) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
}
$$pre655 = HEAP32[$263>>2]|0;
$293 = $$pre655;
}
$292 = $293 & 64;
$294 = ($292|0)!=(0);
$or$cond42 = $256 & $294;
$295 = HEAP32[$5>>2]|0;
$296 = ($295|0)!=(0);
$or$cond45 = $296 & $or$cond42;
do {
if ($or$cond45) {
if ($255) {
$300 = $295;$304 = 1;
} else {
$297 = (_iswalnum($$2455)|0);
$298 = ($297|0)!=(0);
$$pr545 = HEAP32[$5>>2]|0;
$300 = $$pr545;$304 = $298;
}
$299 = ($300|0)==(95);
if ($299) {
if ($304) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
} else {
break;
}
} else {
$301 = (_iswalnum($300)|0);
$302 = ($301|0)!=(0);
$303 = $304 ^ $302;
if ($303) {
break;
} else {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
}
}
}
} while(0);
$305 = HEAP32[$263>>2]|0;
$306 = $305 & 128;
$307 = ($306|0)==(0);
do {
if (!($307)) {
$308 = HEAP32[$5>>2]|0;
$309 = ($308|0)==(0);
$or$cond48 = $257 | $309;
if ($or$cond48) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
}
if ($255) {
$313 = $308;$317 = 1;
} else {
$310 = (_iswalnum($$2455)|0);
$311 = ($310|0)!=(0);
$$pr547 = HEAP32[$5>>2]|0;
$313 = $$pr547;$317 = $311;
}
$312 = ($313|0)==(95);
if ($312) {
if ($317) {
break;
} else {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
}
} else {
$314 = (_iswalnum($313)|0);
$315 = ($314|0)!=(0);
$316 = $317 ^ $315;
if ($316) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
} else {
break;
}
}
}
} while(0);
$318 = HEAP32[$263>>2]|0;
$319 = $318 & 4;
$320 = ($319|0)==(0);
do {
if (!($320)) {
$321 = HEAP32[$8>>2]|0;
$322 = $321 & 2;
$323 = ($322|0)==(0);
if ($323) {
$324 = ((($$1505624)) + 24|0);
$325 = HEAP32[$324>>2]|0;
$326 = (_iswctype($$2455,$325)|0);
$327 = ($326|0)==(0);
if ($327) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
}
$$pre657 = HEAP32[$263>>2]|0;
$$pre659 = $$pre657 & 4;
$328 = ($$pre659|0)==(0);
if ($328) {
break;
}
}
$329 = HEAP32[$8>>2]|0;
$330 = $329 & 2;
$331 = ($330|0)==(0);
if ($331) {
break;
}
$332 = (_towlower($$2455)|0);
$333 = ((($$1505624)) + 24|0);
$334 = HEAP32[$333>>2]|0;
$335 = (_iswctype($332,$334)|0);
$336 = ($335|0)==(0);
if (!($336)) {
break;
}
$337 = (_towupper($$2455)|0);
$338 = HEAP32[$333>>2]|0;
$339 = (_iswctype($337,$338)|0);
$340 = ($339|0)==(0);
if ($340) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
}
}
} while(0);
$341 = HEAP32[$263>>2]|0;
$342 = $341 & 8;
$343 = ($342|0)==(0);
if ($343) {
break;
}
$344 = ((($$1505624)) + 28|0);
$345 = HEAP32[$344>>2]|0;
$346 = HEAP32[$8>>2]|0;
$347 = $346 & 2;
$348 = (_tre_neg_char_classes_match($345,$$2455,$347)|0);
$349 = ($348|0)==(0);
if (!($349)) {
$$11517 = $$7513621;$$1480 = $$0479627;$$6526 = $$5525620;
break L136;
}
}
} while(0);
$350 = ($$0479627|0)==(0|0);
if ($350) {
$351 = HEAP32[$352>>2]|0;
$353 = ((($$1505624)) + 16|0);
$354 = HEAP32[$353>>2]|0;
$$11517 = $$7513621;$$1480 = $351;$$6526 = $354;
break;
}
$355 = ((($$7513621)) + 28|0);
$356 = HEAP32[$355>>2]|0;
$357 = ($356|0)==(0|0);
if ($357) {
$358 = (___tre_mem_alloc_impl($11,0,0,0,32)|0);
$359 = ($358|0)==(0|0);
if ($359) {
label = 149;
break L16;
}
$363 = ((($358)) + 24|0);
HEAP32[$363>>2] = $$7513621;
$364 = ((($358)) + 28|0);
HEAP32[$364>>2] = 0;
$365 = HEAP32[$17>>2]|0;
$366 = $365 << 2;
$367 = (___tre_mem_alloc_impl($11,0,0,0,$366)|0);
$368 = ((($358)) + 20|0);
HEAP32[$368>>2] = $367;
$369 = ($367|0)==(0|0);
if ($369) {
label = 156;
break L16;
}
HEAP32[$355>>2] = $358;
$$9515 = $358;
} else {
$$9515 = $356;
}
HEAP32[$$9515>>2] = $$2465;
$373 = ((($$9515)) + 4|0);
HEAP32[$373>>2] = $$3461;
$374 = HEAP32[$352>>2]|0;
$375 = ((($$9515)) + 8|0);
HEAP32[$375>>2] = $374;
$376 = ((($$1505624)) + 12|0);
$377 = HEAP32[$376>>2]|0;
$378 = ((($$9515)) + 12|0);
HEAP32[$378>>2] = $377;
$379 = HEAP32[$5>>2]|0;
$380 = ((($$9515)) + 16|0);
HEAP32[$380>>2] = $379;
$381 = HEAP32[$17>>2]|0;
$382 = ($381|0)>(0);
if ($382) {
$383 = ((($$9515)) + 20|0);
$384 = HEAP32[$383>>2]|0;
$$0452612 = 0;
while(1) {
$385 = (($$0537) + ($$0452612<<2)|0);
$386 = HEAP32[$385>>2]|0;
$387 = (($384) + ($$0452612<<2)|0);
HEAP32[$387>>2] = $386;
$388 = (($$0452612) + 1)|0;
$389 = HEAP32[$17>>2]|0;
$390 = ($388|0)<($389|0);
if ($390) {
$$0452612 = $388;
} else {
break;
}
}
}
$391 = ((($$1505624)) + 16|0);
$392 = HEAP32[$391>>2]|0;
$393 = ($392|0)==(0|0);
if ($393) {
$$11517 = $$9515;$$1480 = $$0479627;$$6526 = $$5525620;
break;
}
$394 = ((($$9515)) + 20|0);
$395 = HEAP32[$392>>2]|0;
$396 = ($395|0)>(-1);
if (!($396)) {
$$11517 = $$9515;$$1480 = $$0479627;$$6526 = $$5525620;
break;
}
$397 = HEAP32[$394>>2]|0;
$$0450616675 = $392;$399 = $395;
while(1) {
$398 = (($397) + ($399<<2)|0);
HEAP32[$398>>2] = $$2465;
$400 = ((($$0450616675)) + 4|0);
$401 = HEAP32[$400>>2]|0;
$402 = ($401|0)>(-1);
if ($402) {
$$0450616675 = $400;$399 = $401;
} else {
$$11517 = $$9515;$$1480 = $$0479627;$$6526 = $$5525620;
break;
}
}
}
} while(0);
$403 = ((($$1505624)) + 32|0);
$404 = ((($$1505624)) + 40|0);
$405 = HEAP32[$404>>2]|0;
$406 = ($405|0)==(0|0);
if ($406) {
break;
} else {
$$0479627 = $$1480;$$1505624 = $403;$$5525620 = $$6526;$$7513621 = $$11517;$352 = $404;
}
}
$407 = ($$1480|0)==(0|0);
if ($407) {
$$12518$ph = $$11517;$$3456$ph = $$2455;$$7474$ph = $$6473;$$9529$ph = $$6526;
label = 178;
break;
}
$408 = ($$6526|0)==(0|0);
do {
if ($408) {
$$4524$be = 0;
} else {
$409 = HEAP32[$$6526>>2]|0;
$410 = ($409|0)>(-1);
if (!($410)) {
$$4524$be = $$6526;
break;
}
$$7527634 = $$6526;$413 = $409;
while(1) {
$411 = ((($$7527634)) + 4|0);
$412 = (($$0537) + ($413<<2)|0);
HEAP32[$412>>2] = $$2465;
$414 = HEAP32[$411>>2]|0;
$415 = ($414|0)>(-1);
if ($415) {
$$7527634 = $411;$413 = $414;
} else {
$$4524$be = $411;
break;
}
}
}
} while(0);
$$0453 = $$2455;$$0463 = $$2465;$$1459 = $$3461;$$2469 = $$6473;$$2535 = $$1480;$$4524 = $$4524$be;$$6512 = $$11517;
}
if ((label|0) == 178) {
label = 0;
$$12518 = $$12518$ph;$$3456 = $$3456$ph;$$3485 = $$1483$ph;$$7474 = $$7474$ph;$$9529 = $$9529$ph;
label = 179;
continue;
}
$194 = ($$1483$ph|0)<($$0463|0);
if ($194) {
if ($35) {
$$12518 = $$6512;$$3456 = $$0453;$$3485 = $$0463;$$7474 = $$2469;$$9529 = $$4524;
label = 179;
continue;
}
$$pre658 = HEAP32[$17>>2]|0;
$201 = $$pre658;
} else {
$195 = ($$1483$ph|0)==($$0463|0);
$or$cond24 = $40 & $195;
if (!($or$cond24)) {
$$12518 = $$6512;$$3456 = $$0453;$$3485 = $$1483$ph;$$7474 = $$2469;$$9529 = $$4524;
label = 179;
continue;
}
$196 = HEAP32[$17>>2]|0;
$197 = HEAP32[$41>>2]|0;
$198 = (_tre_tag_order($196,$197,$$0537,$2)|0);
$199 = ($198|0)==(0);
if ($199) {
$$12518 = $$6512;$$3456 = $$0453;$$3485 = $$1483$ph;$$7474 = $$2469;$$9529 = $$4524;
label = 179;
continue;
} else {
$201 = $196;
}
}
$200 = ($201|0)>(0);
if (!($200)) {
$$12518 = $$6512;$$3456 = $$0453;$$3485 = $$0463;$$7474 = $$2469;$$9529 = $$4524;
label = 179;
continue;
}
$$0477638 = 0;
while(1) {
$202 = (($$0537) + ($$0477638<<2)|0);
$203 = HEAP32[$202>>2]|0;
$204 = (($2) + ($$0477638<<2)|0);
HEAP32[$204>>2] = $203;
$205 = (($$0477638) + 1)|0;
$206 = HEAP32[$17>>2]|0;
$207 = ($205|0)<($206|0);
if ($207) {
$$0477638 = $205;
} else {
break;
}
}
$$12518 = $$6512;$$3456 = $$0453;$$3485 = $$0463;$$7474 = $$2469;$$9529 = $$4524;
label = 179;
}
$442 = ($$3485|0)>(-1);
$443 = HEAP32[$5>>2]|0;
$444 = ($443|0)==(0);
$or$cond51 = $442 | $444;
if ($or$cond51) {
label = 187;
break;
}
HEAP32[$5>>2] = $58;
$$0458 = $57;$$0467 = $$7474;$$0476 = $53;$$0482 = $$3485;$$0506 = $$12518;$65 = $58;
}
if ((label|0) == 54) {
___tre_mem_destroy($11);
$134 = ($$0537|0)==(0|0);
if (!($134)) {
_free($135);
}
$136 = ($$0502|0)==(0|0);
if (!($136)) {
_free($137);
}
$138 = ($$0531|0)==(0|0);
if ($138) {
$$14 = 12;
break L1;
}
_free($52);
$$14 = 12;
break L1;
}
else if ((label|0) == 61) {
___tre_mem_destroy($11);
$146 = ($$0537|0)==(0|0);
if (!($146)) {
_free($135);
}
$147 = ($$0502|0)==(0|0);
if (!($147)) {
_free($137);
}
$148 = ($$0531|0)==(0|0);
if ($148) {
$$14 = 12;
break L1;
}
_free($52);
$$14 = 12;
break L1;
}
else if ((label|0) == 149) {
___tre_mem_destroy($11);
$360 = ($$0537|0)==(0|0);
if (!($360)) {
_free($135);
}
$361 = ($$0502|0)==(0|0);
if (!($361)) {
_free($137);
}
$362 = ($$0531|0)==(0|0);
if ($362) {
$$14 = 12;
break L1;
}
_free($52);
$$14 = 12;
break L1;
}
else if ((label|0) == 156) {
___tre_mem_destroy($11);
$370 = ($$0537|0)==(0|0);
if (!($370)) {
_free($135);
}
$371 = ($$0502|0)==(0|0);
if (!($371)) {
_free($137);
}
$372 = ($$0531|0)==(0|0);
if ($372) {
$$14 = 12;
break L1;
}
_free($52);
$$14 = 12;
break L1;
}
else if ((label|0) == 187) {
$not$ = $442 ^ 1;
$445 = $not$&1;
HEAP32[$4>>2] = $$3485;
$$1503 = $$0502;$$1532 = $$0531;$$1538 = $$0537;$$6501 = $445;$447 = $135;$449 = $137;$451 = $52;
break;
}
}
} while(0);
___tre_mem_destroy($11);
$446 = ($$1538|0)==(0|0);
if (!($446)) {
_free($447);
}
$448 = ($$1503|0)==(0|0);
if (!($448)) {
_free($449);
}
$450 = ($$1532|0)==(0|0);
if ($450) {
$$14 = $$6501;
} else {
_free($451);
$$14 = $$6501;
}
}
} while(0);
STACKTOP = sp;return ($$14|0);
}
function _tre_tnfa_run_parallel($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0415 = 0, $$0420592 = 0, $$0421 = 0, $$0422 = 0, $$0423 = 0, $$0426 = 0, $$0427$ph526 = 0, $$0427502 = 0, $$0432 = 0, $$0437 = 0, $$0448591 = 0, $$0456 = 0, $$0457514 = 0, $$0460 = 0, $$0468534 = 0, $$1 = 0, $$10 = 0, $$10447 = 0, $$10447$lobit = 0, $$1424 = 0;
var $$1428565 = 0, $$1430 = 0, $$1433$ph$lcssa = 0, $$1433$ph524 = 0, $$1433$ph525$mux = 0, $$1438$ph$lcssa = 0, $$1438$ph522 = 0, $$1438$ph523$mux = 0, $$1449587 = 0, $$1458546 = 0, $$1461$ph$lcssa = 0, $$1461$ph520 = 0, $$1469575 = 0, $$1471 = 0, $$1474 = 0, $$2425 = 0, $$2431$lcssa = 0, $$2431579 = 0, $$2434 = 0, $$2439 = 0;
var $$2462 = 0, $$2472 = 0, $$2475 = 0, $$3$lcssa = 0, $$3435 = 0, $$3440 = 0, $$3451517 = 0, $$3463$lcssa = 0, $$3463536 = 0, $$3562 = 0, $$4 = 0, $$4436 = 0, $$4441 = 0, $$4452530 = 0, $$4464 = 0, $$5 = 0, $$5442$lcssa = 0, $$5442577 = 0, $$5453542 = 0, $$5465$lcssa = 0;
var $$5465576 = 0, $$6$lcssa = 0, $$6443$lcssa = 0, $$6443556 = 0, $$6454552 = 0, $$6466$lcssa = 0, $$6466555 = 0, $$6578 = 0, $$7$lcssa = 0, $$7444 = 0, $$7455549 = 0, $$7467 = 0, $$7559 = 0, $$8 = 0, $$9446 = 0, $$old = 0, $$old34 = 0, $$old35 = 0, $$old46 = 0, $$old47 = 0;
var $$old8 = 0, $$pr = 0, $$pr481 = 0, $$pr484 = 0, $$pr486 = 0, $$pre = 0, $$pre$phi629Z2D = 0, $$pre$phi631Z2D = 0, $$pre621 = 0, $$pre623 = 0, $$pre625 = 0, $$pre626 = 0, $$pre630 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0;
var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0;
var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0;
var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0;
var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0;
var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0;
var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0;
var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0;
var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0;
var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0;
var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0;
var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0;
var $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0;
var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0;
var $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0;
var $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0;
var $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0;
var $397 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge596 = 0, $brmerge599 = 0, $brmerge600 = 0, $brmerge604 = 0, $exitcond = 0, $exitcond616 = 0, $exitcond618 = 0, $or$cond$not = 0, $or$cond12 = 0, $or$cond15 = 0, $or$cond18 = 0, $or$cond21 = 0, $or$cond24$not = 0;
var $or$cond27 = 0, $or$cond3 = 0, $or$cond33 = 0, $or$cond36 = 0, $or$cond39 = 0, $or$cond42 = 0, $or$cond45 = 0, $or$cond48 = 0, $or$cond598 = 0, $or$cond602 = 0, $or$cond7 = 0, $or$cond9 = 0, $spec$select = 0, $spec$select476 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
HEAP32[$5>>2] = 0;
$6 = $3 & 1;
$7 = $3 & 2;
$8 = ((($0)) + 56|0);
$9 = HEAP32[$8>>2]|0;
$10 = $9 & 4;
$11 = ($2|0)==(0|0);
if ($11) {
$$0456 = 0;
} else {
$12 = ((($0)) + 40|0);
$13 = HEAP32[$12>>2]|0;
$$0456 = $13;
}
$14 = $$0456 << 2;
$15 = ((($0)) + 52|0);
$16 = HEAP32[$15>>2]|0;
$17 = $16 << 3;
$18 = (($17) + 8)|0;
$19 = Math_imul($14, $16)|0;
$20 = (($18) + ($19))|0;
$21 = $20 << 1;
$22 = (($14) + 12)|0;
$23 = (($22) + ($17))|0;
$24 = (($23) + ($21))|0;
$25 = (_malloc($24)|0);
$26 = ($25|0)==(0|0);
if ($26) {
$$1 = 12;
} else {
(_memset(($25|0),0,($24|0))|0);
$27 = (($25) + ($14)|0);
$28 = $27;
$29 = $28 & 3;
$30 = ($29|0)==(0);
$31 = (4 - ($29))|0;
$spec$select = $30 ? 0 : $31;
$32 = (($27) + ($spec$select)|0);
$33 = (($32) + ($18)|0);
$34 = $33;
$35 = $34 & 3;
$36 = ($35|0)==(0);
$37 = (4 - ($35))|0;
$38 = $36 ? 0 : $37;
$39 = (($33) + ($38)|0);
$40 = (($39) + ($18)|0);
$41 = $40;
$42 = $41 & 3;
$43 = ($42|0)==(0);
$44 = (4 - ($42))|0;
$spec$select476 = $43 ? 0 : $44;
$45 = (($40) + ($spec$select476)|0);
$46 = (($45) + ($17)|0);
$47 = $46;
$48 = $47 & 3;
$49 = HEAP32[$15>>2]|0;
$50 = ($49|0)>(0);
if ($50) {
$51 = ($48|0)==(0);
$52 = (4 - ($48))|0;
$53 = $51 ? 0 : $52;
$54 = (($46) + ($53)|0);
$$0420592 = $54;$$0448591 = 0;
while(1) {
$55 = (((($39) + ($$0448591<<3)|0)) + 4|0);
HEAP32[$55>>2] = $$0420592;
$56 = (($$0420592) + ($14)|0);
$57 = (((($32) + ($$0448591<<3)|0)) + 4|0);
HEAP32[$57>>2] = $56;
$58 = (($56) + ($14)|0);
$59 = (($$0448591) + 1)|0;
$60 = ($59|0)<($49|0);
if ($60) {
$$0420592 = $58;$$0448591 = $59;
} else {
break;
}
}
if ($50) {
$$1449587 = 0;
while(1) {
$61 = (($45) + ($$1449587<<3)|0);
HEAP32[$61>>2] = -1;
$62 = (($$1449587) + 1)|0;
$63 = ($62|0)<($49|0);
if ($63) {
$$1449587 = $62;
} else {
break;
}
}
}
}
$64 = (_mbtowc($5,$1,4)|0);
$65 = ($64|0)<(1);
if ($65) {
$66 = ($64|0)<(0);
if ($66) {
$$0426 = 1;
} else {
$$0423 = 1;
label = 12;
}
} else {
$$0423 = $64;
label = 12;
}
L17: do {
if ((label|0) == 12) {
$67 = (($1) + ($$0423)|0);
$68 = ((($0)) + 8|0);
$69 = ($$0456|0)==(0);
$70 = ($6|0)==(0);
$71 = ($10|0)!=(0);
$72 = ($$0456|0)>(0);
$73 = ((($0)) + 12|0);
$74 = ($$0456|0)<(1);
$75 = ((($0)) + 44|0);
$76 = ((($0)) + 36|0);
$77 = ((($0)) + 32|0);
$$0415 = 0;$$0421 = $67;$$0422 = 0;$$0432 = 0;$$0437 = -1;$$0460 = $32;$$1424 = $$0423;$$1430 = $25;$$1471 = $32;$$1474 = $39;
while(1) {
$78 = ($$0437|0)<(0);
if ($78) {
$79 = HEAP32[$68>>2]|0;
$80 = ((($79)) + 8|0);
$81 = HEAP32[$80>>2]|0;
$82 = ($81|0)==(0|0);
L23: do {
if ($82) {
$$1433$ph$lcssa = $$0432;$$1438$ph$lcssa = $$0437;$$1461$ph$lcssa = $$0460;
} else {
$83 = ($$0422|0)<(1);
$84 = ($$0415|0)==(10);
$or$cond3 = $71 & $84;
$85 = ($$0415|0)==(95);
$86 = ($$0422|0)!=(0);
$87 = ($$0422|0)==(0);
$or$cond$not = $83 & $70;
$$0427$ph526 = $79;$$1433$ph524 = $$0432;$$1438$ph522 = $$0437;$$1461$ph520 = $$0460;$397 = $80;
while(1) {
$$0427502 = $$0427$ph526;$154 = $397;
L27: while(1) {
$88 = ((($$0427502)) + 12|0);
$89 = HEAP32[$88>>2]|0;
$90 = (($45) + ($89<<3)|0);
$91 = HEAP32[$90>>2]|0;
$92 = ($91|0)<($$0422|0);
if (!($92)) {
$$2462 = $$1461$ph520;$$3435 = $$1433$ph524;$$3440 = $$1438$ph522;
break;
}
$93 = ((($$0427502)) + 20|0);
$94 = HEAP32[$93>>2]|0;
$95 = ($94|0)==(0);
if ($95) {
label = 47;
break;
}
$96 = $94 & 1;
$97 = ($96|0)==(0);
$brmerge = $97 | $or$cond$not;
$brmerge596 = $brmerge | $or$cond3;
L31: do {
if ($brmerge596) {
$98 = $94 & 2;
$99 = ($98|0)==(0);
if (!($99)) {
$100 = HEAP32[$5>>2]|0;
$101 = $100 | $7;
$102 = ($101|0)==(0);
$103 = ($100|0)==(10);
$or$cond7 = $71 & $103;
$or$cond598 = $102 | $or$cond7;
if (!($or$cond598)) {
break;
}
}
$104 = $94 & 16;
$105 = ($104|0)==(0);
do {
if (!($105)) {
if ($85) {
break L31;
}
$106 = (_iswalnum($$0415)|0);
$107 = ($106|0)==(0);
if (!($107)) {
break L31;
}
$108 = HEAP32[$5>>2]|0;
$109 = ($108|0)==(95);
if ($109) {
break;
}
$110 = (_iswalnum($108)|0);
$111 = ($110|0)==(0);
if ($111) {
break L31;
}
}
} while(0);
$112 = HEAP32[$93>>2]|0;
$113 = $112 & 32;
$114 = ($113|0)==(0);
if ($114) {
$123 = $112;
} else {
if ($85) {
$$old = HEAP32[$5>>2]|0;
$$old8 = ($$old|0)==(95);
if ($$old8) {
break;
} else {
$119 = $$old;
}
} else {
$115 = (_iswalnum($$0415)|0);
$116 = ($115|0)==(0);
$117 = HEAP32[$5>>2]|0;
$118 = ($117|0)==(95);
$or$cond9 = $116 | $118;
if ($or$cond9) {
break;
} else {
$119 = $117;
}
}
$120 = (_iswalnum($119)|0);
$121 = ($120|0)==(0);
if (!($121)) {
break;
}
$$pre = HEAP32[$93>>2]|0;
$123 = $$pre;
}
$122 = $123 & 64;
$124 = ($122|0)!=(0);
$or$cond12 = $86 & $124;
$125 = HEAP32[$5>>2]|0;
$126 = ($125|0)!=(0);
$or$cond15 = $126 & $or$cond12;
do {
if ($or$cond15) {
if ($85) {
$130 = $125;$134 = 1;
} else {
$127 = (_iswalnum($$0415)|0);
$128 = ($127|0)!=(0);
$$pr = HEAP32[$5>>2]|0;
$130 = $$pr;$134 = $128;
}
$129 = ($130|0)==(95);
if ($129) {
if ($134) {
break L31;
} else {
break;
}
} else {
$131 = (_iswalnum($130)|0);
$132 = ($131|0)!=(0);
$133 = $134 ^ $132;
if ($133) {
break;
} else {
break L31;
}
}
}
} while(0);
$135 = HEAP32[$93>>2]|0;
$136 = $135 & 128;
$137 = ($136|0)==(0);
if ($137) {
label = 47;
break L27;
}
$138 = HEAP32[$5>>2]|0;
$139 = ($138|0)==(0);
$or$cond18 = $87 | $139;
if ($or$cond18) {
break;
}
if ($85) {
$143 = $138;$147 = 1;
} else {
$140 = (_iswalnum($$0415)|0);
$141 = ($140|0)!=(0);
$$pr481 = HEAP32[$5>>2]|0;
$143 = $$pr481;$147 = $141;
}
$142 = ($143|0)==(95);
if ($142) {
if ($147) {
label = 47;
break L27;
} else {
break;
}
} else {
$144 = (_iswalnum($143)|0);
$145 = ($144|0)!=(0);
$146 = $147 ^ $145;
if ($146) {
break;
} else {
label = 47;
break L27;
}
}
}
} while(0);
$148 = ((($$0427502)) + 32|0);
$149 = ((($$0427502)) + 40|0);
$150 = HEAP32[$149>>2]|0;
$151 = ($150|0)==(0|0);
if ($151) {
$$1433$ph$lcssa = $$1433$ph524;$$1438$ph$lcssa = $$1438$ph522;$$1461$ph$lcssa = $$1461$ph520;
break L23;
} else {
$$0427502 = $148;$154 = $149;
}
}
if ((label|0) == 47) {
label = 0;
$152 = ((($$0427502)) + 12|0);
$153 = HEAP32[$154>>2]|0;
HEAP32[$$1461$ph520>>2] = $153;
if ($72) {
$155 = ((($$1461$ph520)) + 4|0);
$156 = HEAP32[$155>>2]|0;
_memset(($156|0),-1,($14|0))|0;
}
$157 = ((($$0427502)) + 16|0);
$158 = HEAP32[$157>>2]|0;
$159 = ($158|0)==(0|0);
if (!($159)) {
$160 = HEAP32[$158>>2]|0;
$161 = ($160|0)>(-1);
if ($161) {
$162 = ((($$1461$ph520)) + 4|0);
$$0457514 = $158;$164 = $160;
while(1) {
$163 = ($164|0)<($$0456|0);
if ($163) {
$165 = HEAP32[$162>>2]|0;
$166 = (($165) + ($164<<2)|0);
HEAP32[$166>>2] = $$0422;
}
$167 = ((($$0457514)) + 4|0);
$168 = HEAP32[$167>>2]|0;
$169 = ($168|0)>(-1);
if ($169) {
$$0457514 = $167;$164 = $168;
} else {
break;
}
}
}
}
$170 = HEAP32[$$1461$ph520>>2]|0;
$171 = HEAP32[$73>>2]|0;
$172 = ($170|0)!=($171|0);
$brmerge604 = $172 | $74;
if ($brmerge604) {
$$1433$ph525$mux = $172 ? $$1433$ph524 : 1;
$$1438$ph523$mux = $172 ? $$1438$ph522 : $$0422;
$$pre630 = ((($$1461$ph520)) + 4|0);
$$2434 = $$1433$ph525$mux;$$2439 = $$1438$ph523$mux;$$pre$phi631Z2D = $$pre630;
} else {
$173 = ((($$1461$ph520)) + 4|0);
$174 = HEAP32[$173>>2]|0;
$$3451517 = 0;
while(1) {
$175 = (($174) + ($$3451517<<2)|0);
$176 = HEAP32[$175>>2]|0;
$177 = (($2) + ($$3451517<<2)|0);
HEAP32[$177>>2] = $176;
$178 = (($$3451517) + 1)|0;
$exitcond = ($178|0)==($$0456|0);
if ($exitcond) {
$$2434 = 1;$$2439 = $$0422;$$pre$phi631Z2D = $173;
break;
} else {
$$3451517 = $178;
}
}
}
$179 = HEAP32[$152>>2]|0;
$180 = (($45) + ($179<<3)|0);
HEAP32[$180>>2] = $$0422;
$181 = (((($45) + ($179<<3)|0)) + 4|0);
HEAP32[$181>>2] = $$pre$phi631Z2D;
$182 = ((($$1461$ph520)) + 8|0);
$$2462 = $182;$$3435 = $$2434;$$3440 = $$2439;
}
$183 = ((($$0427502)) + 32|0);
$184 = ((($$0427502)) + 40|0);
$185 = HEAP32[$184>>2]|0;
$186 = ($185|0)==(0|0);
if ($186) {
$$1433$ph$lcssa = $$3435;$$1438$ph$lcssa = $$3440;$$1461$ph$lcssa = $$2462;
break;
} else {
$$0427$ph526 = $183;$$1433$ph524 = $$3435;$$1438$ph522 = $$3440;$$1461$ph520 = $$2462;$397 = $184;
}
}
}
} while(0);
HEAP32[$$1461$ph$lcssa>>2] = 0;
$$old46 = HEAP32[$5>>2]|0;
$$old47 = ($$old46|0)==(0);
if ($$old47) {
$$10447 = $$1438$ph$lcssa;
break;
} else {
$$4436 = $$1433$ph$lcssa;$$4441 = $$1438$ph$lcssa;$237 = $$old46;
}
} else {
if ($69) {
$$10447 = $$0437;
break;
}
$187 = ($$0460|0)!=($$1471|0);
$188 = HEAP32[$5>>2]|0;
$189 = ($188|0)!=(0);
$or$cond48 = $187 & $189;
if ($or$cond48) {
$$4436 = $$0432;$$4441 = $$0437;$237 = $188;
} else {
$$10447 = $$0437;
break;
}
}
$190 = (($$0422) + ($$1424))|0;
$191 = (_mbtowc($5,$$0421,4)|0);
$192 = ($191|0)<(1);
if ($192) {
$193 = ($191|0)<(0);
if ($193) {
$$0426 = 1;
break L17;
} else {
$$2425 = 1;
}
} else {
$$2425 = $191;
}
$194 = (($$0421) + ($$2425)|0);
$195 = HEAP32[$75>>2]|0;
$196 = ($195|0)!=(0);
$197 = ($$4436|0)!=(0);
$or$cond21 = $197 & $196;
if ($or$cond21) {
$198 = HEAP32[$$1471>>2]|0;
$199 = ($198|0)==(0|0);
if ($199) {
$$3463$lcssa = $$1474;
} else {
$200 = HEAP32[$76>>2]|0;
$201 = HEAP32[$200>>2]|0;
$202 = ($201|0)>(-1);
$$0468534 = $$1471;$$3463536 = $$1474;
while(1) {
$203 = ((($$0468534)) + 4|0);
L102: do {
if ($202) {
$$4452530 = 0;$208 = $201;
while(1) {
$204 = $$4452530 | 1;
$205 = (($200) + ($204<<2)|0);
$206 = HEAP32[$205>>2]|0;
$207 = ($208|0)<($$0456|0);
if (!($207)) {
$$4464 = $$3463536;
break L102;
}
$209 = HEAP32[$203>>2]|0;
$210 = (($209) + ($206<<2)|0);
$211 = HEAP32[$210>>2]|0;
$212 = (($2) + ($206<<2)|0);
$213 = HEAP32[$212>>2]|0;
$214 = ($211|0)==($213|0);
if ($214) {
$215 = (($209) + ($208<<2)|0);
$216 = HEAP32[$215>>2]|0;
$217 = (($2) + ($208<<2)|0);
$218 = HEAP32[$217>>2]|0;
$219 = ($216|0)<($218|0);
if ($219) {
$$4464 = $$3463536;
break L102;
}
}
$220 = (($$4452530) + 2)|0;
$221 = (($200) + ($220<<2)|0);
$222 = HEAP32[$221>>2]|0;
$223 = ($222|0)>(-1);
if ($223) {
$$4452530 = $220;$208 = $222;
} else {
break;
}
}
$224 = $209;
$$pre$phi629Z2D = $203;$228 = $224;
label = 77;
} else {
$$pre621 = HEAP32[$203>>2]|0;
$$pre$phi629Z2D = $203;$228 = $$pre621;
label = 77;
}
} while(0);
if ((label|0) == 77) {
label = 0;
$225 = HEAP32[$$0468534>>2]|0;
HEAP32[$$3463536>>2] = $225;
$226 = ((($$3463536)) + 4|0);
$227 = HEAP32[$226>>2]|0;
HEAP32[$226>>2] = $228;
HEAP32[$$pre$phi629Z2D>>2] = $227;
$229 = ((($$3463536)) + 8|0);
$$4464 = $229;
}
$230 = ((($$0468534)) + 8|0);
$231 = HEAP32[$230>>2]|0;
$232 = ($231|0)==(0|0);
if ($232) {
$$3463$lcssa = $$4464;
break;
} else {
$$0468534 = $230;$$3463536 = $$4464;
}
}
}
HEAP32[$$3463$lcssa>>2] = 0;
$$2472 = $$1471;$$2475 = $$1474;$$5 = 0;
} else {
$$2472 = $$1474;$$2475 = $$1471;$$5 = $$4436;
}
$233 = HEAP32[$$2475>>2]|0;
$234 = ($233|0)==(0|0);
if ($234) {
$$2431$lcssa = $$1430;$$5442$lcssa = $$4441;$$5465$lcssa = $$2472;$$6$lcssa = $$5;
} else {
$235 = ($190|0)<(1);
$236 = ($237|0)==(10);
$or$cond27 = $71 & $236;
$238 = ($237|0)==(95);
$239 = ($190|0)!=(0);
$240 = ($190|0)==(0);
$or$cond24$not = $235 & $70;
$$1469575 = $$2475;$$2431579 = $$1430;$$5442577 = $$4441;$$5465576 = $$2472;$$6578 = $$5;$242 = $233;
while(1) {
$241 = ((($242)) + 8|0);
$243 = HEAP32[$241>>2]|0;
$244 = ($243|0)==(0|0);
if ($244) {
$$3$lcssa = $$2431579;$$6443$lcssa = $$5442577;$$6466$lcssa = $$5465576;$$7$lcssa = $$6578;
} else {
$245 = ((($$1469575)) + 4|0);
$$1428565 = $242;$$3562 = $$2431579;$$6443556 = $$5442577;$$6466555 = $$5465576;$$7559 = $$6578;$360 = $241;
while(1) {
$246 = HEAP32[$$1428565>>2]|0;
$247 = ($246>>>0)>($237>>>0);
L125: do {
if ($247) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
} else {
$248 = ((($$1428565)) + 4|0);
$249 = HEAP32[$248>>2]|0;
$250 = ($249>>>0)<($237>>>0);
if ($250) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
} else {
$251 = ((($$1428565)) + 20|0);
$252 = HEAP32[$251>>2]|0;
$253 = ($252|0)==(0);
do {
if (!($253)) {
$254 = $252 & 1;
$255 = ($254|0)==(0);
$brmerge599 = $255 | $or$cond24$not;
$brmerge600 = $brmerge599 | $or$cond27;
if (!($brmerge600)) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
}
$256 = $252 & 2;
$257 = ($256|0)==(0);
if (!($257)) {
$258 = HEAP32[$5>>2]|0;
$259 = $258 | $7;
$260 = ($259|0)==(0);
$261 = ($258|0)==(10);
$or$cond33 = $71 & $261;
$or$cond602 = $260 | $or$cond33;
if (!($or$cond602)) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
}
}
$262 = $252 & 16;
$263 = ($262|0)==(0);
do {
if (!($263)) {
if ($238) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
}
$264 = (_iswalnum($237)|0);
$265 = ($264|0)==(0);
if (!($265)) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
}
$266 = HEAP32[$5>>2]|0;
$267 = ($266|0)==(95);
if ($267) {
break;
}
$268 = (_iswalnum($266)|0);
$269 = ($268|0)==(0);
if ($269) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
}
}
} while(0);
$270 = HEAP32[$251>>2]|0;
$271 = $270 & 32;
$272 = ($271|0)==(0);
if ($272) {
$281 = $270;
} else {
if ($238) {
$$old34 = HEAP32[$5>>2]|0;
$$old35 = ($$old34|0)==(95);
if ($$old35) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
} else {
$277 = $$old34;
}
} else {
$273 = (_iswalnum($237)|0);
$274 = ($273|0)==(0);
$275 = HEAP32[$5>>2]|0;
$276 = ($275|0)==(95);
$or$cond36 = $274 | $276;
if ($or$cond36) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
} else {
$277 = $275;
}
}
$278 = (_iswalnum($277)|0);
$279 = ($278|0)==(0);
if (!($279)) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
}
$$pre623 = HEAP32[$251>>2]|0;
$281 = $$pre623;
}
$280 = $281 & 64;
$282 = ($280|0)!=(0);
$or$cond39 = $239 & $282;
$283 = HEAP32[$5>>2]|0;
$284 = ($283|0)!=(0);
$or$cond42 = $284 & $or$cond39;
do {
if ($or$cond42) {
if ($238) {
$288 = $283;$292 = 1;
} else {
$285 = (_iswalnum($237)|0);
$286 = ($285|0)!=(0);
$$pr484 = HEAP32[$5>>2]|0;
$288 = $$pr484;$292 = $286;
}
$287 = ($288|0)==(95);
if ($287) {
if ($292) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
} else {
break;
}
} else {
$289 = (_iswalnum($288)|0);
$290 = ($289|0)!=(0);
$291 = $292 ^ $290;
if ($291) {
break;
} else {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
}
}
}
} while(0);
$293 = HEAP32[$251>>2]|0;
$294 = $293 & 128;
$295 = ($294|0)==(0);
do {
if (!($295)) {
$296 = HEAP32[$5>>2]|0;
$297 = ($296|0)==(0);
$or$cond45 = $240 | $297;
if ($or$cond45) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
}
if ($238) {
$301 = $296;$305 = 1;
} else {
$298 = (_iswalnum($237)|0);
$299 = ($298|0)!=(0);
$$pr486 = HEAP32[$5>>2]|0;
$301 = $$pr486;$305 = $299;
}
$300 = ($301|0)==(95);
if ($300) {
if ($305) {
break;
} else {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
}
} else {
$302 = (_iswalnum($301)|0);
$303 = ($302|0)!=(0);
$304 = $305 ^ $303;
if ($304) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
} else {
break;
}
}
}
} while(0);
$306 = HEAP32[$251>>2]|0;
$307 = $306 & 4;
$308 = ($307|0)==(0);
do {
if (!($308)) {
$309 = HEAP32[$8>>2]|0;
$310 = $309 & 2;
$311 = ($310|0)==(0);
if ($311) {
$312 = ((($$1428565)) + 24|0);
$313 = HEAP32[$312>>2]|0;
$314 = (_iswctype($237,$313)|0);
$315 = ($314|0)==(0);
if ($315) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
}
$$pre625 = HEAP32[$251>>2]|0;
$$pre626 = $$pre625 & 4;
$316 = ($$pre626|0)==(0);
if ($316) {
break;
}
}
$317 = HEAP32[$8>>2]|0;
$318 = $317 & 2;
$319 = ($318|0)==(0);
if ($319) {
break;
}
$320 = (_towlower($237)|0);
$321 = ((($$1428565)) + 24|0);
$322 = HEAP32[$321>>2]|0;
$323 = (_iswctype($320,$322)|0);
$324 = ($323|0)==(0);
if (!($324)) {
break;
}
$325 = (_towupper($237)|0);
$326 = HEAP32[$321>>2]|0;
$327 = (_iswctype($325,$326)|0);
$328 = ($327|0)==(0);
if ($328) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
}
}
} while(0);
$329 = HEAP32[$251>>2]|0;
$330 = $329 & 8;
$331 = ($330|0)==(0);
if ($331) {
break;
}
$332 = ((($$1428565)) + 28|0);
$333 = HEAP32[$332>>2]|0;
$334 = HEAP32[$8>>2]|0;
$335 = $334 & 2;
$336 = (_tre_neg_char_classes_match($333,$237,$335)|0);
$337 = ($336|0)==(0);
if (!($337)) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break L125;
}
}
} while(0);
if ($72) {
$338 = HEAP32[$245>>2]|0;
$$5453542 = 0;
while(1) {
$339 = (($338) + ($$5453542<<2)|0);
$340 = HEAP32[$339>>2]|0;
$341 = (($$3562) + ($$5453542<<2)|0);
HEAP32[$341>>2] = $340;
$342 = (($$5453542) + 1)|0;
$exitcond616 = ($342|0)==($$0456|0);
if ($exitcond616) {
break;
} else {
$$5453542 = $342;
}
}
}
$343 = ((($$1428565)) + 16|0);
$344 = HEAP32[$343>>2]|0;
$345 = ($344|0)==(0|0);
do {
if (!($345)) {
$346 = HEAP32[$344>>2]|0;
$347 = ($346|0)>(-1);
if (!($347)) {
break;
}
$$1458546 = $344;$349 = $346;
while(1) {
$348 = ($349|0)<($$0456|0);
if ($348) {
$350 = (($$3562) + ($349<<2)|0);
HEAP32[$350>>2] = $190;
}
$351 = ((($$1458546)) + 4|0);
$352 = HEAP32[$351>>2]|0;
$353 = ($352|0)>(-1);
if ($353) {
$$1458546 = $351;$349 = $352;
} else {
break;
}
}
}
} while(0);
$354 = ((($$1428565)) + 12|0);
$355 = HEAP32[$354>>2]|0;
$356 = (($45) + ($355<<3)|0);
$357 = HEAP32[$356>>2]|0;
$358 = ($357|0)<($190|0);
if (!($358)) {
$377 = HEAP32[$77>>2]|0;
$378 = (((($45) + ($355<<3)|0)) + 4|0);
$379 = HEAP32[$378>>2]|0;
$380 = HEAP32[$379>>2]|0;
$381 = (_tre_tag_order($$0456,$377,$$3562,$380)|0);
$382 = ($381|0)==(0);
if ($382) {
$$10 = $$7559;$$4 = $$3562;$$7467 = $$6466555;$$9446 = $$6443556;
break;
}
HEAP32[$379>>2] = $$3562;
$383 = HEAP32[$360>>2]|0;
$384 = HEAP32[$73>>2]|0;
$385 = ($383|0)==($384|0);
if (!($385)) {
$$10 = $$7559;$$4 = $380;$$7467 = $$6466555;$$9446 = $$6443556;
break;
}
if (!($72)) {
$$10 = 1;$$4 = $380;$$7467 = $$6466555;$$9446 = $190;
break;
}
$$7455549 = 0;
while(1) {
$386 = (($$3562) + ($$7455549<<2)|0);
$387 = HEAP32[$386>>2]|0;
$388 = (($2) + ($$7455549<<2)|0);
HEAP32[$388>>2] = $387;
$389 = (($$7455549) + 1)|0;
$exitcond618 = ($389|0)==($$0456|0);
if ($exitcond618) {
$$10 = 1;$$4 = $380;$$7467 = $$6466555;$$9446 = $190;
break L125;
} else {
$$7455549 = $389;
}
}
}
$359 = HEAP32[$360>>2]|0;
HEAP32[$$6466555>>2] = $359;
$361 = ((($$6466555)) + 4|0);
$362 = HEAP32[$361>>2]|0;
HEAP32[$361>>2] = $$3562;
HEAP32[$356>>2] = $190;
$363 = (((($45) + ($355<<3)|0)) + 4|0);
HEAP32[$363>>2] = $361;
$364 = $359;
$365 = HEAP32[$73>>2]|0;
$366 = ($365|0)==($364|0);
do {
if ($366) {
$367 = ($$6443556|0)==(-1);
if ($367) {
if (!($72)) {
$$7444 = $190;$$8 = 1;
break;
}
} else {
if (!($72)) {
$$7444 = $$6443556;$$8 = $$7559;
break;
}
$368 = HEAP32[$$3562>>2]|0;
$369 = HEAP32[$2>>2]|0;
$370 = ($368|0)>($369|0);
if ($370) {
$$7444 = $$6443556;$$8 = $$7559;
break;
}
}
$$6454552 = 0;
while(1) {
$371 = (($$3562) + ($$6454552<<2)|0);
$372 = HEAP32[$371>>2]|0;
$373 = (($2) + ($$6454552<<2)|0);
HEAP32[$373>>2] = $372;
$374 = (($$6454552) + 1)|0;
$375 = ($374|0)<($$0456|0);
if ($375) {
$$6454552 = $374;
} else {
$$7444 = $190;$$8 = 1;
break;
}
}
} else {
$$7444 = $$6443556;$$8 = $$7559;
}
} while(0);
$376 = ((($$6466555)) + 8|0);
$$10 = $$8;$$4 = $362;$$7467 = $376;$$9446 = $$7444;
}
}
} while(0);
$390 = ((($$1428565)) + 32|0);
$391 = ((($$1428565)) + 40|0);
$392 = HEAP32[$391>>2]|0;
$393 = ($392|0)==(0|0);
if ($393) {
$$3$lcssa = $$4;$$6443$lcssa = $$9446;$$6466$lcssa = $$7467;$$7$lcssa = $$10;
break;
} else {
$$1428565 = $390;$$3562 = $$4;$$6443556 = $$9446;$$6466555 = $$7467;$$7559 = $$10;$360 = $391;
}
}
}
$394 = ((($$1469575)) + 8|0);
$395 = HEAP32[$394>>2]|0;
$396 = ($395|0)==(0|0);
if ($396) {
$$2431$lcssa = $$3$lcssa;$$5442$lcssa = $$6443$lcssa;$$5465$lcssa = $$6466$lcssa;$$6$lcssa = $$7$lcssa;
break;
} else {
$$1469575 = $394;$$2431579 = $$3$lcssa;$$5442577 = $$6443$lcssa;$$5465576 = $$6466$lcssa;$$6578 = $$7$lcssa;$242 = $395;
}
}
}
HEAP32[$$5465$lcssa>>2] = 0;
$$0415 = $237;$$0421 = $194;$$0422 = $190;$$0432 = $$6$lcssa;$$0437 = $$5442$lcssa;$$0460 = $$5465$lcssa;$$1424 = $$2425;$$1430 = $$2431$lcssa;$$1471 = $$2472;$$1474 = $$2475;
}
HEAP32[$4>>2] = $$10447;
$$10447$lobit = $$10447 >>> 31;
$$0426 = $$10447$lobit;
}
} while(0);
_free($25);
$$1 = $$0426;
}
STACKTOP = sp;return ($$1|0);
}
function _tre_fill_pmatch($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$07984 = 0, $$091 = 0, $$188 = 0, $$2 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0;
var $8 = 0, $9 = 0, $or$cond = 0, $or$cond81 = 0, $or$cond8190 = 0, $or$cond82 = 0, $or$cond99 = 0, $scevgep = 0, label = 0, sp = 0;
sp = STACKTOP;
$6 = ($5|0)>(-1);
$7 = $2 & 8;
$8 = ($7|0)==(0);
$or$cond = $8 & $6;
if ($or$cond) {
$9 = ((($3)) + 16|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($3)) + 28|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)!=(0);
$14 = ($0|0)!=(0);
$or$cond8190 = $14 & $13;
if ($or$cond8190) {
$15 = ((($3)) + 48|0);
$16 = HEAP32[$15>>2]|0;
$$091 = 0;
while(1) {
$17 = (($10) + (($$091*12)|0)|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==($16|0);
if ($19) {
$23 = $5;
} else {
$20 = (($4) + ($18<<2)|0);
$21 = HEAP32[$20>>2]|0;
$23 = $21;
}
$22 = (($1) + ($$091<<3)|0);
HEAP32[$22>>2] = $23;
$24 = (((($10) + (($$091*12)|0)|0)) + 4|0);
$25 = HEAP32[$24>>2]|0;
$26 = ($25|0)==($16|0);
if ($26) {
$30 = $5;
} else {
$27 = (($4) + ($25<<2)|0);
$28 = HEAP32[$27>>2]|0;
$30 = $28;
}
$29 = (((($1) + ($$091<<3)|0)) + 4|0);
HEAP32[$29>>2] = $30;
$31 = ($23|0)==(-1);
$32 = ($30|0)==(-1);
$or$cond99 = $31 | $32;
if ($or$cond99) {
HEAP32[$29>>2] = -1;
HEAP32[$22>>2] = -1;
}
$33 = (($$091) + 1)|0;
$34 = ($33>>>0)<($12>>>0);
$35 = ($33>>>0)<($0>>>0);
$or$cond81 = $35 & $34;
if ($or$cond81) {
$$091 = $33;
} else {
break;
}
}
if ($or$cond8190) {
$$188 = 0;
while(1) {
$36 = (((($1) + ($$188<<3)|0)) + 4|0);
$37 = (((($10) + (($$188*12)|0)|0)) + 8|0);
$38 = HEAP32[$37>>2]|0;
$39 = ($38|0)==(0|0);
if (!($39)) {
$40 = HEAP32[$38>>2]|0;
$41 = ($40|0)>(-1);
if ($41) {
$42 = (($1) + ($$188<<3)|0);
$$pre = HEAP32[$42>>2]|0;
$$07984 = 0;$44 = $40;$47 = $$pre;
while(1) {
$43 = (($1) + ($44<<3)|0);
$45 = HEAP32[$43>>2]|0;
$46 = ($47|0)<($45|0);
if ($46) {
label = 18;
} else {
$48 = HEAP32[$36>>2]|0;
$49 = (((($1) + ($44<<3)|0)) + 4|0);
$50 = HEAP32[$49>>2]|0;
$51 = ($48|0)>($50|0);
if ($51) {
label = 18;
} else {
$62 = $47;
}
}
if ((label|0) == 18) {
label = 0;
HEAP32[$36>>2] = -1;
HEAP32[$42>>2] = -1;
$62 = -1;
}
$52 = (($$07984) + 1)|0;
$53 = (($38) + ($52<<2)|0);
$54 = HEAP32[$53>>2]|0;
$55 = ($54|0)>(-1);
if ($55) {
$$07984 = $52;$44 = $54;$47 = $62;
} else {
break;
}
}
}
}
$56 = (($$188) + 1)|0;
$57 = ($56>>>0)<($12>>>0);
$58 = ($56>>>0)<($0>>>0);
$or$cond82 = $57 & $58;
if ($or$cond82) {
$$188 = $56;
} else {
$$2 = $56;
break;
}
}
} else {
$$2 = 0;
}
} else {
$$2 = 0;
}
} else {
$$2 = 0;
}
$59 = ($$2>>>0)<($0>>>0);
if ($59) {
$scevgep = (($1) + ($$2<<3)|0);
$60 = (($0) - ($$2))|0;
$61 = $60 << 3;
_memset(($scevgep|0),-1,($61|0))|0;
}
return;
}
function _tre_neg_char_classes_match($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$01011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
$4 = ($3|0)==(0);
L1: do {
if ($4) {
$$0 = 0;
} else {
$5 = ($2|0)==(0);
$$01011 = $0;$6 = $3;
while(1) {
if ($5) {
$7 = (_iswctype($1,$6)|0);
$8 = ($7|0)==(0);
if (!($8)) {
$$0 = 1;
break L1;
}
} else {
$9 = (_towupper($1)|0);
$10 = HEAP32[$$01011>>2]|0;
$11 = (_iswctype($9,$10)|0);
$12 = ($11|0)==(0);
if (!($12)) {
$$0 = 1;
break L1;
}
$13 = (_towlower($1)|0);
$14 = HEAP32[$$01011>>2]|0;
$15 = (_iswctype($13,$14)|0);
$16 = ($15|0)==(0);
if (!($16)) {
$$0 = 1;
break L1;
}
}
$17 = ((($$01011)) + 4|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0);
if ($19) {
$$0 = 0;
break;
} else {
$$01011 = $17;$6 = $18;
}
}
}
} while(0);
return ($$0|0);
}
function _tre_tag_order($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$018 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)>(0);
L1: do {
if ($4) {
$$019 = 0;
while(1) {
$5 = (($1) + ($$019<<2)|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0);
$8 = (($2) + ($$019<<2)|0);
$9 = HEAP32[$8>>2]|0;
$10 = (($3) + ($$019<<2)|0);
$11 = HEAP32[$10>>2]|0;
if ($7) {
$12 = ($9|0)<($11|0);
if ($12) {
$$018 = 1;
break L1;
}
$13 = ($9|0)>($11|0);
if ($13) {
$$018 = 0;
break L1;
}
} else {
$14 = ($9|0)>($11|0);
if ($14) {
$$018 = 1;
break L1;
}
$15 = ($9|0)<($11|0);
if ($15) {
$$018 = 0;
break L1;
}
}
$16 = (($$019) + 1)|0;
$17 = ($16|0)<($0|0);
if ($17) {
$$019 = $16;
} else {
$$018 = 0;
break;
}
}
} else {
$$018 = 0;
}
} while(0);
return ($$018|0);
}
function _isxdigit($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $narrow = 0, $spec$select = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_isdigit($0)|0);
$2 = ($1|0)!=(0);
$3 = $0 | 32;
$4 = (($3) + -97)|0;
$5 = ($4>>>0)<(6);
$narrow = $5 | $2;
$spec$select = $narrow&1;
return ($spec$select|0);
}
function _toupper($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_islower($0)|0);
$2 = ($1|0)==(0);
$3 = $0 & 95;
$$0 = $2 ? $0 : $3;
return ($$0|0);
}
function _islower($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (($0) + -97)|0;
$2 = ($1>>>0)<(26);
$3 = $2&1;
return ($3|0);
}
function _isupper($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (($0) + -65)|0;
$2 = ($1>>>0)<(26);
$3 = $2&1;
return ($3|0);
}
function _tolower($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_isupper($0)|0);
$2 = ($1|0)==(0);
$3 = $0 | 32;
$$0 = $2 ? $0 : $3;
return ($$0|0);
}
function ___munmap($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = $0;
HEAP32[$vararg_buffer>>2] = $2;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $1;
$3 = (___syscall91(91,($vararg_buffer|0))|0);
$4 = (___syscall_ret($3)|0);
STACKTOP = sp;return ($4|0);
}
function _dummy_735() {
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function _strcasecmp($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$lcssa = 0, $$01718 = 0, $$019 = 0, $$pre$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP8[$0>>0]|0;
$3 = ($2<<24>>24)==(0);
L1: do {
if ($3) {
$$0$lcssa = $1;$21 = 0;
} else {
$4 = $2&255;
$$01718 = $0;$$019 = $1;$8 = $2;$9 = $4;
while(1) {
$5 = HEAP8[$$019>>0]|0;
$6 = ($5<<24>>24)==(0);
if ($6) {
$$0$lcssa = $$019;$21 = $8;
break L1;
}
$7 = ($8<<24>>24)==($5<<24>>24);
if (!($7)) {
$10 = (_tolower($9)|0);
$11 = HEAP8[$$019>>0]|0;
$12 = $11&255;
$13 = (_tolower($12)|0);
$14 = ($10|0)==($13|0);
if (!($14)) {
break;
}
}
$15 = ((($$01718)) + 1|0);
$16 = ((($$019)) + 1|0);
$17 = HEAP8[$15>>0]|0;
$18 = $17&255;
$19 = ($17<<24>>24)==(0);
if ($19) {
$$0$lcssa = $16;$21 = 0;
break L1;
} else {
$$01718 = $15;$$019 = $16;$8 = $17;$9 = $18;
}
}
$$pre$pre = HEAP8[$$01718>>0]|0;
$$0$lcssa = $$019;$21 = $$pre$pre;
}
} while(0);
$20 = $21&255;
$22 = (_tolower($20)|0);
$23 = HEAP8[$$0$lcssa>>0]|0;
$24 = $23&255;
$25 = (_tolower($24)|0);
$26 = (($22) - ($25))|0;
return ($26|0);
}
function _srandom($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
___lock((73288|0));
___srandom($0);
___unlock((73288|0));
return;
}
function ___srandom($0) {
$0 = $0|0;
var $$01011 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (31)==(0);
if ($1) {
HEAP32[(37332)>>2] = $0;
} else {
$2 = (31)==(31);
$3 = (31)==(7);
$4 = $2 | $3;
$5 = $4 ? 3 : 1;
HEAP32[10262] = $5;
HEAP32[18324] = 0;
$6 = (31)>(0);
if ($6) {
$$01011 = 0;$7 = $0;$8 = 0;
while(1) {
$9 = (_lcg64($7,$8)|0);
$10 = tempRet0;
$11 = ((37332) + ($$01011<<2)|0);
HEAP32[$11>>2] = $10;
$12 = (($$01011) + 1)|0;
$exitcond = ($12|0)==(31);
if ($exitcond) {
$14 = (37332);
break;
} else {
$$01011 = $12;$7 = $9;$8 = $10;
}
}
} else {
$14 = (37332);
}
$13 = HEAP32[$14>>2]|0;
$15 = $13 | 1;
HEAP32[$14>>2] = $15;
}
return;
}
function _lcg64($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (___muldi3(($0|0),($1|0),1284865837,1481765933)|0);
$3 = tempRet0;
$4 = (_i64Add(($2|0),($3|0),1,0)|0);
$5 = tempRet0;
tempRet0 = ($5);
return ($4|0);
}
function _random() {
var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$store$select = 0, $spec$store$select1 = 0, label = 0, sp = 0;
sp = STACKTOP;
___lock((73288|0));
$0 = (31)==(0);
if ($0) {
$1 = HEAP32[(37332)>>2]|0;
$2 = (_lcg31($1)|0);
HEAP32[(37332)>>2] = $2;
$$0 = $2;
} else {
$3 = HEAP32[18324]|0;
$4 = ((37332) + ($3<<2)|0);
$5 = HEAP32[$4>>2]|0;
$6 = HEAP32[10262]|0;
$7 = ((37332) + ($6<<2)|0);
$8 = HEAP32[$7>>2]|0;
$9 = (($8) + ($5))|0;
HEAP32[$7>>2] = $9;
$10 = $9 >>> 1;
$11 = (($6) + 1)|0;
$12 = ($11|0)==(31);
$spec$store$select = $12 ? 0 : $11;
HEAP32[10262] = $spec$store$select;
$13 = (($3) + 1)|0;
$14 = ($13|0)==(31);
$spec$store$select1 = $14 ? 0 : $13;
HEAP32[18324] = $spec$store$select1;
$$0 = $10;
}
___unlock((73288|0));
return ($$0|0);
}
function _lcg31($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = Math_imul($0, 1103515245)|0;
$2 = (($1) + 12345)|0;
$3 = $2 & 2147483647;
return ($3|0);
}
function ___mmap($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0;
var $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp;
$6 = ($5|0)<(0);
$7 = $6 << 31 >> 31;
$8 = $5 & 4095;
$9 = $7 & -4096;
$10 = ($8|0)==(0);
$11 = ($9|0)==(0);
$12 = $10 & $11;
do {
if ($12) {
$14 = ($1>>>0)>(2147483646);
if ($14) {
$15 = (___errno_location()|0);
HEAP32[$15>>2] = 12;
$$0 = (-1);
break;
}
$16 = $3 & 16;
$17 = ($16|0)==(0);
if (!($17)) {
}
$18 = $0;
$19 = $5 >> 12;
HEAP32[$vararg_buffer>>2] = $18;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $1;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $2;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $3;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $4;
$vararg_ptr5 = ((($vararg_buffer)) + 20|0);
HEAP32[$vararg_ptr5>>2] = $19;
$20 = (___syscall192(192,($vararg_buffer|0))|0);
$21 = (___syscall_ret($20)|0);
$22 = $21;
$$0 = $22;
} else {
$13 = (___errno_location()|0);
HEAP32[$13>>2] = 22;
$$0 = (-1);
}
} while(0);
STACKTOP = sp;return ($$0|0);
}
function _atoi($0) {
$0 = $0|0;
var $$0 = 0, $$010$lcssa = 0, $$01015 = 0, $$011 = 0, $$1 = 0, $$112 = 0, $$214 = 0, $$neg13 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre16 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$$011 = $0;
while(1) {
$1 = HEAP8[$$011>>0]|0;
$2 = $1 << 24 >> 24;
$3 = (_isspace($2)|0);
$4 = ($3|0)==(0);
$5 = ((($$011)) + 1|0);
if ($4) {
break;
} else {
$$011 = $5;
}
}
$6 = HEAP8[$$011>>0]|0;
$7 = $6 << 24 >> 24;
switch ($7|0) {
case 45: {
$$0 = 1;
label = 5;
break;
}
case 43: {
$$0 = 0;
label = 5;
break;
}
default: {
$$1 = 0;$$112 = $$011;$$pre$phiZ2D = $7;
}
}
if ((label|0) == 5) {
$$pre = HEAP8[$5>>0]|0;
$$pre16 = $$pre << 24 >> 24;
$$1 = $$0;$$112 = $5;$$pre$phiZ2D = $$pre16;
}
$8 = (_isdigit($$pre$phiZ2D)|0);
$9 = ($8|0)==(0);
if ($9) {
$$010$lcssa = 0;
} else {
$$01015 = 0;$$214 = $$112;
while(1) {
$10 = ($$01015*10)|0;
$11 = ((($$214)) + 1|0);
$12 = HEAP8[$$214>>0]|0;
$13 = $12 << 24 >> 24;
$$neg13 = (($10) + 48)|0;
$14 = (($$neg13) - ($13))|0;
$15 = HEAP8[$11>>0]|0;
$16 = $15 << 24 >> 24;
$17 = (_isdigit($16)|0);
$18 = ($17|0)==(0);
if ($18) {
$$010$lcssa = $14;
break;
} else {
$$01015 = $14;$$214 = $11;
}
}
}
$19 = ($$1|0)==(0);
$20 = (0 - ($$010$lcssa))|0;
$21 = $19 ? $20 : $$010$lcssa;
return ($21|0);
}
function ___setxid($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$4 = sp;
HEAP32[$4>>2] = $1;
$5 = ((($4)) + 4|0);
HEAP32[$5>>2] = $2;
$6 = ((($4)) + 8|0);
HEAP32[$6>>2] = $3;
$7 = ((($4)) + 12|0);
HEAP32[$7>>2] = $0;
$8 = ((($4)) + 16|0);
HEAP32[$8>>2] = -1;
___synccall(90,$4);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0);
if ($10) {
$$0 = 0;
} else {
$11 = ($9|0)>(0);
if ($11) {
$12 = (___errno_location()|0);
HEAP32[$12>>2] = $9;
$$0 = -1;
} else {
$$0 = -1;
}
}
STACKTOP = sp;return ($$0|0);
}
function _do_setxid($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 16|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)>(0);
if (!($3)) {
HEAP32[$1>>2] = 1;
}
return;
}
function _getppid() {
var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$0 = (___syscall64(64,($vararg_buffer|0))|0);
STACKTOP = sp;return ($0|0);
}
function _getuid() {
var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$0 = (___syscall199(199,($vararg_buffer|0))|0);
STACKTOP = sp;return ($0|0);
}
function _geteuid() {
var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$0 = (___syscall201(201,($vararg_buffer|0))|0);
STACKTOP = sp;return ($0|0);
}
function _ftruncate($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = $1 >> 31;
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 0;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $1;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $2;
$3 = (___syscall194(194,($vararg_buffer|0))|0);
$4 = (___syscall_ret($3)|0);
STACKTOP = sp;return ($4|0);
}
function _setuid($0) {
$0 = $0|0;
var $1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (___setxid(213,$0,0,0)|0);
return ($1|0);
}
function ___emscripten_environ_constructor() {
var label = 0, sp = 0;
sp = STACKTOP;
___buildEnvironment((73316|0));
return;
}
function __get_tzname() {
var label = 0, sp = 0;
sp = STACKTOP;
return (73300|0);
}
function __get_daylight() {
var label = 0, sp = 0;
sp = STACKTOP;
return (73308|0);
}
function __get_timezone() {
var label = 0, sp = 0;
sp = STACKTOP;
return (73312|0);
}
function __get_environ() {
var label = 0, sp = 0;
sp = STACKTOP;
return (73316|0);
}
function runPostSets() {
}
function _i64Add(a, b, c, d) {
/*
x = a + b*2^32
y = c + d*2^32
result = l + h*2^32
*/
a = a|0; b = b|0; c = c|0; d = d|0;
var l = 0, h = 0;
l = (a + c)>>>0;
h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow.
return ((tempRet0 = h,l|0)|0);
}
function _i64Subtract(a, b, c, d) {
a = a|0; b = b|0; c = c|0; d = d|0;
var l = 0, h = 0;
l = (a - c)>>>0;
h = (b - d)>>>0;
h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow.
return ((tempRet0 = h,l|0)|0);
}
function _llvm_cttz_i32(x) { // Note: Currently doesn't take isZeroUndef()
x = x | 0;
return (x ? (31 - (Math_clz32((x ^ (x - 1))) | 0) | 0) : 32) | 0;
}
function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) {
$a$0 = $a$0 | 0;
$a$1 = $a$1 | 0;
$b$0 = $b$0 | 0;
$b$1 = $b$1 | 0;
$rem = $rem | 0;
var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0;
$n_sroa_0_0_extract_trunc = $a$0;
$n_sroa_1_4_extract_shift$0 = $a$1;
$n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0;
$d_sroa_0_0_extract_trunc = $b$0;
$d_sroa_1_4_extract_shift$0 = $b$1;
$d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0;
if (($n_sroa_1_4_extract_trunc | 0) == 0) {
$4 = ($rem | 0) != 0;
if (($d_sroa_1_4_extract_trunc | 0) == 0) {
if ($4) {
HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
HEAP32[$rem + 4 >> 2] = 0;
}
$_0$1 = 0;
$_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
} else {
if (!$4) {
$_0$1 = 0;
$_0$0 = 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
HEAP32[$rem >> 2] = $a$0 & -1;
HEAP32[$rem + 4 >> 2] = $a$1 & 0;
$_0$1 = 0;
$_0$0 = 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
}
$17 = ($d_sroa_1_4_extract_trunc | 0) == 0;
do {
if (($d_sroa_0_0_extract_trunc | 0) == 0) {
if ($17) {
if (($rem | 0) != 0) {
HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
HEAP32[$rem + 4 >> 2] = 0;
}
$_0$1 = 0;
$_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
if (($n_sroa_0_0_extract_trunc | 0) == 0) {
if (($rem | 0) != 0) {
HEAP32[$rem >> 2] = 0;
HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0);
}
$_0$1 = 0;
$_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
$37 = $d_sroa_1_4_extract_trunc - 1 | 0;
if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) {
if (($rem | 0) != 0) {
HEAP32[$rem >> 2] = 0 | $a$0 & -1;
HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0;
}
$_0$1 = 0;
$_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0);
return (tempRet0 = $_0$1, $_0$0) | 0;
}
$49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
$51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
if ($51 >>> 0 <= 30) {
$57 = $51 + 1 | 0;
$58 = 31 - $51 | 0;
$sr_1_ph = $57;
$r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0);
$r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0);
$q_sroa_0_1_ph = 0;
$q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58;
break;
}
if (($rem | 0) == 0) {
$_0$1 = 0;
$_0$0 = 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
HEAP32[$rem >> 2] = 0 | $a$0 & -1;
HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
$_0$1 = 0;
$_0$0 = 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
} else {
if (!$17) {
$117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
$119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
if ($119 >>> 0 <= 31) {
$125 = $119 + 1 | 0;
$126 = 31 - $119 | 0;
$130 = $119 - 31 >> 31;
$sr_1_ph = $125;
$r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126;
$r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130;
$q_sroa_0_1_ph = 0;
$q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126;
break;
}
if (($rem | 0) == 0) {
$_0$1 = 0;
$_0$0 = 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
HEAP32[$rem >> 2] = 0 | $a$0 & -1;
HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
$_0$1 = 0;
$_0$0 = 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
$66 = $d_sroa_0_0_extract_trunc - 1 | 0;
if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) {
$86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0;
$88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
$89 = 64 - $88 | 0;
$91 = 32 - $88 | 0;
$92 = $91 >> 31;
$95 = $88 - 32 | 0;
$105 = $95 >> 31;
$sr_1_ph = $88;
$r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105;
$r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0);
$q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92;
$q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31;
break;
}
if (($rem | 0) != 0) {
HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc;
HEAP32[$rem + 4 >> 2] = 0;
}
if (($d_sroa_0_0_extract_trunc | 0) == 1) {
$_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
$_0$0 = 0 | $a$0 & -1;
return (tempRet0 = $_0$1, $_0$0) | 0;
} else {
$78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0;
$_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0);
$_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
}
} while (0);
if (($sr_1_ph | 0) == 0) {
$q_sroa_1_1_lcssa = $q_sroa_1_1_ph;
$q_sroa_0_1_lcssa = $q_sroa_0_1_ph;
$r_sroa_1_1_lcssa = $r_sroa_1_1_ph;
$r_sroa_0_1_lcssa = $r_sroa_0_1_ph;
$carry_0_lcssa$1 = 0;
$carry_0_lcssa$0 = 0;
} else {
$d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1;
$d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0;
$137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0;
$137$1 = tempRet0;
$q_sroa_1_1198 = $q_sroa_1_1_ph;
$q_sroa_0_1199 = $q_sroa_0_1_ph;
$r_sroa_1_1200 = $r_sroa_1_1_ph;
$r_sroa_0_1201 = $r_sroa_0_1_ph;
$sr_1202 = $sr_1_ph;
$carry_0203 = 0;
while (1) {
$147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1;
$149 = $carry_0203 | $q_sroa_0_1199 << 1;
$r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31);
$r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0;
_i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0;
$150$1 = tempRet0;
$151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1;
$152 = $151$0 & 1;
$154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0;
$r_sroa_0_0_extract_trunc = $154$0;
$r_sroa_1_4_extract_trunc = tempRet0;
$155 = $sr_1202 - 1 | 0;
if (($155 | 0) == 0) {
break;
} else {
$q_sroa_1_1198 = $147;
$q_sroa_0_1199 = $149;
$r_sroa_1_1200 = $r_sroa_1_4_extract_trunc;
$r_sroa_0_1201 = $r_sroa_0_0_extract_trunc;
$sr_1202 = $155;
$carry_0203 = $152;
}
}
$q_sroa_1_1_lcssa = $147;
$q_sroa_0_1_lcssa = $149;
$r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc;
$r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc;
$carry_0_lcssa$1 = 0;
$carry_0_lcssa$0 = $152;
}
$q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa;
$q_sroa_0_0_insert_ext75$1 = 0;
$q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1;
if (($rem | 0) != 0) {
HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa;
HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0;
}
$_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1;
$_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
function ___divdi3($a$0, $a$1, $b$0, $b$1) {
$a$0 = $a$0 | 0;
$a$1 = $a$1 | 0;
$b$0 = $b$0 | 0;
$b$1 = $b$1 | 0;
var $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $7$0 = 0, $7$1 = 0, $8$0 = 0, $10$0 = 0;
$1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1;
$1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1;
$2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1;
$2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1;
$4$0 = _i64Subtract($1$0 ^ $a$0 | 0, $1$1 ^ $a$1 | 0, $1$0 | 0, $1$1 | 0) | 0;
$4$1 = tempRet0;
$6$0 = _i64Subtract($2$0 ^ $b$0 | 0, $2$1 ^ $b$1 | 0, $2$0 | 0, $2$1 | 0) | 0;
$7$0 = $2$0 ^ $1$0;
$7$1 = $2$1 ^ $1$1;
$8$0 = ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, 0) | 0;
$10$0 = _i64Subtract($8$0 ^ $7$0 | 0, tempRet0 ^ $7$1 | 0, $7$0 | 0, $7$1 | 0) | 0;
return $10$0 | 0;
}
function ___muldsi3($a, $b) {
$a = $a | 0;
$b = $b | 0;
var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0;
$1 = $a & 65535;
$2 = $b & 65535;
$3 = Math_imul($2, $1) | 0;
$6 = $a >>> 16;
$8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0;
$11 = $b >>> 16;
$12 = Math_imul($11, $1) | 0;
return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0;
}
function ___muldi3($a$0, $a$1, $b$0, $b$1) {
$a$0 = $a$0 | 0;
$a$1 = $a$1 | 0;
$b$0 = $b$0 | 0;
$b$1 = $b$1 | 0;
var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0;
$x_sroa_0_0_extract_trunc = $a$0;
$y_sroa_0_0_extract_trunc = $b$0;
$1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0;
$1$1 = tempRet0;
$2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0;
return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0;
}
function ___udivdi3($a$0, $a$1, $b$0, $b$1) {
$a$0 = $a$0 | 0;
$a$1 = $a$1 | 0;
$b$0 = $b$0 | 0;
$b$1 = $b$1 | 0;
var $1$0 = 0;
$1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0;
return $1$0 | 0;
}
function ___uremdi3($a$0, $a$1, $b$0, $b$1) {
$a$0 = $a$0 | 0;
$a$1 = $a$1 | 0;
$b$0 = $b$0 | 0;
$b$1 = $b$1 | 0;
var $rem = 0, __stackBase__ = 0;
__stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 16 | 0;
$rem = __stackBase__ | 0;
___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0;
STACKTOP = __stackBase__;
return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0;
}
function _bitshift64Ashr(low, high, bits) {
low = low|0; high = high|0; bits = bits|0;
var ander = 0;
if ((bits|0) < 32) {
ander = ((1 << bits) - 1)|0;
tempRet0 = high >> bits;
return (low >>> bits) | ((high&ander) << (32 - bits));
}
tempRet0 = (high|0) < 0 ? -1 : 0;
return (high >> (bits - 32))|0;
}
function _bitshift64Lshr(low, high, bits) {
low = low|0; high = high|0; bits = bits|0;
var ander = 0;
if ((bits|0) < 32) {
ander = ((1 << bits) - 1)|0;
tempRet0 = high >>> bits;
return (low >>> bits) | ((high&ander) << (32 - bits));
}
tempRet0 = 0;
return (high >>> (bits - 32))|0;
}
function _bitshift64Shl(low, high, bits) {
low = low|0; high = high|0; bits = bits|0;
var ander = 0;
if ((bits|0) < 32) {
ander = ((1 << bits) - 1)|0;
tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits));
return low << bits;
}
tempRet0 = low << (bits - 32);
return 0;
}
function _llvm_bswap_i32(x) {
x = x|0;
return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0;
}
function _memcpy(dest, src, num) {
dest = dest|0; src = src|0; num = num|0;
var ret = 0;
var aligned_dest_end = 0;
var block_aligned_dest_end = 0;
var dest_end = 0;
// Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use.
if ((num|0) >=
8192
) {
return _emscripten_memcpy_big(dest|0, src|0, num|0)|0;
}
ret = dest|0;
dest_end = (dest + num)|0;
if ((dest&3) == (src&3)) {
// The initial unaligned < 4-byte front.
while (dest & 3) {
if ((num|0) == 0) return ret|0;
HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
dest = (dest+1)|0;
src = (src+1)|0;
num = (num-1)|0;
}
aligned_dest_end = (dest_end & -4)|0;
block_aligned_dest_end = (aligned_dest_end - 64)|0;
while ((dest|0) <= (block_aligned_dest_end|0) ) {
HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0);
HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0);
HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0);
HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0);
HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0);
HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0);
HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0);
HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0);
HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0);
HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0);
HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0);
HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0);
HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0);
HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0);
HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0);
HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0);
dest = (dest+64)|0;
src = (src+64)|0;
}
while ((dest|0) < (aligned_dest_end|0) ) {
HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0);
dest = (dest+4)|0;
src = (src+4)|0;
}
} else {
// In the unaligned copy case, unroll a bit as well.
aligned_dest_end = (dest_end - 4)|0;
while ((dest|0) < (aligned_dest_end|0) ) {
HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0);
HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0);
HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0);
dest = (dest+4)|0;
src = (src+4)|0;
}
}
// The remaining unaligned < 4 byte tail.
while ((dest|0) < (dest_end|0)) {
HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
dest = (dest+1)|0;
src = (src+1)|0;
}
return ret|0;
}
function _memmove(dest, src, num) {
dest = dest|0; src = src|0; num = num|0;
var ret = 0;
if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) {
// Unlikely case: Copy backwards in a safe manner
ret = dest;
src = (src + num)|0;
dest = (dest + num)|0;
while ((num|0) > 0) {
dest = (dest - 1)|0;
src = (src - 1)|0;
num = (num - 1)|0;
HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
}
dest = ret;
} else {
_memcpy(dest, src, num) | 0;
}
return dest | 0;
}
function _memset(ptr, value, num) {
ptr = ptr|0; value = value|0; num = num|0;
var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0;
end = (ptr + num)|0;
value = value & 0xff;
if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) {
while ((ptr&3) != 0) {
HEAP8[((ptr)>>0)]=value;
ptr = (ptr+1)|0;
}
aligned_end = (end & -4)|0;
block_aligned_end = (aligned_end - 64)|0;
value4 = value | (value << 8) | (value << 16) | (value << 24);
while((ptr|0) <= (block_aligned_end|0)) {
HEAP32[((ptr)>>2)]=value4;
HEAP32[(((ptr)+(4))>>2)]=value4;
HEAP32[(((ptr)+(8))>>2)]=value4;
HEAP32[(((ptr)+(12))>>2)]=value4;
HEAP32[(((ptr)+(16))>>2)]=value4;
HEAP32[(((ptr)+(20))>>2)]=value4;
HEAP32[(((ptr)+(24))>>2)]=value4;
HEAP32[(((ptr)+(28))>>2)]=value4;
HEAP32[(((ptr)+(32))>>2)]=value4;
HEAP32[(((ptr)+(36))>>2)]=value4;
HEAP32[(((ptr)+(40))>>2)]=value4;
HEAP32[(((ptr)+(44))>>2)]=value4;
HEAP32[(((ptr)+(48))>>2)]=value4;
HEAP32[(((ptr)+(52))>>2)]=value4;
HEAP32[(((ptr)+(56))>>2)]=value4;
HEAP32[(((ptr)+(60))>>2)]=value4;
ptr = (ptr + 64)|0;
}
while ((ptr|0) < (aligned_end|0) ) {
HEAP32[((ptr)>>2)]=value4;
ptr = (ptr+4)|0;
}
}
// The remaining bytes.
while ((ptr|0) < (end|0)) {
HEAP8[((ptr)>>0)]=value;
ptr = (ptr+1)|0;
}
return (end-num)|0;
}
function _pthread_mutex_lock(x) {
x = x | 0;
return 0;
}
function _pthread_mutex_unlock(x) {
x = x | 0;
return 0;
}
function _sbrk(increment) {
increment = increment|0;
var oldDynamicTop = 0;
var oldDynamicTopOnChange = 0;
var newDynamicTop = 0;
var totalMemory = 0;
oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0;
newDynamicTop = oldDynamicTop + increment | 0;
if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int.
| (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract.
abortOnCannotGrowMemory()|0;
___setErrNo(12);
return -1;
}
HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop;
totalMemory = getTotalMemory()|0;
if ((newDynamicTop|0) > (totalMemory|0)) {
if ((enlargeMemory()|0) == 0) {
HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop;
___setErrNo(12);
return -1;
}
}
return oldDynamicTop|0;
}
function dynCall_ii(index,a1) {
index = index|0;
a1=a1|0;
return FUNCTION_TABLE_ii[index&63](a1|0)|0;
}
function dynCall_iii(index,a1,a2) {
index = index|0;
a1=a1|0; a2=a2|0;
return FUNCTION_TABLE_iii[index&127](a1|0,a2|0)|0;
}
function dynCall_iiii(index,a1,a2,a3) {
index = index|0;
a1=a1|0; a2=a2|0; a3=a3|0;
return FUNCTION_TABLE_iiii[index&127](a1|0,a2|0,a3|0)|0;
}
function dynCall_iiiii(index,a1,a2,a3,a4) {
index = index|0;
a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
return FUNCTION_TABLE_iiiii[index&127](a1|0,a2|0,a3|0,a4|0)|0;
}
function dynCall_v(index) {
index = index|0;
FUNCTION_TABLE_v[index&127]();
}
function dynCall_vi(index,a1) {
index = index|0;
a1=a1|0;
FUNCTION_TABLE_vi[index&127](a1|0);
}
function dynCall_vii(index,a1,a2) {
index = index|0;
a1=a1|0; a2=a2|0;
FUNCTION_TABLE_vii[index&63](a1|0,a2|0);
}
function dynCall_viii(index,a1,a2,a3) {
index = index|0;
a1=a1|0; a2=a2|0; a3=a3|0;
FUNCTION_TABLE_viii[index&127](a1|0,a2|0,a3|0);
}
function dynCall_viiii(index,a1,a2,a3,a4) {
index = index|0;
a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
FUNCTION_TABLE_viiii[index&63](a1|0,a2|0,a3|0,a4|0);
}
function dynCall_viiiii(index,a1,a2,a3,a4,a5) {
index = index|0;
a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0;
FUNCTION_TABLE_viiiii[index&127](a1|0,a2|0,a3|0,a4|0,a5|0);
}
function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) {
index = index|0;
a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0;
FUNCTION_TABLE_viiiiii[index&63](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0);
}
function b0(p0) {
p0 = p0|0; nullFunc_ii(0);return 0;
}
function b1(p0,p1) {
p0 = p0|0;p1 = p1|0; nullFunc_iii(1);return 0;
}
function b2(p0,p1,p2) {
p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(2);return 0;
}
function b3(p0,p1,p2,p3) {
p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_iiiii(3);return 0;
}
function b4() {
; nullFunc_v(4);
}
function b5(p0) {
p0 = p0|0; nullFunc_vi(5);
}
function b6(p0,p1) {
p0 = p0|0;p1 = p1|0; nullFunc_vii(6);
}
function b7(p0,p1,p2) {
p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(7);
}
function b8(p0,p1,p2,p3) {
p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(8);
}
function b9(p0,p1,p2,p3,p4) {
p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(9);
}
function b10(p0,p1,p2,p3,p4,p5) {
p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10);
}
// EMSCRIPTEN_END_FUNCS
var FUNCTION_TABLE_ii = [b0,b0,b0,b0,b0,b0,b0,b0,_rmd160_read,b0,_rsa_check_secret_key,b0,b0,b0,b0,_rsa_get_nbits,b0,b0,b0,b0,_sha1_read,b0,b0,b0,_sha256_read,b0,b0,b0,b0
,_sha512_read,b0,b0,b0,b0,b0,b0,_ecc_check_secret_key,b0,b0,b0,b0,_ecc_get_nbits,b0,b0,b0,__gcry_ecc_get_param_sexp,b0,b0,b0,___stdio_close,b0,b0,b0,b0,_w_malloc,_w_check,b0,b0,b0
,b0,b0,b0,b0,b0];
var FUNCTION_TABLE_iii = [b1,b1,b1,b1,b1,b1,b1,b1,b1,_rsa_generate,b1,b1,b1,b1,b1,b1,b1,_compute_keygrip,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
,b1,b1,b1,b1,b1,b1,_ecc_generate,b1,b1,b1,b1,b1,b1,b1,_compute_keygrip_1815,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,_realloc,b1,b1
,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,_pss_verify_cmp,b1,b1,b1,b1,b1,_check_exponent,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
,b1,b1,b1,b1,b1,b1,b1,b1,b1];
var FUNCTION_TABLE_iiii = [b2,_rijndael_setkey,_rijndael_encrypt,_rijndael_decrypt,_run_selftests,b2,b2,b2,b2,b2,b2,_rsa_encrypt,_rsa_decrypt,_rsa_sign,_rsa_verify,b2,_run_selftests_1209,b2,b2,b2,b2,_run_selftests_1309,b2,b2,b2,_run_selftests_1332,b2,b2,b2
,b2,_run_selftests_1355,b2,_twofish_setkey,_twofish_encrypt,_twofish_decrypt,b2,b2,_ecc_encrypt_raw,_ecc_decrypt_raw,_ecc_sign,_ecc_verify,b2,_run_selftests_1814,b2,__gcry_ecc_get_curve,b2,b2,_poly1305_blocks_ref32,b2,b2,___stdout_write,___stdio_seek,___stdio_write,_sn_write,b2,b2,b2,b2,__gcry_log_info_with_dummy_fp
,_fprintf,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,_do_encrypt,_do_decrypt,b2,b2,_transform,b2,_transform_1319,_transform_1345,_transform_1368,b2,b2,b2,b2,b2,b2,b2,b2
,___stdio_read,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
,b2,b2,b2,b2,b2,b2,b2,b2,b2];
var FUNCTION_TABLE_iiiii = [b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,_poly1305_finish_ext_ref32,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,_ghash_internal,__gcry_rndlinux_gather_random,b3,b3,b3,b3,b3
,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
,b3,b3,b3,b3,b3,b3,b3,b3,b3];
var FUNCTION_TABLE_v = [b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,_prefetch_enc,_prefetch_dec,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,_do_deinit,b4
,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
,b4,b4,b4,b4,b4,b4,b4,b4,b4];
var FUNCTION_TABLE_vi = [b5,b5,b5,b5,b5,b5,b5,_rmd160_final,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,_sha1_final,b5,b5,b5,_sha256_final,b5,b5,b5,b5,_sha512_final
,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,_free,b5
,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,_ec_deinit,b5,b5,b5,b5,b5,b5,b5
,b5,_do_setxid,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
,b5,b5,b5,b5,b5,b5,b5,b5,b5];
var FUNCTION_TABLE_vii = [b6,b6,b6,b6,b6,_rmd160_init,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,_sha1_init,b6,b6,b6,_sha224_init,b6,b6,b6,_sha256_init,_sha512_init,b6
,b6,b6,_sha384_init,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,_poly1305_init_ext_ref32,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
,b6,b6,b6,b6,b6];
var FUNCTION_TABLE_viii = [b7,b7,b7,b7,b7,b7,__gcry_md_block_write,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
,b7,b7,b7,b7,b7,b7,b7,b7,__gcry_aes_ocb_auth,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,_add_randomness,_entropy_collect_cb,_read_cb,b7,_fatal_error_handler_2503
,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
,b7,b7,b7,b7,b7,b7,b7,b7,b7];
var FUNCTION_TABLE_viiii = [b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
,b8,_reporter,b8,b8,b8];
var FUNCTION_TABLE_viiiii = [b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
,b9,b9,__gcry_aes_cfb_enc,__gcry_aes_cfb_dec,b9,__gcry_aes_cbc_dec,__gcry_aes_ctr_enc,__gcry_aes_ocb_crypt,b9,__gcry_twofish_cbc_dec,__gcry_twofish_cfb_dec,__gcry_twofish_ctr_enc,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
,b9,b9,b9,b9,b9,b9,b9,b9,b9];
var FUNCTION_TABLE_viiiiii = [b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
,b10,b10,b10,b10,__gcry_aes_cbc_enc];
return { _GNUNET_CRYPTO_ecc_ecdh: _GNUNET_CRYPTO_ecc_ecdh, _GNUNET_CRYPTO_ecdh_eddsa: _GNUNET_CRYPTO_ecdh_eddsa, _GNUNET_CRYPTO_ecdhe_key_create: _GNUNET_CRYPTO_ecdhe_key_create, _GNUNET_CRYPTO_ecdhe_key_get_public: _GNUNET_CRYPTO_ecdhe_key_get_public, _GNUNET_CRYPTO_ecdsa_key_create: _GNUNET_CRYPTO_ecdsa_key_create, _GNUNET_CRYPTO_eddsa_key_create: _GNUNET_CRYPTO_eddsa_key_create, _GNUNET_CRYPTO_eddsa_key_get_public: _GNUNET_CRYPTO_eddsa_key_get_public, _GNUNET_CRYPTO_eddsa_sign: _GNUNET_CRYPTO_eddsa_sign, _GNUNET_CRYPTO_eddsa_verify: _GNUNET_CRYPTO_eddsa_verify, _GNUNET_CRYPTO_hash: _GNUNET_CRYPTO_hash, _GNUNET_CRYPTO_hash_context_abort: _GNUNET_CRYPTO_hash_context_abort, _GNUNET_CRYPTO_hash_context_finish: _GNUNET_CRYPTO_hash_context_finish, _GNUNET_CRYPTO_hash_context_read: _GNUNET_CRYPTO_hash_context_read, _GNUNET_CRYPTO_hash_context_start: _GNUNET_CRYPTO_hash_context_start, _GNUNET_CRYPTO_hash_create_random: _GNUNET_CRYPTO_hash_create_random, _GNUNET_CRYPTO_hkdf: _GNUNET_CRYPTO_hkdf, _GNUNET_CRYPTO_kdf: _GNUNET_CRYPTO_kdf, _GNUNET_CRYPTO_random_block: _GNUNET_CRYPTO_random_block, _GNUNET_CRYPTO_random_init: _GNUNET_CRYPTO_random_init, _GNUNET_CRYPTO_rsa_blind: _GNUNET_CRYPTO_rsa_blind, _GNUNET_CRYPTO_rsa_private_key_create: _GNUNET_CRYPTO_rsa_private_key_create, _GNUNET_CRYPTO_rsa_private_key_decode: _GNUNET_CRYPTO_rsa_private_key_decode, _GNUNET_CRYPTO_rsa_private_key_encode: _GNUNET_CRYPTO_rsa_private_key_encode, _GNUNET_CRYPTO_rsa_private_key_free: _GNUNET_CRYPTO_rsa_private_key_free, _GNUNET_CRYPTO_rsa_private_key_get_public: _GNUNET_CRYPTO_rsa_private_key_get_public, _GNUNET_CRYPTO_rsa_public_key_decode: _GNUNET_CRYPTO_rsa_public_key_decode, _GNUNET_CRYPTO_rsa_public_key_encode: _GNUNET_CRYPTO_rsa_public_key_encode, _GNUNET_CRYPTO_rsa_public_key_free: _GNUNET_CRYPTO_rsa_public_key_free, _GNUNET_CRYPTO_rsa_signature_decode: _GNUNET_CRYPTO_rsa_signature_decode, _GNUNET_CRYPTO_rsa_signature_encode: _GNUNET_CRYPTO_rsa_signature_encode, _GNUNET_CRYPTO_rsa_signature_free: _GNUNET_CRYPTO_rsa_signature_free, _GNUNET_CRYPTO_rsa_unblind: _GNUNET_CRYPTO_rsa_unblind, _GNUNET_CRYPTO_rsa_verify: _GNUNET_CRYPTO_rsa_verify, _GNUNET_CRYPTO_symmetric_decrypt: _GNUNET_CRYPTO_symmetric_decrypt, _GNUNET_CRYPTO_symmetric_encrypt: _GNUNET_CRYPTO_symmetric_encrypt, _GNUNET_STRINGS_data_to_string_alloc: _GNUNET_STRINGS_data_to_string_alloc, _GNUNET_STRINGS_string_to_data: _GNUNET_STRINGS_string_to_data, _GNUNET_util_cl_init: _GNUNET_util_cl_init, _TALER_WRALL_ecdhe_public_key_from_private: _TALER_WRALL_ecdhe_public_key_from_private, _TALER_WRALL_ecdsa_public_key_from_private: _TALER_WRALL_ecdsa_public_key_from_private, _TALER_WRALL_eddsa_public_key_from_private: _TALER_WRALL_eddsa_public_key_from_private, _TALER_WRALL_get_amount: _TALER_WRALL_get_amount, _TALER_WRALL_purpose_create: _TALER_WRALL_purpose_create, _TALER_WR_get_currency: _TALER_WR_get_currency, _TALER_WR_get_fraction: _TALER_WR_get_fraction, _TALER_WR_get_value: _TALER_WR_get_value, _TALER_amount_add: _TALER_amount_add, _TALER_amount_cmp: _TALER_amount_cmp, _TALER_amount_get_zero: _TALER_amount_get_zero, _TALER_amount_hton: _TALER_amount_hton, _TALER_amount_normalize: _TALER_amount_normalize, _TALER_amount_ntoh: _TALER_amount_ntoh, _TALER_amount_subtract: _TALER_amount_subtract, _TALER_gcrypt_init: _TALER_gcrypt_init, _TALER_setup_fresh_coin: _TALER_setup_fresh_coin, ___divdi3: ___divdi3, ___emscripten_environ_constructor: ___emscripten_environ_constructor, ___errno_location: ___errno_location, ___muldi3: ___muldi3, ___udivdi3: ___udivdi3, ___uremdi3: ___uremdi3, __get_daylight: __get_daylight, __get_environ: __get_environ, __get_timezone: __get_timezone, __get_tzname: __get_tzname, _bitshift64Ashr: _bitshift64Ashr, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _free: _free, _gpg_err_init: _gpg_err_init, _i64Add: _i64Add, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, _llvm_cttz_i32: _llvm_cttz_i32, _malloc: _malloc, _memalign: _memalign, _memcpy: _memcpy, _memmove: _memmove, _memset: _memset, _pthread_mutex_lock: _pthread_mutex_lock, _pthread_mutex_unlock: _pthread_mutex_unlock, _sbrk: _sbrk, dynCall_ii: dynCall_ii, dynCall_iii: dynCall_iii, dynCall_iiii: dynCall_iiii, dynCall_iiiii: dynCall_iiiii, dynCall_v: dynCall_v, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_viii: dynCall_viii, dynCall_viiii: dynCall_viiii, dynCall_viiiii: dynCall_viiiii, dynCall_viiiiii: dynCall_viiiiii, establishStackSpace: establishStackSpace, getTempRet0: getTempRet0, runPostSets: runPostSets, setTempRet0: setTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackRestore: stackRestore, stackSave: stackSave };
})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg, Module.asmLibraryArg, buffer);
var real__GNUNET_CRYPTO_ecc_ecdh = asm["_GNUNET_CRYPTO_ecc_ecdh"]; asm["_GNUNET_CRYPTO_ecc_ecdh"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_ecc_ecdh.apply(null, arguments);
};
var real__GNUNET_CRYPTO_ecdh_eddsa = asm["_GNUNET_CRYPTO_ecdh_eddsa"]; asm["_GNUNET_CRYPTO_ecdh_eddsa"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_ecdh_eddsa.apply(null, arguments);
};
var real__GNUNET_CRYPTO_ecdhe_key_create = asm["_GNUNET_CRYPTO_ecdhe_key_create"]; asm["_GNUNET_CRYPTO_ecdhe_key_create"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_ecdhe_key_create.apply(null, arguments);
};
var real__GNUNET_CRYPTO_ecdhe_key_get_public = asm["_GNUNET_CRYPTO_ecdhe_key_get_public"]; asm["_GNUNET_CRYPTO_ecdhe_key_get_public"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_ecdhe_key_get_public.apply(null, arguments);
};
var real__GNUNET_CRYPTO_ecdsa_key_create = asm["_GNUNET_CRYPTO_ecdsa_key_create"]; asm["_GNUNET_CRYPTO_ecdsa_key_create"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_ecdsa_key_create.apply(null, arguments);
};
var real__GNUNET_CRYPTO_eddsa_key_create = asm["_GNUNET_CRYPTO_eddsa_key_create"]; asm["_GNUNET_CRYPTO_eddsa_key_create"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_eddsa_key_create.apply(null, arguments);
};
var real__GNUNET_CRYPTO_eddsa_key_get_public = asm["_GNUNET_CRYPTO_eddsa_key_get_public"]; asm["_GNUNET_CRYPTO_eddsa_key_get_public"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_eddsa_key_get_public.apply(null, arguments);
};
var real__GNUNET_CRYPTO_eddsa_sign = asm["_GNUNET_CRYPTO_eddsa_sign"]; asm["_GNUNET_CRYPTO_eddsa_sign"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_eddsa_sign.apply(null, arguments);
};
var real__GNUNET_CRYPTO_eddsa_verify = asm["_GNUNET_CRYPTO_eddsa_verify"]; asm["_GNUNET_CRYPTO_eddsa_verify"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_eddsa_verify.apply(null, arguments);
};
var real__GNUNET_CRYPTO_hash = asm["_GNUNET_CRYPTO_hash"]; asm["_GNUNET_CRYPTO_hash"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_hash.apply(null, arguments);
};
var real__GNUNET_CRYPTO_hash_context_abort = asm["_GNUNET_CRYPTO_hash_context_abort"]; asm["_GNUNET_CRYPTO_hash_context_abort"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_hash_context_abort.apply(null, arguments);
};
var real__GNUNET_CRYPTO_hash_context_finish = asm["_GNUNET_CRYPTO_hash_context_finish"]; asm["_GNUNET_CRYPTO_hash_context_finish"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_hash_context_finish.apply(null, arguments);
};
var real__GNUNET_CRYPTO_hash_context_read = asm["_GNUNET_CRYPTO_hash_context_read"]; asm["_GNUNET_CRYPTO_hash_context_read"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_hash_context_read.apply(null, arguments);
};
var real__GNUNET_CRYPTO_hash_context_start = asm["_GNUNET_CRYPTO_hash_context_start"]; asm["_GNUNET_CRYPTO_hash_context_start"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_hash_context_start.apply(null, arguments);
};
var real__GNUNET_CRYPTO_hash_create_random = asm["_GNUNET_CRYPTO_hash_create_random"]; asm["_GNUNET_CRYPTO_hash_create_random"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_hash_create_random.apply(null, arguments);
};
var real__GNUNET_CRYPTO_hkdf = asm["_GNUNET_CRYPTO_hkdf"]; asm["_GNUNET_CRYPTO_hkdf"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_hkdf.apply(null, arguments);
};
var real__GNUNET_CRYPTO_kdf = asm["_GNUNET_CRYPTO_kdf"]; asm["_GNUNET_CRYPTO_kdf"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_kdf.apply(null, arguments);
};
var real__GNUNET_CRYPTO_random_block = asm["_GNUNET_CRYPTO_random_block"]; asm["_GNUNET_CRYPTO_random_block"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_random_block.apply(null, arguments);
};
var real__GNUNET_CRYPTO_random_init = asm["_GNUNET_CRYPTO_random_init"]; asm["_GNUNET_CRYPTO_random_init"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_random_init.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_blind = asm["_GNUNET_CRYPTO_rsa_blind"]; asm["_GNUNET_CRYPTO_rsa_blind"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_blind.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_private_key_create = asm["_GNUNET_CRYPTO_rsa_private_key_create"]; asm["_GNUNET_CRYPTO_rsa_private_key_create"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_private_key_create.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_private_key_decode = asm["_GNUNET_CRYPTO_rsa_private_key_decode"]; asm["_GNUNET_CRYPTO_rsa_private_key_decode"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_private_key_decode.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_private_key_encode = asm["_GNUNET_CRYPTO_rsa_private_key_encode"]; asm["_GNUNET_CRYPTO_rsa_private_key_encode"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_private_key_encode.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_private_key_free = asm["_GNUNET_CRYPTO_rsa_private_key_free"]; asm["_GNUNET_CRYPTO_rsa_private_key_free"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_private_key_free.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_private_key_get_public = asm["_GNUNET_CRYPTO_rsa_private_key_get_public"]; asm["_GNUNET_CRYPTO_rsa_private_key_get_public"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_private_key_get_public.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_public_key_decode = asm["_GNUNET_CRYPTO_rsa_public_key_decode"]; asm["_GNUNET_CRYPTO_rsa_public_key_decode"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_public_key_decode.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_public_key_encode = asm["_GNUNET_CRYPTO_rsa_public_key_encode"]; asm["_GNUNET_CRYPTO_rsa_public_key_encode"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_public_key_encode.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_public_key_free = asm["_GNUNET_CRYPTO_rsa_public_key_free"]; asm["_GNUNET_CRYPTO_rsa_public_key_free"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_public_key_free.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_signature_decode = asm["_GNUNET_CRYPTO_rsa_signature_decode"]; asm["_GNUNET_CRYPTO_rsa_signature_decode"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_signature_decode.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_signature_encode = asm["_GNUNET_CRYPTO_rsa_signature_encode"]; asm["_GNUNET_CRYPTO_rsa_signature_encode"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_signature_encode.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_signature_free = asm["_GNUNET_CRYPTO_rsa_signature_free"]; asm["_GNUNET_CRYPTO_rsa_signature_free"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_signature_free.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_unblind = asm["_GNUNET_CRYPTO_rsa_unblind"]; asm["_GNUNET_CRYPTO_rsa_unblind"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_unblind.apply(null, arguments);
};
var real__GNUNET_CRYPTO_rsa_verify = asm["_GNUNET_CRYPTO_rsa_verify"]; asm["_GNUNET_CRYPTO_rsa_verify"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_rsa_verify.apply(null, arguments);
};
var real__GNUNET_CRYPTO_symmetric_decrypt = asm["_GNUNET_CRYPTO_symmetric_decrypt"]; asm["_GNUNET_CRYPTO_symmetric_decrypt"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_symmetric_decrypt.apply(null, arguments);
};
var real__GNUNET_CRYPTO_symmetric_encrypt = asm["_GNUNET_CRYPTO_symmetric_encrypt"]; asm["_GNUNET_CRYPTO_symmetric_encrypt"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_CRYPTO_symmetric_encrypt.apply(null, arguments);
};
var real__GNUNET_STRINGS_data_to_string_alloc = asm["_GNUNET_STRINGS_data_to_string_alloc"]; asm["_GNUNET_STRINGS_data_to_string_alloc"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_STRINGS_data_to_string_alloc.apply(null, arguments);
};
var real__GNUNET_STRINGS_string_to_data = asm["_GNUNET_STRINGS_string_to_data"]; asm["_GNUNET_STRINGS_string_to_data"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_STRINGS_string_to_data.apply(null, arguments);
};
var real__GNUNET_util_cl_init = asm["_GNUNET_util_cl_init"]; asm["_GNUNET_util_cl_init"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__GNUNET_util_cl_init.apply(null, arguments);
};
var real__TALER_WRALL_ecdhe_public_key_from_private = asm["_TALER_WRALL_ecdhe_public_key_from_private"]; asm["_TALER_WRALL_ecdhe_public_key_from_private"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_WRALL_ecdhe_public_key_from_private.apply(null, arguments);
};
var real__TALER_WRALL_ecdsa_public_key_from_private = asm["_TALER_WRALL_ecdsa_public_key_from_private"]; asm["_TALER_WRALL_ecdsa_public_key_from_private"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_WRALL_ecdsa_public_key_from_private.apply(null, arguments);
};
var real__TALER_WRALL_eddsa_public_key_from_private = asm["_TALER_WRALL_eddsa_public_key_from_private"]; asm["_TALER_WRALL_eddsa_public_key_from_private"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_WRALL_eddsa_public_key_from_private.apply(null, arguments);
};
var real__TALER_WRALL_get_amount = asm["_TALER_WRALL_get_amount"]; asm["_TALER_WRALL_get_amount"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_WRALL_get_amount.apply(null, arguments);
};
var real__TALER_WRALL_purpose_create = asm["_TALER_WRALL_purpose_create"]; asm["_TALER_WRALL_purpose_create"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_WRALL_purpose_create.apply(null, arguments);
};
var real__TALER_WR_get_currency = asm["_TALER_WR_get_currency"]; asm["_TALER_WR_get_currency"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_WR_get_currency.apply(null, arguments);
};
var real__TALER_WR_get_fraction = asm["_TALER_WR_get_fraction"]; asm["_TALER_WR_get_fraction"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_WR_get_fraction.apply(null, arguments);
};
var real__TALER_WR_get_value = asm["_TALER_WR_get_value"]; asm["_TALER_WR_get_value"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_WR_get_value.apply(null, arguments);
};
var real__TALER_amount_add = asm["_TALER_amount_add"]; asm["_TALER_amount_add"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_amount_add.apply(null, arguments);
};
var real__TALER_amount_cmp = asm["_TALER_amount_cmp"]; asm["_TALER_amount_cmp"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_amount_cmp.apply(null, arguments);
};
var real__TALER_amount_get_zero = asm["_TALER_amount_get_zero"]; asm["_TALER_amount_get_zero"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_amount_get_zero.apply(null, arguments);
};
var real__TALER_amount_hton = asm["_TALER_amount_hton"]; asm["_TALER_amount_hton"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_amount_hton.apply(null, arguments);
};
var real__TALER_amount_normalize = asm["_TALER_amount_normalize"]; asm["_TALER_amount_normalize"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_amount_normalize.apply(null, arguments);
};
var real__TALER_amount_ntoh = asm["_TALER_amount_ntoh"]; asm["_TALER_amount_ntoh"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_amount_ntoh.apply(null, arguments);
};
var real__TALER_amount_subtract = asm["_TALER_amount_subtract"]; asm["_TALER_amount_subtract"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_amount_subtract.apply(null, arguments);
};
var real__TALER_gcrypt_init = asm["_TALER_gcrypt_init"]; asm["_TALER_gcrypt_init"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_gcrypt_init.apply(null, arguments);
};
var real__TALER_setup_fresh_coin = asm["_TALER_setup_fresh_coin"]; asm["_TALER_setup_fresh_coin"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__TALER_setup_fresh_coin.apply(null, arguments);
};
var real____divdi3 = asm["___divdi3"]; asm["___divdi3"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real____divdi3.apply(null, arguments);
};
var real____emscripten_environ_constructor = asm["___emscripten_environ_constructor"]; asm["___emscripten_environ_constructor"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real____emscripten_environ_constructor.apply(null, arguments);
};
var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real____errno_location.apply(null, arguments);
};
var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real____muldi3.apply(null, arguments);
};
var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real____udivdi3.apply(null, arguments);
};
var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real____uremdi3.apply(null, arguments);
};
var real___get_daylight = asm["__get_daylight"]; asm["__get_daylight"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real___get_daylight.apply(null, arguments);
};
var real___get_environ = asm["__get_environ"]; asm["__get_environ"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real___get_environ.apply(null, arguments);
};
var real___get_timezone = asm["__get_timezone"]; asm["__get_timezone"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real___get_timezone.apply(null, arguments);
};
var real___get_tzname = asm["__get_tzname"]; asm["__get_tzname"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real___get_tzname.apply(null, arguments);
};
var real__bitshift64Ashr = asm["_bitshift64Ashr"]; asm["_bitshift64Ashr"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__bitshift64Ashr.apply(null, arguments);
};
var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__bitshift64Lshr.apply(null, arguments);
};
var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__bitshift64Shl.apply(null, arguments);
};
var real__fflush = asm["_fflush"]; asm["_fflush"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__fflush.apply(null, arguments);
};
var real__free = asm["_free"]; asm["_free"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__free.apply(null, arguments);
};
var real__gpg_err_init = asm["_gpg_err_init"]; asm["_gpg_err_init"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__gpg_err_init.apply(null, arguments);
};
var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__i64Add.apply(null, arguments);
};
var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__i64Subtract.apply(null, arguments);
};
var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__llvm_bswap_i32.apply(null, arguments);
};
var real__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_i32"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__llvm_cttz_i32.apply(null, arguments);
};
var real__malloc = asm["_malloc"]; asm["_malloc"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__malloc.apply(null, arguments);
};
var real__memalign = asm["_memalign"]; asm["_memalign"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__memalign.apply(null, arguments);
};
var real__memmove = asm["_memmove"]; asm["_memmove"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__memmove.apply(null, arguments);
};
var real__pthread_mutex_lock = asm["_pthread_mutex_lock"]; asm["_pthread_mutex_lock"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__pthread_mutex_lock.apply(null, arguments);
};
var real__pthread_mutex_unlock = asm["_pthread_mutex_unlock"]; asm["_pthread_mutex_unlock"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__pthread_mutex_unlock.apply(null, arguments);
};
var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__sbrk.apply(null, arguments);
};
var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real_establishStackSpace.apply(null, arguments);
};
var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real_getTempRet0.apply(null, arguments);
};
var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real_setTempRet0.apply(null, arguments);
};
var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real_setThrew.apply(null, arguments);
};
var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real_stackAlloc.apply(null, arguments);
};
var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real_stackRestore.apply(null, arguments);
};
var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real_stackSave.apply(null, arguments);
};
var _GNUNET_CRYPTO_ecc_ecdh = Module["_GNUNET_CRYPTO_ecc_ecdh"] = asm["_GNUNET_CRYPTO_ecc_ecdh"];
var _GNUNET_CRYPTO_ecdh_eddsa = Module["_GNUNET_CRYPTO_ecdh_eddsa"] = asm["_GNUNET_CRYPTO_ecdh_eddsa"];
var _GNUNET_CRYPTO_ecdhe_key_create = Module["_GNUNET_CRYPTO_ecdhe_key_create"] = asm["_GNUNET_CRYPTO_ecdhe_key_create"];
var _GNUNET_CRYPTO_ecdhe_key_get_public = Module["_GNUNET_CRYPTO_ecdhe_key_get_public"] = asm["_GNUNET_CRYPTO_ecdhe_key_get_public"];
var _GNUNET_CRYPTO_ecdsa_key_create = Module["_GNUNET_CRYPTO_ecdsa_key_create"] = asm["_GNUNET_CRYPTO_ecdsa_key_create"];
var _GNUNET_CRYPTO_eddsa_key_create = Module["_GNUNET_CRYPTO_eddsa_key_create"] = asm["_GNUNET_CRYPTO_eddsa_key_create"];
var _GNUNET_CRYPTO_eddsa_key_get_public = Module["_GNUNET_CRYPTO_eddsa_key_get_public"] = asm["_GNUNET_CRYPTO_eddsa_key_get_public"];
var _GNUNET_CRYPTO_eddsa_sign = Module["_GNUNET_CRYPTO_eddsa_sign"] = asm["_GNUNET_CRYPTO_eddsa_sign"];
var _GNUNET_CRYPTO_eddsa_verify = Module["_GNUNET_CRYPTO_eddsa_verify"] = asm["_GNUNET_CRYPTO_eddsa_verify"];
var _GNUNET_CRYPTO_hash = Module["_GNUNET_CRYPTO_hash"] = asm["_GNUNET_CRYPTO_hash"];
var _GNUNET_CRYPTO_hash_context_abort = Module["_GNUNET_CRYPTO_hash_context_abort"] = asm["_GNUNET_CRYPTO_hash_context_abort"];
var _GNUNET_CRYPTO_hash_context_finish = Module["_GNUNET_CRYPTO_hash_context_finish"] = asm["_GNUNET_CRYPTO_hash_context_finish"];
var _GNUNET_CRYPTO_hash_context_read = Module["_GNUNET_CRYPTO_hash_context_read"] = asm["_GNUNET_CRYPTO_hash_context_read"];
var _GNUNET_CRYPTO_hash_context_start = Module["_GNUNET_CRYPTO_hash_context_start"] = asm["_GNUNET_CRYPTO_hash_context_start"];
var _GNUNET_CRYPTO_hash_create_random = Module["_GNUNET_CRYPTO_hash_create_random"] = asm["_GNUNET_CRYPTO_hash_create_random"];
var _GNUNET_CRYPTO_hkdf = Module["_GNUNET_CRYPTO_hkdf"] = asm["_GNUNET_CRYPTO_hkdf"];
var _GNUNET_CRYPTO_kdf = Module["_GNUNET_CRYPTO_kdf"] = asm["_GNUNET_CRYPTO_kdf"];
var _GNUNET_CRYPTO_random_block = Module["_GNUNET_CRYPTO_random_block"] = asm["_GNUNET_CRYPTO_random_block"];
var _GNUNET_CRYPTO_random_init = Module["_GNUNET_CRYPTO_random_init"] = asm["_GNUNET_CRYPTO_random_init"];
var _GNUNET_CRYPTO_rsa_blind = Module["_GNUNET_CRYPTO_rsa_blind"] = asm["_GNUNET_CRYPTO_rsa_blind"];
var _GNUNET_CRYPTO_rsa_private_key_create = Module["_GNUNET_CRYPTO_rsa_private_key_create"] = asm["_GNUNET_CRYPTO_rsa_private_key_create"];
var _GNUNET_CRYPTO_rsa_private_key_decode = Module["_GNUNET_CRYPTO_rsa_private_key_decode"] = asm["_GNUNET_CRYPTO_rsa_private_key_decode"];
var _GNUNET_CRYPTO_rsa_private_key_encode = Module["_GNUNET_CRYPTO_rsa_private_key_encode"] = asm["_GNUNET_CRYPTO_rsa_private_key_encode"];
var _GNUNET_CRYPTO_rsa_private_key_free = Module["_GNUNET_CRYPTO_rsa_private_key_free"] = asm["_GNUNET_CRYPTO_rsa_private_key_free"];
var _GNUNET_CRYPTO_rsa_private_key_get_public = Module["_GNUNET_CRYPTO_rsa_private_key_get_public"] = asm["_GNUNET_CRYPTO_rsa_private_key_get_public"];
var _GNUNET_CRYPTO_rsa_public_key_decode = Module["_GNUNET_CRYPTO_rsa_public_key_decode"] = asm["_GNUNET_CRYPTO_rsa_public_key_decode"];
var _GNUNET_CRYPTO_rsa_public_key_encode = Module["_GNUNET_CRYPTO_rsa_public_key_encode"] = asm["_GNUNET_CRYPTO_rsa_public_key_encode"];
var _GNUNET_CRYPTO_rsa_public_key_free = Module["_GNUNET_CRYPTO_rsa_public_key_free"] = asm["_GNUNET_CRYPTO_rsa_public_key_free"];
var _GNUNET_CRYPTO_rsa_signature_decode = Module["_GNUNET_CRYPTO_rsa_signature_decode"] = asm["_GNUNET_CRYPTO_rsa_signature_decode"];
var _GNUNET_CRYPTO_rsa_signature_encode = Module["_GNUNET_CRYPTO_rsa_signature_encode"] = asm["_GNUNET_CRYPTO_rsa_signature_encode"];
var _GNUNET_CRYPTO_rsa_signature_free = Module["_GNUNET_CRYPTO_rsa_signature_free"] = asm["_GNUNET_CRYPTO_rsa_signature_free"];
var _GNUNET_CRYPTO_rsa_unblind = Module["_GNUNET_CRYPTO_rsa_unblind"] = asm["_GNUNET_CRYPTO_rsa_unblind"];
var _GNUNET_CRYPTO_rsa_verify = Module["_GNUNET_CRYPTO_rsa_verify"] = asm["_GNUNET_CRYPTO_rsa_verify"];
var _GNUNET_CRYPTO_symmetric_decrypt = Module["_GNUNET_CRYPTO_symmetric_decrypt"] = asm["_GNUNET_CRYPTO_symmetric_decrypt"];
var _GNUNET_CRYPTO_symmetric_encrypt = Module["_GNUNET_CRYPTO_symmetric_encrypt"] = asm["_GNUNET_CRYPTO_symmetric_encrypt"];
var _GNUNET_STRINGS_data_to_string_alloc = Module["_GNUNET_STRINGS_data_to_string_alloc"] = asm["_GNUNET_STRINGS_data_to_string_alloc"];
var _GNUNET_STRINGS_string_to_data = Module["_GNUNET_STRINGS_string_to_data"] = asm["_GNUNET_STRINGS_string_to_data"];
var _GNUNET_util_cl_init = Module["_GNUNET_util_cl_init"] = asm["_GNUNET_util_cl_init"];
var _TALER_WRALL_ecdhe_public_key_from_private = Module["_TALER_WRALL_ecdhe_public_key_from_private"] = asm["_TALER_WRALL_ecdhe_public_key_from_private"];
var _TALER_WRALL_ecdsa_public_key_from_private = Module["_TALER_WRALL_ecdsa_public_key_from_private"] = asm["_TALER_WRALL_ecdsa_public_key_from_private"];
var _TALER_WRALL_eddsa_public_key_from_private = Module["_TALER_WRALL_eddsa_public_key_from_private"] = asm["_TALER_WRALL_eddsa_public_key_from_private"];
var _TALER_WRALL_get_amount = Module["_TALER_WRALL_get_amount"] = asm["_TALER_WRALL_get_amount"];
var _TALER_WRALL_purpose_create = Module["_TALER_WRALL_purpose_create"] = asm["_TALER_WRALL_purpose_create"];
var _TALER_WR_get_currency = Module["_TALER_WR_get_currency"] = asm["_TALER_WR_get_currency"];
var _TALER_WR_get_fraction = Module["_TALER_WR_get_fraction"] = asm["_TALER_WR_get_fraction"];
var _TALER_WR_get_value = Module["_TALER_WR_get_value"] = asm["_TALER_WR_get_value"];
var _TALER_amount_add = Module["_TALER_amount_add"] = asm["_TALER_amount_add"];
var _TALER_amount_cmp = Module["_TALER_amount_cmp"] = asm["_TALER_amount_cmp"];
var _TALER_amount_get_zero = Module["_TALER_amount_get_zero"] = asm["_TALER_amount_get_zero"];
var _TALER_amount_hton = Module["_TALER_amount_hton"] = asm["_TALER_amount_hton"];
var _TALER_amount_normalize = Module["_TALER_amount_normalize"] = asm["_TALER_amount_normalize"];
var _TALER_amount_ntoh = Module["_TALER_amount_ntoh"] = asm["_TALER_amount_ntoh"];
var _TALER_amount_subtract = Module["_TALER_amount_subtract"] = asm["_TALER_amount_subtract"];
var _TALER_gcrypt_init = Module["_TALER_gcrypt_init"] = asm["_TALER_gcrypt_init"];
var _TALER_setup_fresh_coin = Module["_TALER_setup_fresh_coin"] = asm["_TALER_setup_fresh_coin"];
var ___divdi3 = Module["___divdi3"] = asm["___divdi3"];
var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = asm["___emscripten_environ_constructor"];
var ___errno_location = Module["___errno_location"] = asm["___errno_location"];
var ___muldi3 = Module["___muldi3"] = asm["___muldi3"];
var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"];
var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"];
var __get_daylight = Module["__get_daylight"] = asm["__get_daylight"];
var __get_environ = Module["__get_environ"] = asm["__get_environ"];
var __get_timezone = Module["__get_timezone"] = asm["__get_timezone"];
var __get_tzname = Module["__get_tzname"] = asm["__get_tzname"];
var _bitshift64Ashr = Module["_bitshift64Ashr"] = asm["_bitshift64Ashr"];
var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
var _fflush = Module["_fflush"] = asm["_fflush"];
var _free = Module["_free"] = asm["_free"];
var _gpg_err_init = Module["_gpg_err_init"] = asm["_gpg_err_init"];
var _i64Add = Module["_i64Add"] = asm["_i64Add"];
var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];
var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"];
var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"];
var _malloc = Module["_malloc"] = asm["_malloc"];
var _memalign = Module["_memalign"] = asm["_memalign"];
var _memcpy = Module["_memcpy"] = asm["_memcpy"];
var _memmove = Module["_memmove"] = asm["_memmove"];
var _memset = Module["_memset"] = asm["_memset"];
var _pthread_mutex_lock = Module["_pthread_mutex_lock"] = asm["_pthread_mutex_lock"];
var _pthread_mutex_unlock = Module["_pthread_mutex_unlock"] = asm["_pthread_mutex_unlock"];
var _sbrk = Module["_sbrk"] = asm["_sbrk"];
var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"];
var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"];
var runPostSets = Module["runPostSets"] = asm["runPostSets"];
var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"];
var setThrew = Module["setThrew"] = asm["setThrew"];
var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"];
var stackRestore = Module["stackRestore"] = asm["stackRestore"];
var stackSave = Module["stackSave"] = asm["stackSave"];
var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];
var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"];
var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"];
var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"];
var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];
var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"];
var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"];
var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"];
var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"];
var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"];
;
// === Auto-generated postamble setup entry stuff ===
Module['asm'] = asm;
if (!Module["intArrayFromString"]) Module["intArrayFromString"] = function() { abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["intArrayToString"]) Module["intArrayToString"] = function() { abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
Module["ccall"] = ccall;
Module["cwrap"] = cwrap;
Module["setValue"] = setValue;
Module["getValue"] = getValue;
if (!Module["allocate"]) Module["allocate"] = function() { abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["getMemory"]) Module["getMemory"] = function() { abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
Module["Pointer_stringify"] = Pointer_stringify;
if (!Module["AsciiToString"]) Module["AsciiToString"] = function() { abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["stringToAscii"]) Module["stringToAscii"] = function() { abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["UTF8ArrayToString"]) Module["UTF8ArrayToString"] = function() { abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["UTF8ToString"]) Module["UTF8ToString"] = function() { abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["stringToUTF8Array"]) Module["stringToUTF8Array"] = function() { abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
Module["stringToUTF8"] = stringToUTF8;
if (!Module["lengthBytesUTF8"]) Module["lengthBytesUTF8"] = function() { abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["UTF16ToString"]) Module["UTF16ToString"] = function() { abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["stringToUTF16"]) Module["stringToUTF16"] = function() { abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["lengthBytesUTF16"]) Module["lengthBytesUTF16"] = function() { abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["UTF32ToString"]) Module["UTF32ToString"] = function() { abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["stringToUTF32"]) Module["stringToUTF32"] = function() { abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["lengthBytesUTF32"]) Module["lengthBytesUTF32"] = function() { abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["allocateUTF8"]) Module["allocateUTF8"] = function() { abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["stackTrace"]) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["addOnPreRun"]) Module["addOnPreRun"] = function() { abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["addOnInit"]) Module["addOnInit"] = function() { abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["addOnPreMain"]) Module["addOnPreMain"] = function() { abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["addOnExit"]) Module["addOnExit"] = function() { abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["addOnPostRun"]) Module["addOnPostRun"] = function() { abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["writeStringToMemory"]) Module["writeStringToMemory"] = function() { abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["writeArrayToMemory"]) Module["writeArrayToMemory"] = function() { abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["writeAsciiToMemory"]) Module["writeAsciiToMemory"] = function() { abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["addRunDependency"]) Module["addRunDependency"] = function() { abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
if (!Module["removeRunDependency"]) Module["removeRunDependency"] = function() { abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
if (!Module["ENV"]) Module["ENV"] = function() { abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["FS"]) Module["FS"] = function() { abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["FS_createFolder"]) Module["FS_createFolder"] = function() { abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
if (!Module["FS_createPath"]) Module["FS_createPath"] = function() { abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
if (!Module["FS_createDataFile"]) Module["FS_createDataFile"] = function() { abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
if (!Module["FS_createPreloadedFile"]) Module["FS_createPreloadedFile"] = function() { abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
if (!Module["FS_createLazyFile"]) Module["FS_createLazyFile"] = function() { abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
if (!Module["FS_createLink"]) Module["FS_createLink"] = function() { abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
if (!Module["FS_createDevice"]) Module["FS_createDevice"] = function() { abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
if (!Module["FS_unlink"]) Module["FS_unlink"] = function() { abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") };
if (!Module["GL"]) Module["GL"] = function() { abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["staticAlloc"]) Module["staticAlloc"] = function() { abort("'staticAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["dynamicAlloc"]) Module["dynamicAlloc"] = function() { abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["warnOnce"]) Module["warnOnce"] = function() { abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["loadDynamicLibrary"]) Module["loadDynamicLibrary"] = function() { abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["loadWebAssemblyModule"]) Module["loadWebAssemblyModule"] = function() { abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["getLEB"]) Module["getLEB"] = function() { abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["getFunctionTables"]) Module["getFunctionTables"] = function() { abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["alignFunctionTables"]) Module["alignFunctionTables"] = function() { abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["registerFunctions"]) Module["registerFunctions"] = function() { abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["addFunction"]) Module["addFunction"] = function() { abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["removeFunction"]) Module["removeFunction"] = function() { abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["getFuncWrapper"]) Module["getFuncWrapper"] = function() { abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["prettyPrint"]) Module["prettyPrint"] = function() { abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["makeBigInt"]) Module["makeBigInt"] = function() { abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["dynCall"]) Module["dynCall"] = function() { abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["getCompilerSetting"]) Module["getCompilerSetting"] = function() { abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["stackSave"]) Module["stackSave"] = function() { abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["stackRestore"]) Module["stackRestore"] = function() { abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["stackAlloc"]) Module["stackAlloc"] = function() { abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["establishStackSpace"]) Module["establishStackSpace"] = function() { abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["print"]) Module["print"] = function() { abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["printErr"]) Module["printErr"] = function() { abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["intArrayFromBase64"]) Module["intArrayFromBase64"] = function() { abort("'intArrayFromBase64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
if (!Module["tryParseAsDataURI"]) Module["tryParseAsDataURI"] = function() { abort("'tryParseAsDataURI' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };if (!Module["ALLOC_NORMAL"]) Object.defineProperty(Module, "ALLOC_NORMAL", { get: function() { abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
if (!Module["ALLOC_STACK"]) Object.defineProperty(Module, "ALLOC_STACK", { get: function() { abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
if (!Module["ALLOC_STATIC"]) Object.defineProperty(Module, "ALLOC_STATIC", { get: function() { abort("'ALLOC_STATIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
if (!Module["ALLOC_DYNAMIC"]) Object.defineProperty(Module, "ALLOC_DYNAMIC", { get: function() { abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
if (!Module["ALLOC_NONE"]) Object.defineProperty(Module, "ALLOC_NONE", { get: function() { abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
if (memoryInitializer) {
if (!isDataURI(memoryInitializer)) {
memoryInitializer = locateFile(memoryInitializer);
}
if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
var data = Module['readBinary'](memoryInitializer);
HEAPU8.set(data, GLOBAL_BASE);
} else {
addRunDependency('memory initializer');
var applyMemoryInitializer = function(data) {
if (data.byteLength) data = new Uint8Array(data);
for (var i = 0; i < data.length; i++) {
assert(HEAPU8[GLOBAL_BASE + i] === 0, "area for memory initializer should not have been touched before it's loaded");
}
HEAPU8.set(data, GLOBAL_BASE);
// Delete the typed array that contains the large blob of the memory initializer request response so that
// we won't keep unnecessary memory lying around. However, keep the XHR object itself alive so that e.g.
// its .status field can still be accessed later.
if (Module['memoryInitializerRequest']) delete Module['memoryInitializerRequest'].response;
removeRunDependency('memory initializer');
}
function doBrowserLoad() {
Module['readAsync'](memoryInitializer, applyMemoryInitializer, function() {
throw 'could not load memory initializer ' + memoryInitializer;
});
}
var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer);
if (memoryInitializerBytes) {
applyMemoryInitializer(memoryInitializerBytes.buffer);
} else
if (Module['memoryInitializerRequest']) {
// a network request has already been created, just use that
function useRequest() {
var request = Module['memoryInitializerRequest'];
var response = request.response;
if (request.status !== 200 && request.status !== 0) {
var data = tryParseAsDataURI(Module['memoryInitializerRequestURL']);
if (data) {
response = data.buffer;
} else {
// If you see this warning, the issue may be that you are using locateFile and defining it in JS. That
// means that the HTML file doesn't know about it, and when it tries to create the mem init request early, does it to the wrong place.
// Look in your browser's devtools network console to see what's going on.
console.warn('a problem seems to have happened with Module.memoryInitializerRequest, status: ' + request.status + ', retrying ' + memoryInitializer);
doBrowserLoad();
return;
}
}
applyMemoryInitializer(response);
}
if (Module['memoryInitializerRequest'].response) {
setTimeout(useRequest, 0); // it's already here; but, apply it asynchronously
} else {
Module['memoryInitializerRequest'].addEventListener('load', useRequest); // wait for it
}
} else {
// fetch it from the network ourselves
doBrowserLoad();
}
}
}
/**
* @constructor
* @extends {Error}
* @this {ExitStatus}
*/
function ExitStatus(status) {
this.name = "ExitStatus";
this.message = "Program terminated with exit(" + status + ")";
this.status = status;
};
ExitStatus.prototype = new Error();
ExitStatus.prototype.constructor = ExitStatus;
var initialStackTop;
var calledMain = false;
dependenciesFulfilled = function runCaller() {
// If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
if (!Module['calledRun']) run();
if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
}
/** @type {function(Array=)} */
function run(args) {
args = args || Module['arguments'];
if (runDependencies > 0) {
return;
}
writeStackCookie();
preRun();
if (runDependencies > 0) return; // a preRun added a dependency, run will be called later
if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame
function doRun() {
if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening
Module['calledRun'] = true;
if (ABORT) return;
ensureInitRuntime();
preMain();
if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']();
assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');
postRun();
}
if (Module['setStatus']) {
Module['setStatus']('Running...');
setTimeout(function() {
setTimeout(function() {
Module['setStatus']('');
}, 1);
doRun();
}, 1);
} else {
doRun();
}
checkStackCookie();
}
Module['run'] = run;
function checkUnflushedContent() {
// Compiler settings do not allow exiting the runtime, so flushing
// the streams is not possible. but in ASSERTIONS mode we check
// if there was something to flush, and if so tell the user they
// should request that the runtime be exitable.
// Normally we would not even include flush() at all, but in ASSERTIONS
// builds we do so just for this check, and here we see if there is any
// content to flush, that is, we check if there would have been
// something a non-ASSERTIONS build would have not seen.
// How we flush the streams depends on whether we are in NO_FILESYSTEM
// mode (which has its own special function for this; otherwise, all
// the code is inside libc)
var print = out;
var printErr = err;
var has = false;
out = err = function(x) {
has = true;
}
try { // it doesn't matter if it fails
var flush = Module['_fflush'];
if (flush) flush(0);
// also flush in the JS FS layer
var hasFS = true;
if (hasFS) {
['stdout', 'stderr'].forEach(function(name) {
var info = FS.analyzePath('/dev/' + name);
if (!info) return;
var stream = info.object;
var rdev = stream.rdev;
var tty = TTY.ttys[rdev];
if (tty && tty.output && tty.output.length) {
has = true;
}
});
}
} catch(e) {}
out = print;
err = printErr;
if (has) {
warnOnce('stdio streams had content in them that was not flushed. you should set NO_EXIT_RUNTIME to 0 (see the FAQ), or make sure to emit a newline when you printf etc.');
}
}
function exit(status, implicit) {
checkUnflushedContent();
// if this is just main exit-ing implicitly, and the status is 0, then we
// don't need to do anything here and can just leave. if the status is
// non-zero, though, then we need to report it.
// (we may have warned about this earlier, if a situation justifies doing so)
if (implicit && Module['noExitRuntime'] && status === 0) {
return;
}
if (Module['noExitRuntime']) {
// if exit() was called, we may warn the user if the runtime isn't actually being shut down
if (!implicit) {
err('exit(' + status + ') called, but NO_EXIT_RUNTIME is set, so halting execution but not exiting the runtime or preventing further async execution (build with NO_EXIT_RUNTIME=0, if you want a true shutdown)');
}
} else {
ABORT = true;
EXITSTATUS = status;
STACKTOP = initialStackTop;
exitRuntime();
if (Module['onExit']) Module['onExit'](status);
}
Module['quit'](status, new ExitStatus(status));
}
var abortDecorators = [];
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;
var extra = '';
var output = 'abort(' + what + ') at ' + stackTrace() + extra;
if (abortDecorators) {
abortDecorators.forEach(function(decorator) {
output = decorator(output, what);
});
}
throw output;
}
Module['abort'] = abort;
if (Module['preInit']) {
if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
while (Module['preInit'].length > 0) {
Module['preInit'].pop()();
}
}
Module["noExitRuntime"] = true;
run();
// {{MODULE_ADDITIONS}}