try { this['Module'] = Module; } catch(e) { this['Module'] = Module = {}; } // The environment setup code below is customized to use Module. // *** Environment setup code *** var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function'; var ENVIRONMENT_IS_WEB = typeof window === 'object'; var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; if (ENVIRONMENT_IS_NODE) { // Expose functionality in the same simple way that the shells work // Note that we pollute the global namespace here, otherwise we break in node Module['print'] = function(x) { process['stdout'].write(x + '\n'); }; Module['printErr'] = function(x) { process['stderr'].write(x + '\n'); }; var nodeFS = require('fs'); var nodePath = require('path'); Module['read'] = function(filename) { filename = nodePath['normalize'](filename); var ret = nodeFS['readFileSync'](filename).toString(); // The path is absolute if the normalized version is the same as the resolved. if (!ret && filename != nodePath['resolve'](filename)) { filename = path.join(__dirname, '..', 'src', filename); ret = nodeFS['readFileSync'](filename).toString(); } return ret; }; Module['load'] = function(f) { globalEval(read(f)); }; if (!Module['arguments']) { Module['arguments'] = process['argv'].slice(2); } } if (ENVIRONMENT_IS_SHELL) { Module['print'] = print; if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm // Polyfill over SpiderMonkey/V8 differences if (typeof read != 'undefined') { Module['read'] = read; } else { Module['read'] = function(f) { snarf(f) }; } if (!Module['arguments']) { if (typeof scriptArgs != 'undefined') { Module['arguments'] = scriptArgs; } else if (typeof arguments != 'undefined') { Module['arguments'] = arguments; } } } if (ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER) { if (!Module['print']) { Module['print'] = function(x) { console.log(x); }; } if (!Module['printErr']) { Module['printErr'] = function(x) { console.log(x); }; } } if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { Module['read'] = function(url) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, false); xhr.send(null); return xhr.responseText; }; if (!Module['arguments']) { if (typeof arguments != 'undefined') { Module['arguments'] = arguments; } } } if (ENVIRONMENT_IS_WORKER) { // We can do very little here... var TRY_USE_DUMP = false; if (!Module['print']) { Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { dump(x); }) : (function(x) { // self.postMessage(x); // enable this if you want stdout to be sent as messages })); } Module['load'] = importScripts; } if (!ENVIRONMENT_IS_WORKER && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_SHELL) { // Unreachable because SHELL is dependant on the others throw 'Unknown runtime environment. Where are we?'; } function globalEval(x) { eval.call(null, x); } if (!Module['load'] == 'undefined' && Module['read']) { Module['load'] = function(f) { globalEval(Module['read'](f)); }; } if (!Module['print']) { Module['print'] = function(){}; } if (!Module['printErr']) { Module['printErr'] = Module['print']; } if (!Module['arguments']) { Module['arguments'] = []; } // *** Environment setup code *** // Closure helpers Module.print = Module['print']; Module.printErr = Module['printErr']; // Callbacks if (!Module['preRun']) Module['preRun'] = []; if (!Module['postRun']) Module['postRun'] = []; {{BODY}} // {{MODULE_ADDITIONS}}